Etape 7: Fixer la date et économisant temps et sournois
L’Arduino peut garder une trace de temps, mais il a à dire un point de départ.
Quand il est redémarré-it doit être a dit maintes fois. (Sauf si vous monter une horloge temps réel).
Le temps peut être spécifié comme un unix temps string / qui est le nombre de secondes écoulées depuis le "époque standard du 01/01/1970"
La console série peut servir à envoyer un T suivi de la chaîne de temps unix.
T1403524800 représente 12 am 3 juin 2014
Voir sous-routine « waitfordate » et « processSyncMessage »
Si (Serial.find(TIME_HEADER)) {/ / chercher le T
pctime = Serial.parseInt() ; extraire l’heure
Si (pctime > = DEFAULT_TIME) {/ / vérifier que l’heure est après default_time de limited
setTime(pctime) ; Synchronisez l’horloge Arduino pour l’heure reçu sur le port série
Ce site offre des valeurs de temps unix : http://www.onlineconversion.com/unix_time.htm
Les valeurs de temps peuvent être stockés dans la mémoire eeprom, ce qui est conservé après réinitialisation.
Les valeurs enregistrées sont historiques-ils ne sont pas mis à jour au cours de la réinitialisation.
Toutefois, ils sont utiles comme point de départ pour les nouveaux noms. Quand le script est exécuté sans horodatage la valeur précédente est utilisé avec une 60 s addition.
writeeeprom et readeeprom permettent le stockage et la récupération de chaînes de temps.
Le temps est écrit dans la mémoire eeprom toutes les 60 secondes.
Sachez que mémoire eeprom a une limite de ré-utiliser - mais les douilles Conseil porteront probablement en premier.