Synchro RTC + ESP8266

Bonjour à tous

Je débute dans le monde d' arduino et en programmation.

J'ai fait pas mal de recherches et j'ai un peu de mal à synchroniser la Real Time Clock (DS1307) avec l'ESP8266.

L'idée est de récupérer l'heure depuis internet (avec un serveur ntp français par exemple) et de l'inscrire comme base de la RTC une fois par jour.

J'ai vu certains tutoriel mais rien de très adapté jusque là...

Pour la partie récupération du temps via NTP.

Intéressants mais utilisent un shield ethernet et non pas l'esp8266.

Très proche mais n'utilise pas la RTC DS1307 mais DS1302 qui n'utilise pas le protocole I2C. De plus le code intègre un écran LCD.

Je pense que ce dernier pourrait être pas mal en adaptant pour la DS1302 en enlevant les lignes relatives aux LCD et en rajoutant l'initialisation et connexion auto de l'esp8266 à mon réseau.

Le montage : l'ESP8266 et la RTC sont reliés au arduino

Merci pour vos idées afin que je puisse réaliser mon propre code.

Bien à vous,

Louison

Up !

Quelqu'un pour m'aider ?

Merci :slight_smile:

si j’ai un peu de temps je regarderai - à mon avis en partant de cela vous devriez y arriver en traduisant en commandes AT pour faire la liaison UDP ou en utilisant une libraire ESP

la trame à envoyer

memset(packetBuffer, 0, NTP_PACKET_SIZE);
packetBuffer[0] = 0b11100011;
packetBuffer[1] = 0;
packetBuffer[2] = 6;
packetBuffer[3] = 0xEC;
packetBuffer[12]  = 49;
packetBuffer[13]  = 0x4E;
packetBuffer[14]  = 49;
packetBuffer[15]  = 52;                 
Udp.beginPacket(address, 123);
Udp.write(packetBuffer,NTP_PACKET_SIZE);
Udp.endPacket();

le décodage de la réponse UDP

 Udp.read(packetBuffer,NTP_PACKET_SIZE);  // read the packet into the buffer
unsigned long highWord, lowWord, epoch;
highWord = word(packetBuffer[40], packetBuffer[41]);
lowWord = word(packetBuffer[42], packetBuffer[43]); 
epoch = highWord << 16 | lowWord;
epoch = epoch - 2208988800 + timeZoneOffset;
flag=1;
setTime(epoch);

(cf aussi ce lien)

Bonsoir Louison,

voir ce j'ai fait (sans être un spécialiste)

http://www.microfer.fr/geryko/telechargements_publics/Arduino_RTC_PCF8563_Tuto.zip

ligne 259 ou 265 : // fonction lire date et heure sur un site internet sur ntp.alapetite.fr
Pour PCF 8563 et Auduino.

Cela pourra peut-être t'aider un peu ?

Merci pour votre aide. Finalement je vais d'abord finir de programmer ma wordclock avant de me lancer sur l'esp :slight_smile: