Sterowanie suplą przez esp32 z dotykowym LCD 4”

SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Wszystkie pliki mojego szkicu tutaj:
https://github.com/Soyer79/esp32_lcd4-_supla

oparte o pliki bibliotek stąd:
https://www.waveshare.com/wiki/ESP32-S3 ... LCD-4#Demo
należy pobrać "ESP32-S3-Touch-LCD-4 Demo"
po rozpakowaniu mamy niezbędne biblioteki i przykłady dla arduino i IDF.

Mój szkic oparty na przykładach z arduino.

WAŻNE dla arduino IDE:
powyższe pliki bibliotek umieszczamy standardowo w katalogu libraries arduino,
ale plik lv_conf(jest wklejony, skonfigurowany, na ww. githubie) umieszczamy również w katalogu libraries obok katalogów innych bibliotek.
Last edited by SOYER on Wed Jan 15, 2025 5:48 pm, edited 1 time in total.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
User avatar
klew
Posts: 10406
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Gdy zmienną globalną tak inicjalizujesz, to ogonie może wystąpić tzw "static initialization fiasco". Ogólnie kolejność tworzenia obiektów statycznych nie jest określona i pewnie ta funkcja tworząca timer polega na czymś, co nie zostało zainstalowane.

Ogólnie obiekty powinno się tworzyć już w trakcie wykonywania programu (w Arduino będzie to setup I loop)
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

klew wrote: Wed Jan 15, 2025 5:31 pm Gdy zmienną globalną tak inicjalizujesz, to ogonie może wystąpić tzw "static initialization fiasco". Ogólnie kolejność tworzenia obiektów statycznych nie jest określona i pewnie ta funkcja tworząca timer polega na czymś, co nie zostało zainstalowane.

Ogólnie obiekty powinno się tworzyć już w trakcie wykonywania programu (w Arduino będzie to setup I loop)
Trudno, darowałem sobie ten reset timera. Nie poradziłem, może jeszcze @rafalekkalwak@wp.pl coś poradzi po zaglądnięciu w źródła.
Dziwne to to.
Można zaglądnąć teraz do mojego szkicu, może coś poradzicie.

Jeszcze link do sklepu gdzie kupiłem ten konkretny sprzęt:
https://pl.aliexpress.com/item/10050075 ... pt=glo2pol

Spory wybór jest też w polskim sklepie https://elty.pl/, to nie reklama, kilka razy tam kupowałem(choć nie lcd) i mogę polecić, choć strona internetowa moim zdaniem wybitnie mało przejrzysta.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
rafalekkalwak@wp.pl
Posts: 824
Joined: Mon Feb 06, 2023 8:56 am

Post

SOYER wrote: Wed Jan 15, 2025 5:55 pm
klew wrote: Wed Jan 15, 2025 5:31 pm Gdy zmienną globalną tak inicjalizujesz, to ogonie może wystąpić tzw "static initialization fiasco". Ogólnie kolejność tworzenia obiektów statycznych nie jest określona i pewnie ta funkcja tworząca timer polega na czymś, co nie zostało zainstalowane.

Ogólnie obiekty powinno się tworzyć już w trakcie wykonywania programu (w Arduino będzie to setup I loop)
Trudno, darowałem sobie ten reset timera. Nie poradziłem, może jeszcze @rafalekkalwak@wp.pl coś poradzi po zaglądnięciu w źródła.
Dziwne to to.
Można zaglądnąć teraz do mojego szkicu, może coś poradzicie.

Jeszcze link do sklepu gdzie kupiłem ten konkretny sprzęt:
https://pl.aliexpress.com/item/10050075 ... pt=glo2pol

Spory wybór jest też w polskim sklepie https://elty.pl/, to nie reklama, kilka razy tam kupowałem(choć nie lcd) i mogę polecić, choć strona internetowa moim zdaniem wybitnie mało przejrzysta.
Spojrzałem, ja bym zadeklarował tego timera nad setup, ale zainicjowal dopiero w setup po inicjalizacji lvgla i pilnował nazw, zmienne globalne można np. prefixować "_" żeby się nie mieszało. wtedy powinieneś móc się do niego odwołać w dowolnym miejscu, jak to nie zadziała to też nie wiem.
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

rafalekkalwak@wp.pl wrote: Thu Jan 16, 2025 6:49 pm
SOYER wrote: Wed Jan 15, 2025 5:55 pm
klew wrote: Wed Jan 15, 2025 5:31 pm Gdy zmienną globalną tak inicjalizujesz, to ogonie może wystąpić tzw "static initialization fiasco". Ogólnie kolejność tworzenia obiektów statycznych nie jest określona i pewnie ta funkcja tworząca timer polega na czymś, co nie zostało zainstalowane.

Ogólnie obiekty powinno się tworzyć już w trakcie wykonywania programu (w Arduino będzie to setup I loop)
Trudno, darowałem sobie ten reset timera. Nie poradziłem, może jeszcze @rafalekkalwak@wp.pl coś poradzi po zaglądnięciu w źródła.
Dziwne to to.
Można zaglądnąć teraz do mojego szkicu, może coś poradzicie.

Jeszcze link do sklepu gdzie kupiłem ten konkretny sprzęt:
https://pl.aliexpress.com/item/10050075 ... pt=glo2pol

Spory wybór jest też w polskim sklepie https://elty.pl/, to nie reklama, kilka razy tam kupowałem(choć nie lcd) i mogę polecić, choć strona internetowa moim zdaniem wybitnie mało przejrzysta.
Spojrzałem, ja bym zadeklarował tego timera nad setup, ale zainicjowal dopiero w setup po inicjalizacji lvgla i pilnował nazw, zmienne globalne można np. prefixować "_" żeby się nie mieszało. wtedy powinieneś móc się do niego odwołać w dowolnym miejscu, jak to nie zadziała to też nie wiem.
Dziękuję za feedback.
Jako, że Ty jesteś programistą, a ja amatorem, napisz proszę co nad SETUP, a co gdzie indziej.
Zrobię próby jutro mistrzu.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Dzisiaj dołożyłem testowo zmianę ekranów przy pomocy gestów. Działa fajnie.
Teraz już tylko krok do interfejsu znanego z aplikacji Supla;).

Screen slide
https://youtube.com/shorts/3VGjneMBwtU
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Pięć dni.

Od pięciu dni "nie dotykałem" programowo urządzenia. Działa, nie wiesza się, wygaszacz ładnie pracuje, usypiam wieczorem, rano sam się budzi. Odświeżanie danych i sterowanie suplą bez zastrzeżeń.

Extra. Oby tak dalej.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
Adamo28
Posts: 193
Joined: Sun Nov 08, 2020 2:54 pm

Post

A patrzyłeś czy wstanie jak zgubi internet w sensie mqtt się podniesie?
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Generalnie mam tam wifiMulti, czyli podanych kilka sieci, choć do końca nie wiem, czy biblioteka wybiera najmocniejszą tylko przy starcie, czy także przełącza się w trakcie pracy na najsilniejszy sygnał(?).

Odpowiadając na Twoje pytanie @Adamo28, wyłączyłem na minutę całe wifi w domu, włączyłem ponownie i ekran bez problemu sam odzyskał połączenie z mqtt.

To mi podsunęło pomysł jakiejś ikonki z zasięgiem, choć nie wiem czy potrzebna, częściej nie ma prądu niż internetu. Na szczęście mam takiego dostawcę, że net jest zawsze.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603

Return to “Zagadnienia ogólne”