Cześć, w odpowiedzi na pewien problem który pojawił się na tym forum, postanowiłem postawić sobie kolejne zadanie programistyczne(?) które mnie bardzo dużo nauczyło. To lubię:).
Założenie, mamy osobę która nigdy nic nie wgrywała, programowała, nie wie co to mikrokontroler, ale zna podstawy obsługi komputera.
Osoba ta ma w domu osuplowany licznik impulsów, podłączony np. do wodomierza i chce dostawać powiadomienie jeśli liczba impulsów na minutę przekroczy ustawiony próg.
Po niemałych przebojach i nauczeniu się nowych rzeczy udało mi się, na podstawie własnego podobnego rozwiązania, stworzyć taki w miarę uniwersalny szkic i opracować procedurę postępowania dla Suplowicza bez podstaw w wgrywaniu własnego kodu.
Do uruchomienia tego projektu potrzebujemy tylko esp32c3:
https://www.google.com/search?q=esp32c3 ... s-wiz-serp
oraz starą ładowarkę telefonu i przewód USB-C
Jest możliwe uruchomienie na innych esp32, trzeba tylko wtedy zmienić pewne pliki przy wgrywaniu, o czym niżej.
Po kolei,
Najpierw wchodzimy w supla cloud naszego konta w Supli klikamy Konto->Integracje->BrokerMQTT
tam uruchamiamy swoje konto, zapisujemy sobie gdzieś: Host(serwer), nazwę użytkownika i generujemy i zapisujemy hasło. Będą nam te informacje potrzebne później.
Teraz pobieramy i rozpakowujemy tą paczkę która jest na dole tego posta(watcher.rar, mało widoczny między screenami, ale jest:). W tym folderze są screeny i plik README co, jak i gdzie ustawić, ale pokrótce to opiszę.
Najpierw jednak pobieramy stąd(chciałem wkleić ale za duży plik):
https://docs.espressif.com/projects/esp ... _tool.html
apkę:
Flash Download Tool
rozpakowujemy i odpalamy aplikację flash_download_tool_3.9.8_5( czy jaka tam jest aktualna wersja).
W pierwszym okienku które się pojawi ustawiamy ChipType na esp32-c3(screen "pierwsze ustawienie" w mojej paczce), klikamy OK.
Otworzy nam się okno aplikacji ładującej soft do naszego esp32c3. Tutaj ustawiamy wszystko jak na screnie "pliki i adresy". Podajemy ścieżki dla plików które są w mojej paczce(bootloader, partitions, boot_app0, liw.ino.esp32c3), oraz na prawo od ścieżek wpisujemy poprawny adres. Na samym dole aplikacji mamy okienko COM, najwyższa pora by nasze ESP podłączyć przewodem USB do kompa i podać w okienku COM pod które gniazdo podłączyliśmy(COM3, COM6, COMileśtam). Port można sprawdzić w menadżerze urządzeń komputera.
Teraz już tylko klikamy START w lewym dolnym rogu i za kilka sekund mamy wgrany program w naszym ESP.
Odłączamy ESP od kompa i podłączamy ponownie i otwieramy dostępne sieci WiFi na kompie. Jeśli wszystko przebiegło poprawnie, to powinna się tam pojawić nowa sieć mająca w nazwie SUPLA, łączymy się z nią, a następnie w przeglądarce standardowo 192.168.4.1.
Otworzy na się strona config w której ustawiamy nazwę sieci z którą ma się łączayć nasze esp, hasło do tej sieci, oraz dane do logowania do konta Supla.
Mamy też kilka nowych okienek:
MQTTserver .....tu wpisujemy nasz serwer MQTT
MQTT user .....nazwa użytkownika z MQTT
MQTT password .....hasło z MQTT
device ID .....tu wpisujemy ID urządzenia na którym mamy kanał wodomierza
channel ID..... ID kanału wodomierza
night_h_start .....godziny nocne start
night_h_end..... godziny nocne koniec
devName message .....dowolna nazwa urządzenia którą to nazwę chcemy widzieć w powiadomieniu np. wodomierz
push message .....treść powiadomienia
level alarm .....próg wody, program zlicza ilość impulsów/litrów wypływającej w ciągu minuty,
próg zostanie przekroczony->powiadomienie, działa 24h, w dzień i w godziny nocne ustawione wyżej
level alarm night ....tak jak wyżej, ale dla godzin nocnych, zlicza dla godziny, jeśli w ciągu godziny przekroczy ten próg->powiadomienie, działa tylko w ustawionych godzinach nocnych
tyle,
a następnie SAVE & RESTART(u mnie czasami po kliknięciu S&R trzeba jednak jeszcze odłączyć i podłączyć zasilanie).
Następnie włączamy w supla cloud rejestrację urządzeń, czekamy aż doda się nasze esp, wchodzimy w nie i w zakładce "powiadomienia" ustawiamy odbiorców powiadomień.
Wszystko. Powinno działać, u mnie działa.
Piszcie, pytajcie, zwracajcie uwagę na błędy, cały czas się uczę nowych rzeczy.
Jeszcze jedno, jeśli chcemy ponownie ustawić inputy na inne wartości to aby wejść znowu w stronę konfiguracyjną, logujemy się do supla cloud i klikamy "Przełącz urządzenie w tryb konfiguracyjny", lub odłączamy esp od zasialania, podłączamy ponownie i teraz mamy 15 s, by trzy razy wyłączyć i podłączyć zasilanie. Robimy to na spokojnie, nie szybko, wyłączamy czekamy 1-2 sek, podłączamy i znów czekamy 1-2s i tak 3 razy. Tą metodę stosujemy gdy nie ma możliwości zrobić tego z poziomu cloud.
Na koniec link do szkicu:
https://github.com/Soyer79/WaterMeterWa ... in/liw.ino
EDIT(9.02.25): wstawiłem na githuba i do spakowanego załącznika poniżej, nową, lekko poprawioną wersję szkicu.
