Skocz do zawartości

Monitory HMI w użytku domowym.


Pomocna odpowiedź

#include <ESP32Time.h>
ESP32Time my_rtc;

void setup() { Serial.begin(9600); }
void loop() {
	Serial.println(my_rtc.getDateTime(true));
	delay(1000);
}

To działa, biblioteka jest w "libraries".

  • Pomogłeś! 1
(edytowany)

To działa, bo poprzedni zapis kompilator traktował jako deklarację nowej funkcji rtc(), zwracającej wartość typu ESP32Time.

Edytowano przez jand
  • Pomogłeś! 1

Działa, dzięki,  jeszcze muszę to umieścić w 

lv_label_set_text(objects.lbl_0_time, "cośtam");

Myślałem, że zadzaiała 

lv_label_set_text(objects.lbl_0_time, rtc.getTime());

ale gdzie tam.

Wiem, mam nie pisać o problemie do rozwiązania dopóki go nie rozwiążę.

Pamiętaj, że ESP32 posiada szczątkowy "system operacyjny", który m. in. odmierza czas. Raz ustawiony po włączeniu zasilania zegar działa w tle, a przy zapewnionym dostępie do serwera NTP będzie się sam synchronizował.

@jand tam jest wbudowany rtc na i2c. Jest też wyprowadzone złącze na akumulatorek do podtrzymania pamięci. Kalendarz który mam napisany potrafi przeliczyć dzień tygodnia dla każdej zadanej daty 

Popatrzyłem w źródła tej biblioteki ESP32Time i nie widzę żadnych operacji na układzie RTC na i2c. Funkcje tej biblioteki to tylko delikatna "owijka" funkcji utrzymania czasu rzeczywistego, wbudowanych już w core ESP32 - typu settimeofday() albo mktime().

Ale być może czegoś nie dostrzegam.

Poza tym zegar podtrzymywany bakteryjnie też na początku musi być jakoś ustawiony.

14 minut temu, jand napisał:

Poza tym zegar podtrzymywany bakteryjnie też na początku musi być jakoś ustawiony.

Nie inaczej, po coś mamy te wszystkie zabawki 

IMG_20241221_141436.thumb.jpg.82c12346df699c7facd78703924b8635.jpg

 

(edytowany)
2 minuty temu, jand napisał:

A nie lepiej brać czas z NTP

Lepiej, jak się ten dostęp ma oraz jak ktoś mi da gwarancję że bezwzględnie zawsze uda się połączyć z ntp. 

 

Edytowano przez _LM_
(edytowany)
4 minuty temu, jand napisał:

zamiast pracowicie pykać po ekranie

Ten interfejs jest akurat dość intuicyjny po zdjęciu nie poznasz ale nastwienie czasu i daty zawiera się w czasie poniżej minuty. W ogóle nie wyobrażam sobie coś budować i jak w tym przypadku nie zrobić zapasowego interfejsu zwłaszcza że nie jest tutaj żadnym wyzwaniem 

Edytowano przez _LM_

Interfejs dobrze mieć - tak na wszelki wypadek.

A na codzień to wstawcie w setup() poniższą linijkę (potrzebny dostęp do internetu).

configTzTime("CET-1CEST,M3.5.0/02,M10.5.0/03", "tempus1.gum.gov.pl");

 

4 godziny temu, _LM_ napisał:

Ten interfejs jest akurat dość intuicyjny po zdjęciu nie poznasz ale nastwienie czasu i daty zawiera się w czasie poniżej minuty. W ogóle nie wyobrażam sobie coś budować i jak w tym przypadku nie zrobić zapasowego interfejsu zwłaszcza że nie jest tutaj żadnym wyzwaniem 

Dzisiaj nie pracuję nad tematem, tylko podczytuję. @_LM_Twój interfejs jest bardzo fajny i prosty, kiedy miałem wgrany Twój szkic, bo swojego jeszcze nie potrafiłem, mój 7 letni syn uwielbiał Ci ten zegar aktualizować:)) Zajmowało mu to bardzo krótko, a potem co minutę poprawiał😂.

Ja mam ntp, tylko jeszcze nie wiem jak wartość wsadzić do lvgl. Esp32 time zwraca stringi, a lvgl chyba potrzebuje const char. Znowu to samo;)

Ale ekran już przygotowany pod wyświetlanie.

Fajny ten pomysł był z tym ekranem. Muszę jeszcze jakiś starych ramek z osprzętu poszukać i sprawdzić która da się przerobić pod ekran i pójdzie to do puszki na ścianę👍

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...