Fondamentalement, je veux pouvoir afficher lheure à laquelle larduino a collecté les données avec la valeur de données, pas le heure à laquelle larduino a imprimé les données. Il y a une fonction dhorodatage sur la console, mais je veux trouver lheure à laquelle les données ont été collectées.
Je suis un peu nouveau dans ce domaine, donc toute aide est grandement appréciée!
Commentaires
Réponse
Obtention dun " horodatage " du moment où les données sont collectées dépend entièrement de vous.
La plupart des Arduinos nont aucune idée de lheure actuelle, seulement du temps écoulé depuis le début de lexécution du programme. Pour savoir quelle est lheure " maintenant ", vous devez avoir un mécanisme pour indiquer à lArduino lheure, avec une méthode de garder une trace de cette heure.
Il existe des dispositifs appelés modules dhorloge en temps réel (RTC) qui gardent une trace de lheure pour vous. Ils ne connaissent pas lheure comme par magie – vous devez toujours leur dire au moins une fois.
Vous pouvez lui indiquer lheure via le port série pour régler lhorloge – à partir de là (en supposant que le RTC soit sous tension ) le RTC saura lheure.
Une autre option pour obtenir lheure dans le RTC est dutiliser une connexion Internet (ESP8266, bouclier WiFi, bouclier Ethernet, etc.) pour effectuer un protocole de temps réseau ( NTP) à un serveur de temps sur Internet (tel que pool.ntp.org
) pour obtenir lheure actuelle et mettre à jour le RTC. Cette opération doit être effectuée régulièrement pour corriger toute dérive du RTC.
Une fois que vous avez un RTC et une méthode de réglage de lheure, vous pouvez interroger lheure chaque fois que vous échantillonnez des données et stocker cette heure avec les données de la manière la plus appropriée à votre situation.
Réponse
Cela dépend de la façon dont vous définissez lhorodatage. Un horodatage Unix est le nombre de secondes écoulées depuis lépoque Unix, cest-à-dire le 1er janvier 1970 00:00 UTC, ce est un horodatage très courant. Vous pouvez configurer avec NTP via Internet, ou vous pouvez utiliser un RTC sur votre carte. La façon dont vous le faites dépend de la précision que vous souhaitez et de ce dont vous disposez. Essayez ce lien, cela peut vous aider: https://currentmillis.com/
Serial.println(millis());