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

Nie masz zbyt dużo okien pootwieranych?

I (62156) wifi:max connection, deauth!

Wygląda jakby zbyt dużo połączeń jednocześnie chciało się wykonać.
Pozamykaj wszystko zrestartuj Cam.
Połącz się z siecią i 192.168.4.1
Ustaw Wifi i zapisz
Wszyskie okna pozamykaj
Restart.
Połącz się do konsoli i przycisk RST

Przy prawidłowym połączeniu bez otwartych okien jest ciemno na led.
Z niewiadomego powodu masz cały czas

W (7086) WIFI AP: config.ini not found!

Kurde, jest postęp/zmiana :slight_smile: .
Po całej operacji ESP32 przestało rozgłaszać swoją sieć. Dioda miga inaczej tzn.
3xszybko - przerwa -1x itd.

co te mrugnięcia mogą znaczyć wg. tej strony ? zerknij proszę.

https://jomjol.github.io/AI-on-the-edge-device-docs/StatusLED-BlinkCodes/

Problem z kartą.
Jakiej używasz?

Stara 2 GB, bardzo stara.
Może te logi coś ci powiedzą:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7664
load:0x40078000,len:15360
load:0x40080400,len:3744
entry 0x4008067c
I (26) boot: ESP-IDF 4.3.2 2nd stage bootloader
I (26) boot: compile time 20:02:47
I (26) boot: chip revision: 1
I (29) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (36) boot.esp32: SPI Speed      : 40MHz
I (41) boot.esp32: SPI Mode       : DIO
I (45) boot.esp32: SPI Flash Size : 4MB
I (50) boot: Enabling RNG early entropy source...
I (55) boot: Partition Table:
I (59) boot: ## Label            Usage          Type ST Offset   Length
I (66) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (74) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (81) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (89) boot:  3 ota_0            OTA app          00 10 00010000 001db000
I (96) boot:  4 ota_1            OTA app          00 11 001f0000 001db000
I (104) boot: End of partition table
I (108) boot_comm: chip revision: 1, min. application chip revision: 0
I (115) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=46fbch (290748) map
I (235) esp_image: segment 1: paddr=00056fe4 vaddr=3ffb0000 size=03ce0h ( 15584) load
I (241) esp_image: segment 2: paddr=0005accc vaddr=40080000 size=0534ch ( 21324) load
I (251) esp_image: segment 3: paddr=00060020 vaddr=400d0020 size=1575fch (1406460) map
I (789) esp_image: segment 4: paddr=001b7624 vaddr=4008534c size=15208h ( 86536) load
I (840) boot: Loaded app from partition at offset 0x10000
I (840) boot: Disabling RNG early entropy source...
I (852) quad_psram: This chip is ESP32-D0WD
I (852) esp_psram: Found 8MB PSRAM device
I (852) esp_psram: Speed: 40MHz
I (852) esp_psram: PSRAM initialized, cache is in low/high (2-core) mode.
W (860) esp_psram: Virtual address not enough for PSRAM, map as much as we can. 4MB is mapped
I (868) cpu_start: Pro cpu up.
I (871) cpu_start: Starting app cpu, entry point is 0x40082e48
I (0) cpu_start: App cpu up.
I (1762) esp_psram: SPI SRAM memory test OK
I (1771) cpu_start: Pro cpu start user code
I (1771) cpu_start: cpu freq: 160000000 Hz
I (1771) cpu_start: Application information:
I (1771) cpu_start: Project name:     AI-on-the-edge
I (1776) cpu_start: App version:      v15.3.0
I (1780) cpu_start: Compile time:     Jul 22 2023 09:43:02
I (1785) cpu_start: ELF file SHA256:  29d38f3fa1a9857c...
I (1791) cpu_start: ESP-IDF:          5.0.2
I (1794) cpu_start: Min chip rev:     v0.0
I (1798) cpu_start: Max chip rev:     v3.99 
I (1802) cpu_start: Chip rev:         v1.0
I (1806) heap_init: Initializing. RAM available for dynamic allocation:
I (1813) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (1818) heap_init: At 3FFBD890 len 00022770 (137 KiB): DRAM
I (1823) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (1828) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1834) heap_init: At 4009A554 len 00005AAC (22 KiB): IRAM
I (1840) esp_psram: Adding pool of 4083K of PSRAM memory to heap allocator
I (1847) spi_flash: detected chip: generic
I (1850) spi_flash: flash io: dio
I (1864) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1866) esp_psram: Reserving pool of 40K of internal memory for DMA/internal allocations
I (1866) MAIN: 



================ Start app_main =================
W (1946) vfs_fat_sdmmc: failed to mount card (13)
E (1946) vfs_fat_sdmmc: mount_to_vfs failed (0xffffffff).
E (1946) MAIN: Failed to mount FAT filesystem on SD card. Check SD card filesystem (only FAT supported) or try another card
E (1956) MAIN: Device init aborted!

Nierozpoznany system plików… sformatuj na FAT

Było sformatowane na FAT32, zrobie na samo FAT.

To powodem było wiele otwartych okien, kto by pomyślał, nigdy bym na to nie wpadł.
Dobrze trafiłeś.

Poczatkowo uruchomiłem na karcie 8Gb.

Jak pisałem., dla próby użyłem karty 64GB extFat ze zmienionym rozmiarem do 8Gb i w windows sformatowałem na Fat32.
Ponownie nic nie programowałem tylko włożyłem nową… reboot i wszysko się dokończyło na nowej.

Czytam :wink:

Dziwne, oficjalne narzędzie, które sugerowałem samo wybiera właściwy (tj zgodny ze standardem) system plików dla danego rozmiaru karty, więc 2GB z pewnością zostałaby sformatowana jako FAT16 a nie coś innego, ale np. dla większych kart exFAT z pewnością nie będzie obsługiwany przez prościutki system na ESP (tu akurat w grę wchodzą też kwestie licencyjne).

Dlatego karty powyżej 32GB trzeba formatować innymi narzędziami (albo stosować takie obejście jak @RobinI30 )

przy okazji w dokumentacji ^ są informacje dlaczego nośnik nie może być dowolnie dużej pojemności (bo tablice FAT są wczytywane do RAM)

Trik z wykorzystaniem fat32format (znanego też jako GUIformat) przydaje się raczej w innych sytuacjach - np. w samochodowych DVR, które nie obsługują exFAT, przy “dużych” kartach mamy wtedy całą powierzchnię nośnika i fat32 (niezgodny z wymaganiami organizacji SD).

Aby uniknąć nieporozumień - “małych” kart (do 4GB) nie należy formatować na fat32, na nich stosuje się stary dobry FAT, który w zależności od rozmiaru będzie w wersji FAT16 lub FAT12 (ten ostatni dla naprawdę malutkich nośników).

Więc tak, potestowałem trochę karty które mam i wyszło, że:

2GB FAT - nie przechodzi dalej, nie wychodzi z trybu Konfiguracji (rozsiew sieć) bez przerwy.
16GB FAT32 jw
32GB FAT 32 jw
2GB FAT32 - wychodzi z trybu konfiguracji i pokazuje błąd mignięć 3x1.

Nie wiem co o tym myśleć.
2 GB FAT powinna przejść procedurę, bo zrobiona na FAT32 przechodzi, ale pokazuje błąd.

Jestem w delegacji, więc najbliższa szansa na poszukiwania w przyszłym tygodniu.

przede wszystkim cokolwiek mogą nam powiedzieć logi

Jest takie ryzyko, że każda z tych kart jest niekompatybilna (z różnych powodów), jeśli umiesz zrobić małą partycję na większej karcie to spróbuj.

System operacyjny w tym ESP jest ultra-prosty, więc może nie radzić sobie z niektórymi sytuacjami.
Teoretycznie jeśli przechodzisz ten 3krokowy setup, to na karcie powinny powstać katalogi i pliki z zawartością, ratunkowo możesz wyedytować podstawowe pliki konfiguracyjne “z palca” jeśli się utworzyły poprawnie.

ustal czy to jest 1+3 czy 3+1
nie ma czegoś takiego jak 3x1
może masz na myśli 3+3?

1+3 to jest problem połączenia się z WiFi (ten błąd jest wyświetlany tylko jednokrotnie, ale ESP może się restartować co kilka minut, nie wiem czy ten projekt korzysta z takiej funkcji)

pozostałe są wyświetlane w kółko, ale sekwencja kodów jest rozdzielana 1,5 sekundy wygaszenia, a półsekundowe wygaszenie jest między pierwszą częścią kodu diagnostycznego, a drugą…

3+1 błąd montowania systemu plików (to by pasowało do zbyt dużych kart)

3+3 jest błędem inicjalizacji karty (więc pasuje do karty niekompatybilnej z możliwościami czytnika w ESP)

W jaki sposób zmniejszyłeś pojemność karty ? jakim programem ?

Na pewno jest to 3+1 lub 1+3, nie wiem jak to stwierdzić. Są 3 błyski - przerwa - 1 błysk lub odwrotnie 1 błysk - przerwa - 3 błyski.

Tylko, że przy tym błędzie była użyta karta 2GB, także nie może to być błąd zbyt dużych kart.

Przy kartach 16 i 32 GB w ogóle nie kończył procesu konfiguracji ( rozsiewając siec) i nie pokazał błędu.

Jedna z przerw powinna być dłuższa, druga krótsza, dłuższa jest między kodami, krótsza w środku
więc sekwencja
nic,nic,nic,1,2,3,nic,1,nic,nic,nic,1,2,3,nic,1,nic,nic,nic,1,2,3,nic,1,nic,nic,nic,…
to jest 3+1

a
nic,nic,nic,1,nic,1,2,3,nic,nic,nic, i długo nic…
to 1+3

Detekcja rzeczywistego problemu na poziomie tego prostego systemu może nie być w pełni skuteczna, ponadto 3+1 to jest błąd montowania systemu plików, a on sam w sobie może mieć różne pierwotne źródła (np. jest fat zamiast fat32 bądź odwrotnie, ale hipotetyczną przyczyną może też być wyłożenie się softu za każdym razem w trakcie rozpakowywania tego zipa co systematycznie uszkadza system plików).

W jednym z logów gdzieś powyżej był udany test zapisu na karcie (a jest on moim zdaniem wykonywany dopiero po podmontowaniu systemu plików, czyli i system plików (pusty) musiał być (wtedy) nieuszkodzony.

Test zapisu musi być wykonywany na podmontowanej karcie, bo wykonany jako RAW mógłby uszkadzać system plików więc kolejność wykonywania tych testów jest oczywista.

jakkolwiek by na to nie spojrzeć błędy z grupy 3+x są związane z kartą TF, więc kierunek poszukiwań to karta 4GB

Generalnie @RobinI30 przetestował 2 karty o różnych rozmiarach (ta druga po odpowiednim przygotowaniu)
Efekt można uzyskać prawie dowolnym edytorem partycji, tylko trzeba mieć świadomość tego co się robi.

pod windows najprościej
win+R
(albo “uruchom” z menu start w starszych windowsach)
diskmgmt.msc

zaznaczasz partycję (oczywiście partycję na karcie, a nie na innym nośniku!)
usuń wolumin
czekasz aż będzie pusto
nowy wolumin prosty
w kreatorze zamiast klikać “dalej → dalej” przeglądasz opcje i wpisujesz z palca pożądany rozmiar w megabajtach więc powiedzmy że 4096
wybierasz formatowanie i z listy systemów plików wybierasz FAT

tylko się nie sugeruj wartościami z obrazka :stuck_out_tongue:
fat_przyklad_2023-11-25_23-34

Ogólnie to już mi się odechciało zdalnie odczytywać licznik wody, będę chodził z buta :). Chyba dam sobie spokój z tym ESP, bo nie mam nerwów.

Dostałem następną kartę 2GB, sprawna, działała w starszej nawigacji.
Sprawdzona programem H2testw, sformatowana programem sd card formater. Wyniki ok - FAT16.

Okna wszystkie pozamykane, sieci wifi zapomniane i usunięte z maca. Procedura zrobiona od zera, flashowanie, dogranie pliku remote-setup. Cały proces dochodzi do końca co ładnie widać w konsoli, wgrywanie plików, później dwukrotny reebot, ale nie może wyjść z stanu konfiguracji, zatrzymuje się i dalej rozsiewa sieć. Poniżej log z ostatniego flashowania.

Nie wiem czy mogę coś jeszcze źle robić, uważam, że nie. Powoli zaczynam podejrzewać samo ESP.

Zerknijcie proszę w logi, może coś się rzuci w oko.

esp-web-tools-logs (3).txt.zip (24,4 KB)

Czytam te logi… wszystko wygląda dobrze, wiec zaczął bym od zasilania. Osobne, stabilne 5V. Na pewno nie z portu USB kompa.

Z tym ESP używam programatora wpiętego do USB kompa.

Coś takiego. Jeżeli zasilanie osobne to musiałbym z niego zrezygnować ?

Skąd tylu klientów się podłącza.

I (8025) esp_netif_lwip: DHCP server assigned IP to a client, IP is: 192.168.4.2
I (8025) wifi:<ba-add>idx:2 (ifx:1, d0:88:0c:72:d7:3c), tid:6, ssn:63, winSize:64
I (9095) wifi:<ba-add>idx:3 (ifx:1, d0:88:0c:72:d7:3c), tid:1, ssn:0, winSize:64
I (9815) esp_netif_lwip: DHCP server assigned IP to a client, IP is: 192.168.4.2
I (12715) esp_netif_lwip: DHCP server assigned IP to a client, IP is: 192.168.4.2
I (39135) wifi:<ba-add>idx:4 (ifx:1, d0:88:0c:72:d7:3c), tid:0, ssn:43, winSize:64

Olej na razie te logi i podłącz z ładowarki
Po pojawieniu się wifi połącz się do niej i w przeglądarce 192.168.4.1
Ustaw swoją wifi i zapisz. Bo cały czas brakuje pliku config.ini
Zamknij okna.
Restart i czekaj czy pojawi się ponownie nowa sieć. Jeśli się nie pojawi i ledy będą ciemne to będzię oznaka, że prawdopodobnie się połączy do twojej sieci.
Na razie tyle - później się spróbuje znaleść IP

Robert, sorry, ale musisz troszkę jaśniej.
Swoją sieć wifi gdzie mam wpisać ? w trakcie procedury przez konsolę ?

O to chodzi

Prędzej “Moda na sukces” się skończy niż ten temat.

Przecież ja tak robię i nie kończy konfiguracji.
Jak później wejdę do karty z czytnika to w pliku wlan.ini są zapisane dane mojej sieci tj. ssid i pass.

Nawiasem mówiąc, aby to okno się pokazało, to muszę wyczyścić kartę.

Dobra wiadomość, koniec serialu.
Karta sd zablokowała się w slocie, jakoś ją wyciągnąłem, ale teraz już nie chce zaskoczyć zatrzask i karta wychodzi z kieszeni.

Także temat sam się rozwiązał.

Dziś próbowałem z tego zrobić kamerę IP, żyje to to własnym, działa albo nie … ogólnie moduł wylądował ponownie w szufladzie.