je dois réalisé un envoi d'un tweet avec la bibliothèque twitter.lib avec le simplepost ,
le programme par défaut envoi sur twitter juste "Bonjour tous le monde , je suis arduino".
je dois aussi envoyé l'heur donc j'utilise le programme UdpNTPClient.
le problème c'est que je n'arrive pas a mettre les variable de l'heur avec la variable de smg dans une seul variable avec qui sera déclarer dans twitter.post.
Voici ce que j'ai réalisé pour l'instant l'assemblement des 2 programme.
attention!!! j'ai pue constaté que la fonction twitter.post n'acceptai pas les variable de type String.
code:
Pouvez-vous m'aidé à réalisé cette variable si c'est bien sa qu'il faut faire.
le programme par défaut envoi sur twitter juste "Bonjour tous le monde , je suis arduino".
je dois aussi envoyé l'heur donc j'utilise le programme UdpNTPClient.
le problème c'est que je n'arrive pas a mettre les variable de l'heur avec la variable de smg dans une seul variable avec qui sera déclarer dans twitter.post.
Voici ce que j'ai réalisé pour l'instant l'assemblement des 2 programme.
attention!!! j'ai pue constaté que la fonction twitter.post n'acceptai pas les variable de type String.
code:
- Code:
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <Twitter.h>
#define Y 1
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
unsigned int localPort = 8888; // local port to listen for UDP packets
IPAddress timeServer(132, 163, 4, 101);
const int NTP_PACKET_SIZE= 48;
byte packetBuffer[ NTP_PACKET_SIZE];
EthernetUDP Udp;
byte ip[] = { 192, 168, 2, 250 };
Twitter twitter("YOUR-TOKEN-HERE");
char msg[] = "bonjour tous le monde!";
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
;
}
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
for(;;)
;
}
Udp.begin(localPort);
delay(1000);
Ethernet.begin(mac, ip);
Serial.begin(9600);
Serial.println("connecting ...");
if (twitter.post(msg)) {
int status = twitter.wait(&Serial);
if (status == 200) {
Serial.println("OK.");
} else {
Serial.print("failed : code ");
Serial.println(status);
}
} else {
Serial.println("connection failed.");
}
}
void loop()
{
sendNTPpacket(timeServer);
delay(1000);
if ( Udp.parsePacket() ) {
Udp.read(packetBuffer,NTP_PACKET_SIZE);
unsigned long highWord = word(packetBuffer[40], packetBuffer[41]);
unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]);
unsigned long secsSince1900 = highWord << 16 | lowWord;
Serial.print("Seconds since Jan 1 1900 = " );
Serial.println(secsSince1900);
Serial.print("Unix time = ");
const unsigned long seventyYears = 2208988800UL;
unsigned long epoch = secsSince1900 - seventyYears;
Serial.println(epoch);
epoch = (Y * 3600);
Serial.print("The UTC time is ");
Serial.print((epoch % 86400L) / 3600);
Serial.print(':');
if ( ((epoch % 3600) / 60) < 10 ) {
Serial.print('0');
}
Serial.print((epoch % 3600) / 60);
Serial.print(':');
if ( (epoch % 60) < 10 ) {
Serial.print('0');
}
Serial.println(epoch %60); // print the second
}
// wait ten seconds before asking for the time again
delay(10000);
}
unsigned long sendNTPpacket(IPAddress& address)
{
memset(packetBuffer, 0, NTP_PACKET_SIZE);
packetBuffer[0] = 0b11100011; // LI, Version, Mode
packetBuffer[1] = 0; // Stratum, or type of clock
packetBuffer[2] = 6; // Polling Interval
packetBuffer[3] = 0xEC; // Peer Clock Precision
packetBuffer[12] = 49;
packetBuffer[13] = 0x4E;
packetBuffer[14] = 49;
packetBuffer[15] = 52;
Udp.beginPacket(address, 123); //NTP requests are to port 123
Udp.write(packetBuffer,NTP_PACKET_SIZE);
Udp.endPacket();
}
Pouvez-vous m'aidé à réalisé cette variable si c'est bien sa qu'il faut faire.
Dernière édition par Tazoun le Jeu 26 Fév - 19:58, édité 1 fois