Alapvetően azt szeretném, hogy megjelenítsem azt az időt, amelyet az arduino összegyűjtött az adatokkal, nem pedig a amikor az arduino kinyomtatta az adatokat. Van egy időbélyeg-funkció a konzolon, de szeretném megtalálni az adatok összegyűjtésének idejét.
“Új vagyok ebben, így minden segítséget nagyra értékelünk!
Hozzászólások
Válasz
" időbélyeg megszerzése teljes mértékben Önön múlik.
A legtöbb Arduinosnak nincs fogalma az aktuális időről, csak a program futtatása óta eltelt idő. Ahhoz, hogy tudd, mi az idő " most ", rendelkezned kell valamilyen mechanizmussal, amellyel meg tudod mondani az Arduino-nak az időt, egy módszerrel együtt
Vannak Real-Time Clock (RTC) moduloknak nevezett eszközök, amelyek nyomon követik az Ön számára szükséges időt. Varázslatosan nem tudják az időt – még mindig meg kell mondanod nekik legalább egyszer.
A soros porton keresztül megadhatod neki az időt, hogy beállítsd az órát – onnantól kezdve (feltételezve, hogy az RTC rendelkezik erővel ) Az RTC tudni fogja, hogy mennyi az idő.
Egy másik lehetőség az RTC-be jutáshoz az internetkapcsolat (ESP8266, WiFi pajzs, Ethernet pajzs stb.) használata a Hálózati időprotokoll végrehajtására ( NTP) lekérdezés egy internetes időszerverre (például pool.ntp.org
) az aktuális idő lekérdezéséhez és az RTC frissítéséhez. Ezt rendszeresen kell végrehajtani az RTC esetleges sodródásának kijavítására.
Ha rendelkezik RTC-vel és módszert ad az idő beállítására, lekérdezheti az időt, amikor mintát vesz valamilyen adatból, és ezt az időt az adatokkal együtt tárolja a helyzetének legmegfelelőbb módon.
Válasz
Ez az időbélyeg meghatározásának módjától függ. A Unix időbélyeg a Unix korszak ideje, vagyis január 1-je óta eltelt másodpercek száma. 1970 00:00 UTC, ez nagyon gyakori időbélyegző. Beállíthat NTP-vel az interneten keresztül, vagy használhat RTC-t a táblán. Az, hogy hogyan csinálod, attól függ, mennyire pontos akarod, és mi áll rendelkezésedre. Próbálja ki ezt a linket, és ez segíthet: https://currentmillis.com/
Serial.println(millis());