Licznik wody ZENNER POLSKA RP T 94 223 + ESP32-CAM + integracja z HA

W Windowsie kluczowa kwestia to sterowniki dla mostka UART (tego “programatora”, nie wiem jak na maku, bo od lat nie używam, ale też bywają potrzebne). To tak pomijając kwestię tej przeglądarki.

Tzn. świat idzie do przodu, jeśli jakieś będą potrzebne to pewnie będzie i podpowiedź skąd je wyczarować (a systemy miewają już wbudowane takie sterowniki, których parę lat temu nie było). Linuxy zwykle mają wbudowane.

Wiec tak, esp32 dojechało. Podłączone do kompa i przeflashowane poprzez przeglądarkę Chrome. Pokazały się poniższe okienka i logi:

================ Start app_main =================
I (1966) MAIN: =================================================
I (1976) MAIN: ==================== Start ======================
I (1986) MAIN: =================================================
I (2006) MAIN: PSRAM size: 8388608 byte (8MB / 64MBit)
I (2016) MAIN: Total heap: 4377383 byte
I (2026) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (4026) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:2 
I (4026) cam_hal: cam init ok
I (4026) sccb: pin_sda 26 pin_scl 27
I (4026) sccb: sccb_i2c_port=1

I (4026) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (4066) camera: Detected camera at address=0x30
I (4066) camera: Detected OV2640 camera
I (4066) camera: Camera PID=0x26 VER=0x42 MIDL=0x7f MIDH=0xa2
I (4156) cam_hal: buffer_size: 32768, half_buffer_size: 4096, node_buffer_size: 2048, node_cnt: 16, total_cnt: 15
I (4156) cam_hal: Allocating 61440 Byte frame buffer in PSRAM
I (4156) cam_hal: cam config ok
I (4156) ov2640: Set PLL: clk_2x: 0, clk_div: 0, pclk_auto: 0, pclk_div: 8
I (6236) MAIN: Camera info: PID: 0x26, VER: 0x42, MIDL: 0x7f, MIDH: 0xa2
I (6246) SDCARD: Basic R/W check started...
I (6376) SDCARD: Basic R/W check successful
I (6436) SNTP: TimeServer not defined, using default: pool.ntp.org
I (6446) SNTP: Configuring NTP Client...
I (6456) SNTP: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
I (6476) SNTP: The local time is unknown, starting with 1970-01-01 01:00:04
I (6486) SNTP: Once the NTP server provides a time, we will switch to that one
I (6516) MAIN: CPU frequency: 160 MHz
I (6536) OTA: Start CheckOTAUpdateCheck...
I (6546) OTA: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c91de06fa3a
I (6566) OTA: SHA-256 for bootloader: : 4a9573dafac5d5c79c43e5a356568332da3a99dd2e220da6ceeadc96d32708a2
I (7046) OTA: SHA-256 for current firmware: : b64a22854eb1e33763bde88abf63d86bb137038b818f619734b7e59e5fc8e6b6
I (7086) SDCARD: Folder/file presence check started...
E (7166) SDCARD: Folder/file check: File /html/version.txt not found
E (7176) HELPER: New System Status: 0x00000010
I (7196) MAIN: Tag: 'v15.3.0', Release: v15.3.0 (Commit: 3fbff0a), Date/Time: 2023-07-22 09:42, Web UI: ?
W (7226) MAIN: Failed to read file html/version.txt to parse Web UI version
W (7266) MAIN: Web UI version (?) does not match firmware version (3fbff0a)
W (7276) MAIN: Recommendation: Repeat installation using AI-on-the-edge-device__update__*.zip
I (7296) MAIN: Reset reason: Power-on event (or reset button)
I (7306) WLANINI: SSID: 
I (7326) WLANINI: Password: XXXXXXXX
I (7336) WLANINI: RSSIThreshold: 0
E (7346) WLANINI: SSID empty. Device init aborted!
```

Miga czerwona dioda w ESP: 4 szybkie mrugnięcia, 1 s przerwy, itd.

Co dalej muszę zrobić ?

Pojawiła się nowa sieć wifi „AI-on-the-Edge” ?
To połącz się z nią i w przeglądarce wywołaj http://192.168.4.1
Ustaw Wifi własne, reboot i powinien uruchomić się kreator.

Jakiś problem z kartą jest?

Nie skonfigurowałeś WiFi, nie wiem dlaczego.
Konkretnie nie podałeś SSID sieci z którą sprzęt ma się łączyć, bo jak rozumiem te iksy to twój klucz (“hasło WPA2”) do sieci, który ukryłeś?

Używałem już ESP-web installera, więc kojarzę, że sieć konfiguruje się zwykle w kroku bezpośrednio po flashowaniu (tu jednak może być minimalnie inaczej - zrozum, że nie robiłem tego nigdy w ten sposób, ale widziałem instrukcję prowadzącą krok po kroku, ale mającą wiele odniesień do innych metod instalacji, nie powinieneś ich mieszać).

Jeśli znajdę czas by przeflaszować podobny sprzęt to może zgadnę, (nie mam takiej bajerackiej płytki-matki zwanej programatorem, więc to u mnie nieco większe zagadnienie, bo muszę znaleźć 2 osobne niewielkie urządzenia, które mam z racji ograniczonego miejsca poupychane w różnych pudełeczkach).
Póki do pozostaje mi przejrzeć dokumentację i poszukać jakiegoś krytycznego miejsca.

Co do migania są opisy błędów w dokumentacji - zajrzę to podpowiem, fajnie że dokumentowałeś swoje kroki, ale mam wrażenie, że nie wszystkie…

Wydaje się, że wrzuciłeś na kartę archiwum zip z interfejsem od innej wersji niż flashowałeś firmware.

Hmm to jest ciekawostka, możesz zrobić zdjęcia makro swojego sprzętu (w ofertach widziałem wersję 4MB a otrzymałeś 8MB?)

Oszukali go… ja bym zwrócił :crazy_face:

Właśnie, że nie rozsiewa swojej sieci.

Program nie pokierował do konfiguracji sieci. A ręcznie do pliku na karcie nie wpisywałem danych wifi.

Jeszcze raz powtórzyłem ten krok z nowy archiwum, i podobna sytuacja. Chyba wpiszę ręcznie dane sieci i jeszcze wgram plik.

A może trzeba coś wcisnąć, aby rozsiewał sieć ?

Czytaj logi zaczynające się od “E” i “W” to Cię naprowadzi.
Po wgraniu robisz reboot?

Z tym, że z tego co przejrzałem dokumentację wcześniej, to przy używaniu webflashera procedura przewiduje wpisanie danych sieci w przeglądarkowym GUI (jak i upload interfejsu na kartę).

  • After the installation, a manual reset might be required!
  • Please note that not all web browsers and operating systems support the > necessary USB access needed for this Webinstaller!
  • Check the documentation for additional information.
  • The SD card can be setup automatically after the firmware got installed. See documentation for details. For this to work, the SD card must be FAT formated (which is the default on a new SD card). Alternatively the SD card still can be setup manually, see the documentation for details!

Gdzie mamy ze 3 linki prowadzące do różnych miejsc dokumentacji

W jaki sposób to się robi ?

Np. przycisk RST
albo odpięcie i podpięcie zasilania, ale przede wszystkim masz nie pomijać żadnych kroków wskazanych w instrukcji dla web-flashera oraz nie robić zbędnych ruchów opisanych dla innych metod instalacji.

Ostrzegam, bo zaraz zaczniesz robić sobie ruchy pod górkę, karta TF ma być pusta podczas flashowania, bo
https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#remote-setup-using-the-built-in-access-point

na screenshocie, który zapodałeś masz wersję firmware 15.3.0
więc wchodząc na stronę wydań szukasz 15.3.0 (zasadniczo to zawsze jest aktualne wydanie, ale powiedzmy sobie nie ma ludzi nieomylnych, więc warto sprawdzić zawsze wszystkie istotne dane)

ponieważ jest tam kilka plików do wyboru, to trzeba wybrać ten, który pasuje do metody instalacji - wybrałeś “remote setup” (bo z web-flashera) to moim zdaniem masz użyć ten plik
https://github.com/jomjol/AI-on-the-edge-device/releases/download/v15.3.0/AI-on-the-edge-device__remote-setup__v15.3.0.zip

a generalnie po restarcie, o który pytasz, sprzęt powinien wystawić własny AP (bo nie zna konfiguracji) i wtedy uruchamia się w specjalnym innym trybie niż do zwykłej pracy (gdy już zna swoją konfigurację)

po połączeniu się z tym AP

  1. uploadujesz plik zip
    oraz (po przeładowaniu się interfejsu na taki z odpowiednim okienkiem do wpisania SSID oraz hasła/klucza)
  2. podajesz dane swojego WiFi (w interfejsie web bez cudzysłowów)

Tak, odpinałem zasilanie.

No to źle robiłem. Bo kopiowałem pliki:

To mam podczas flashowania zostawić kartę pustą sformatowaną do FAT czy FAT 32 ?

czy wgrać ten cały folder z powyższego linka ?

Najlepiej domyślnie, jeśli masz jakiekolwiek wątpliwości, to zawsze możesz użyć oficjalnego narzędzia organizacji standaryzującej karty SD i ich odmiany

Nie wiem może nie doczytałem, ale tam nigdzie nie ma mowy o żadnym folderze (ostrzegałem - nie czytaj instrukcji ręcznej instalacji), masz zuploadować archiwum *.zip czyli jeden plik tak jak go pobrałeś tak i wgrywasz, w tym ESP jest własny system operacyjny z oprogramowaniem i on sobie ogarnie rozpakowanie tego na kartę… (a przynajmniej ja tak rozumiem tą prościutką instrukcję)

Ok. jest postęp :slight_smile:
kartę sformatowałem i zostawiłem pustą. Teraz rozsiewa swoją sieć.

To myślę, że tym razem się uda (nie chciałem robić już dalszego zamieszania, ale spapraną instalację można naprawić po prostu edytując dane na karcie po przełożeniu jej do komputera, jakkolwiek nie napisałeś nigdzie co na nią wgrałeś - struktura katalogów jest raczej zawsze taka sama, ale inna jest zawartość plików, więc w tym wypadku screenshot nie zawiera żadnych ważnych informacji, taką ważną informacją jest natomiast np. nazwa pliku archiwum lub link - to tak na przyszłość).

Hehe, zazdroszczę, takiego “oszustwa”, jakkolwiek o zdjęcia @azak43 prosiłem na poważnie - to może ułatwić innym życie.

Jasne, tylko póżniej zrobię fotki.

To teraz który plik mam wgrać ? bo już mam ma≤y mętlik.

No tego zipa, który jak widać już ktoś kliknął, nie masz go rozpakowywać tylko wgrać “jak jest”.

Firmware już masz wgrane, i nawet nie dotykałeś pliku z firmware (bo to się robi automagicznie w web-flasherze - on sobie sam pobiera firmware z serwera, ale projekt web-flashera służy TYLKO do wgrania firmware, bo jak widać jego autorzy nie przewidywali tak złożonych projektów jak ten właśnie, gdzie poza ESP jest “obcy” system plików na oddzielnym nośniku), a w tym archiwum zip jest cały zbiór katalogów i plików w tym “puste” pliki konfiguracyjne.
Po to masz ten webowy kreatorek i w nim jest sugerowana nazwa “remote_setup.zip” (czy kreator sprawdza nazwę pliku nie wiem, więc jeśli nie możesz przejść do kroku 2. to zmień nazwę pliku z “AI-on-the-edge-device__remote-setup__v15.3.0.zip” na “remote_setup.zip”)

Kurcze, coś jest nie tak. Męczę to już dłuższy czas.

Wgrywam plik zip, przesłany przez Ciebie.

Po wgraniu, pojawia się następne okno, gdzie wpisuje ssid i hasło do wifi.

Następnie zgodnie z polecenie odłączam ESP32 od zasilania, podłączam i czekam min. 3 minuty, obecnie 10 minut. W oknie nic się nie zmienia. ESP nadal rozsiewa swoją sieć.
Dioda miga 8 razy szybko - przerwa - 2 razy szybko - itd.

Nie widzę aby ESP zameldowało się w routerze. Cały czas rozsiewa swoją sieć.

Nie czytasz tego co masz na ekranie?
a guzik “Write wlan.ini” wcisnąłeś po wpisaniu danych?

No tak, gdybym nie wcisnął to nie przeskoczy do następnego okna (ostatniego)

Spoko, nie wspomniałeś o tym wcześniej.

Zaraz zaraz, ale w następnym oknie jest następny przycisk - “Reboot to first setup” ten też wdusiłeś, czy po wgraniu pliku odciąłeś zasilanie?

Ja wiem, że ten interfejs jest z XIX wieku, ale jeśli nie wymusisz jakiejś procedury (np. wciśnięciem webowego przycisku) to ona się nie wykona.

Skoro nie działa i nie wystawia już AP, to wyłącz wyjmij kartę i sprawdź czy się utworzył system plików, taki krok może trwać teoretycznie i kilka minut więc trzeba być cierpliwym. (to odnośnie punktu 2. bo piszę to na raty, nie dajesz mi czasu nigdy na całą odpowiedź)
W ogóle to sprawdziłeś czy pobrany plik jest OK?