Jak uzyskać sygnaturę czasową, kiedy dane zostały zebrane

Zasadniczo chcę mieć możliwość wyświetlenia czasu, w którym arduino zebrał dane z wartością danych, a nie czas, w którym arduino wydrukował dane. Konsola posiada sygnaturę czasową, ale chcę znaleźć czas, w którym zebrano dane.

Nie mam w tym nic nowego, więc każda pomoc jest bardzo mile widziana!

Komentarze

  • czy zarejestrowałeś czas zebrania danych?
  • Którego Arduino używasz (na wypadek, gdybyś błędnie oznaczył pytanie)?
  • Sam w sobie, jedyną sygnaturą czasową arduino-uno ' jest liczba milisekund od zresetowania. Serial.println(millis());

Odpowiedź

Uzyskiwanie " sygnatury czasowej " to, kiedy dane są gromadzone, zależy wyłącznie od Ciebie.

Większość Arduinos nie ma pojęcia o aktualnym czasie, a jedynie o czasie od uruchomienia programu. Aby wiedzieć, która godzina " teraz ", musisz mieć jakiś mechanizm informujący Arduino, która jest godzina, wraz z metodą śledzenia tego czasu.

Istnieją urządzenia zwane modułami zegara czasu rzeczywistego (RTC), które śledzą czas za Ciebie. W magiczny sposób nie znają godziny – nadal musisz im powiedzieć przynajmniej raz.

Możesz określić czas przez port szeregowy, aby ustawić zegar – od tego momentu (zakładając, że RTC ma zasilanie ) RTC będzie wiedział, która jest godzina.

Inną opcją pobrania czasu do RTC jest użycie połączenia internetowego (ESP8266, osłona WiFi, osłona Ethernet itp.) w celu wykonania protokołu czasu sieciowego ( NTP) do serwera czasu w Internecie (takiego jak pool.ntp.org), aby uzyskać aktualny czas i zaktualizować RTC. Należy to robić regularnie, aby korygować wszelkie odchylenia w RTC.

Gdy masz już zegar czasu rzeczywistego i metodę ustawiania czasu, możesz zapytać o czas za każdym razem, gdy próbujesz jakieś dane i przechowywać ten czas wraz z danymi w jakikolwiek sposób najbardziej odpowiedni dla Twojej sytuacji.

Odpowiedź

To zależy od tego, jak zdefiniujesz znacznik czasu. Uniksowy znacznik czasu to liczba sekund, które upłynęły od czasu uniksowej epoki, tj. 1 stycznia 1970 00:00 UTC jest bardzo powszechnym znacznikiem czasu. Możesz skonfigurować NTP przez Internet lub możesz użyć RTC na swojej płycie. Sposób, w jaki to zrobisz, zależy od tego, jak dokładny chcesz i co masz do dyspozycji. Wypróbuj ten link, który może pomóc: https://currentmillis.com/

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *