I utgangspunktet vil jeg være i stand til å vise tiden arduino samlet dataene med dataverdien, ikke gang arduino skrev ut dataene. Det er en tidsstempelfunksjon på konsollen, men jeg vil finne tiden dataene ble samlet inn.
Jeg er litt ny på dette, så all hjelp blir satt stor pris på!
Kommentarer
Svar
Få et " tidsstempel " når data blir samlet inn, er helt opp til deg.
De fleste Arduinos har ikke noe konsept om gjeldende tid, bare tiden siden programmet startet. For å vite hva tiden " nå " er, må du ha en mekanisme for å fortelle Arduino hva tiden er, sammen med en metode å holde styr på den tiden.
Det finnes enheter som kalles RTC-moduler (Real-Time Clock) som holder oversikt over tiden for deg. De vet ikke magisk tid – du må fortsatt fortelle dem minst en gang.
Du kan fortelle det tiden gjennom serieporten for å stille klokken – fra da av (forutsatt at RTC har strøm ) RTC vil vite hva klokken er.
Et annet alternativ for å få tiden inn i RTC er å bruke en internettforbindelse (ESP8266, WiFi-skjold, Ethernet-skjold osv.) for å utføre en Network Time Protocol ( NTP) spørring til en tidsserver på internett (for eksempel pool.ntp.org
) for å få aktuell tid og oppdatere RTC. Dette bør gjøres regelmessig for å korrigere eventuell drift i RTC.
Når du har en RTC og en metode for å stille inn tiden, kan du spørre tiden når du prøver noen data og lagrer den tiden sammen med dataene på den måten som er best egnet for din situasjon.
Svar
Det kommer an på hvordan du definerer tidsstemplet. En Unix-tidsstempel er antall sekunder som har gått siden Unix-epoken, dvs. 1. januar 1970 00:00 UTC, dette er et veldig vanlig tidsstempel. Du kan konfigurere med NTP via internett, eller du kan bruke en RTC på tavlen. Hvordan du gjør det avhenger av hvor nøyaktig du vil ha det og hva du har tilgjengelig. Prøv denne lenken, det kan hjelpe: https://currentmillis.com/
Serial.println(millis());