Esp32 cam i obraz na Dashboard

Posiadam ESP32 CAM, zrobione wg https://www.youtube.com/watch?v=-towjof_ixU&t=172s.
Działa świetnie ale tylko na powiekszonym ekranie.

  1. czy można coś zrobić aby np na picture-glance działało płynnie?
  2. jak zrobić (może być node-red) aby po przełączeniu przycisku (albo czujki ruchu) pojawiał się ten duży obraz, czyli taki link do tego obrazu?
  1. Nie da się zrobić płynnie (tzn. może i się da, ale nie osiągnąłem sensownego rezultatu - prawdopodonie powinieneś podnieść parametr idle_framerate), rozwiązanie takie jak jest, jest kompromisem, moduł ESPCam się przegrzewa przy dłuższym streamingu.

  2. Ze względu na 1. nie myślałem nawet nad takim rozwiązaniem, ale spore nadzieje daje browser-mod (z HACS), być może da się to wykombinowac jakoś opierając się na funkcjach samego HA (bądź dodatkowo bazując na funkcjach ESPHome jeśli PIR wepniesz w GPIO)

Opis tej integracji w ESPHome także zawiera ostrzeżenie o przegrzewaniu sprzętu (używam normalnych kamer IP, ale jeszcze wrócę kiedyś do eksperymentów, bo walają mi się 2 tego typu moduły - pomysły na wykorzystanie były, niestety konstrukcja utrudnia wykorzystanie jakiejś gotowej obudowy - taśma łącząca kamerę z modułem jest bardzo krótka, ale jeszcze ostatecznie się nie poddałem, tylko projekty zostały odroczone, może kiedyś przysiądę i zrobię research czy możliwe jest wykorzystanie innych kamer, bo parametry tych dołączonych tyłka nie urywają :smiley: dotyczy to też optyki

Mam taśmę 20 cm ale widziałem na ali i 50 cm.
Tu jest 30 cm Waveshare Taśma Kamery Dla Raspberry Pi Zero 30Cm - Opinie i ceny na Ceneo.pl
Właśnie robię testy.

1 Like

Widziałem już te taśmy, ale tak jak wspomniałem - chciałbym wykorzystać inny moduł kamery (a to już trochę zakrawa na “strzelanie z armaty do muchy” - takie rozwiązanie wyjdzie mi ostatecznie gorsze i droższe od normalnej kamery IP, choć pewna elastyczność konstrukcji jest tu plusem) .

edit: UWAGA kamery ani taśmy od RPi zero nie pasują do modułów ESP32-cam (ani odwrotnie) a przejściówek umożliwiających montaż zamienny nie widziałem jak dotąd (ponadto nie widziałem też przejściówek ze standardowej " szerokiej" taśmy RPi)
O ile same (wybrane) moduły kamer wewnętrznie są identyczne, to nie można ich zamienić z braku przejściówek, ponadto te dedykowane do ESP32 to konstrukcje na wybranych przetwornikach OmniVision, RPi wspiera większą liczbę przetworników, również innych producentów w tym znacznie nowsze konstrukcje (tak dla przykładu OV2640 to konstrukcja z 2006 roku - przypomnijmy - pierwszy iphone miał premierę w 2007 i był dopiero zapowiedzią ery smartfonów, a wykorzystywał komponenty bardziej uznanych producentów niż OmniVision).

Ponieważ temat jest dość popularny postaram się wrzucić jakieś zdjęcia taśm:

z wierzchu 24-pinowe złącze ESP-cam, pod spodem złącze taśmy dedykowanej dla RPi 0/0w/zero-2w

gdy leżą obok na pierwszy rzut oka można nie zauważyć różnicy (tu mamy spore powiększenie, to widać to trochę lepiej, przy okazji na taśmie RPI-zero doskonale widać, że wykorzystuje tylko 15 pinów, a spodnia strona taśmy jest wielką ekranującą ścieżką masy - to ten wzorek w kwadraty)

a tu taśmy 3 rodzajów 15-pinowa dla “dużych malin” (tyle pinów wystarcza by obsłużyć kamerę), 22-pinowa dla serii RPi-zero, oraz 24-pinowa dla ESP-cam

Same moduły ESP-cam też się różnią między sobą - tu akurat 2 różne partie od prawdopodobnie tego samego producenta (różnica jest niewielka ale widoczna), ale producentów jest kilku i każdy z nich wprowadził własne modyfikacje

Ja potrzebuje najmniejszą kamerkę jaka jest i da radę z HA spiąć bo nie ma miejsca i ma być niewidoczna i dla tego nie ładuje normalnej IP

No do takiego zastosowania to faktycznie trudno znaleźć coś lepszego, zastanawiałem się nad montażem tych kamer w budkach lęgowych dla ptaków, no ale w tym sezonie to już zdecydowanie za późno (a trzeba jeszcze popracować nad zabezpieczeniem przed wilgocią - czujniki LYWSD03MMC udało mi się w miarę sensownie zabezpieczyć to chyba i z tym modułem sobie poradzę :smiley: ), no ale właśnie po pierwszych eksperymentach uważam, że optyka jest o zbyt długiej ogniskowej.
Dla porównania fotka z kamerki z szerokokątnym obiektywem (ale moduł jest wielokrotnie większy i mam go jak dotąd wpięty bezpośrednio w CSI w RPi)

I jak tam? Co przetestowałeś?

A próbowałeś może podmienić oryginalny moduł kamery (to jest bodajże OV5420?) na jakiś inny np. OV5647 (jest znacznie lepszy, wiem, bo używam go w eksperymencie z RPi4 - to ta kamera z obrazka powyżej) lub IMX219 (ten pewnie byłby ideałem, choć nie maiłem go jeszcze w ręce).

Akurat alternatywne dedykowane moduły kamer znalazłem (i pewnie na Ali można znaleźć je taniej), ale wszystkie bazują na przetworniku OV2640, a on czułością nie grzeszy


Spóźniony edit: (odpowiem sam sobie, ale może komuś się przyda taka informacja)

  1. Zamiast fabrycznego modułu kamery OV2640 (2Mpix) można użyć nieco lepszego OV5640 (5Mpix), ponoć może być też OV7670 (0,3Mbpix=vga, ale to sensu nie ma) - wśród obsługiwanych oprócz OmniVision (stan na marzec 2022), jest też 1 model Novatek, i po kilka GalaxyCore i BYD Microelectronics (wszystkie mają jednak gorsze parametry od fabrycznego, przynajmniej na papierze, no ale rozdzielczość vga bedąca maksimum dla większości z nich to jednak naprawdę prehistoria)
    pełna lista wspieranych przetworników przez sterownik jest tu:
    GitHub - espressif/esp32-camera
    (jakkolwiek nie wiem czy wszystkie są obsługiwane przez ESPHome - tj. czy dysponujemy dostatecznie świeżą wersją sterownika i czy wszystkie jego funkcje są zaimplementowane).

Jak dotąd w ramach eksperymentów zdobyłem drogą kupna jedynie OV2640 z szerokokątnym obiektywem i “długą” taśmą FFC (opisana jako 75mm, ale nie wiem jak Chińczyk to mierzył :stuck_out_tongue: )

  1. Kamera musi być “dedykowana” do ESP32 tj. być wyposażona w taśmę FFC ZIF 24pin

  2. Kamerki dedykowane dla RPi zero nie pasują, bo złącze ZIF w RPi zero/zero W/zero 2W mimo podobnych rozmiarów jest po prostu inne… 22pinowe (oczywiście teoretycznie można by szukać konwerterów czy przejściówek lub szarpnąć się na jakieś hardkorowe lutowanie, ale moim zdaniem to nie ma sensu (choć realnie wykorzystano jedynie 15 pinów co jest bodajże minimum do obsługi przetwornika kamery), coś dla hardkorów - można ponoć odpalić kamerę w rozdzielczości CIF (352x288 pix, czyli ćwiartka rozdzielczości PAL) lub mniejszej na modułach ESP32 bez PSRAM (więc nawet nie muszą być dedykowane dla kamery, oczywiście trzeba wtedy ogarnąć połączenia, ale niektóre bywają dostępne z kołkami w rastrze 2,54 mm czyli takim jak dla płytek stykowych).

Jasne - mam na kilku paskach i mam obydwa co w załączniku. Teraz nie mogę ze wzgledu na pandemie iść i kupić kilku pierdułek ale niebawem zrobię - mam plan

Witam, kupiłem ESP32-cam robiłem według poradnika z pierwszego postu i w logach mam takie cos, coś nie działa, nie łączy się z wifi, podpowiecie coś ?

Leaving...
Hard Resetting...
Hard resetting via RTS pin...
Done! Flashing is complete!

Showing logs:
[17:25:01]ets Jul 29 2019 12:21:46
[17:25:01]
[17:25:01]rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:25:01]configsip: 0, SPIWP:0xee
[17:25:01]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:25:01]mode:DIO, clock div:2
[17:25:01]load:0x3fff0018,len:4
[17:25:01]load:0x3fff001c,len:1044
[17:25:01]load:0x40078000,len:8896
[17:25:01]load:0x40080400,len:5828
[17:25:01]entry 0x400806ac
[17:25:02][I][logger:214]: Log initialized
[17:25:02][C][ota:461]: There have been 0 suspected unsuccessful boot attempts.
[17:25:02][D][esp32.preferences:114]: Saving preferences to flash...
[17:25:02][I][app:029]: Running through setup()...
[17:25:02][C][light:036]: Setting up light '666 light'...
[17:25:02][D][light:035]: '666 light' Setting:
[17:25:02][D][light:040]:   Color mode: 
[17:25:02][C][wifi:037]: Setting up WiFi...
[17:25:02]
[17:25:02]Brownout detector was triggered
[17:25:02]
[17:25:02]ets Jul 29 2019 12:21:46
[17:25:02]
[17:25:02]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:25:02]configsip: 0, SPIWP:0xee
[17:25:02]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:25:02]mode:DIO, clock div:2
[17:25:02]load:0x3fff0018,len:4
[17:25:02]load:0x3fff001c,len:1044
[17:25:02]load:0x40078000,len:8896
[17:25:02]load:0x40080400,len:5828
[17:25:02]entry 0x400806ac
[17:25:03][I][logger:214]: Log initialized
[17:25:03][C][ota:461]: There have been 1 suspected unsuccessful boot attempts.
[17:25:03][D][esp32.preferences:114]: Saving preferences to flash...
[17:25:03][I][app:029]: Running through setup()...
[17:25:03][C][light:036]: Setting up light '666 light'...
[17:25:03][D][light:035]: '666 light' Setting:
[17:25:03][D][light:040]:   Color mode: 
[17:25:03][C][wifi:037]: Setting up WiFi...
[17:25:03]
[17:25:03]Brownout detector was triggered
[17:25:03]
[17:25:03]ets Jul 29 2019 12:21:46

A tu konfig esphome


# Author by airijia.com
# ESP32-CAM
# Lovelace camera card https://github.com/custom-cards/camera-card
# Video tutorial https://youtu.be/-towjof_ixU
substitutions:
  # Modify variables based on your settings
  hostname: '666'
  ssid: 'airi'
  password: 'airijia.com'
esphome:
  name: esp32-cam
  platform: ESP32
  board: esp32dev
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
api:
  reboot_timeout: 0s
ota:
logger:

# ESP32-CAM
esp32_camera:
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32

  name: test
  # ... Frame Settings

# Flashlight
output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4
light:
  - platform: binary
    output: gpio_4
    name: esp32-cam light


SSID twojej sieci to airi? a hasło do niej to airijia.com?
wywal te podstawienia

Zakładam, że skonfigurowałeś te ustawienia poprawnie w secrets w ustawieniach ESPHome

no nie, ale tu mam ustawienia wifi
image

Spoko analizuję po kolei.

W logu jest zanik napięcia, czy zasilacz jest o wystarczającej obciążalności?

Fakt, nie pomyślałem o tym, zasilam to 3.3v przez konwerter uart

A na wypadek gdyby nie działało, bo masz inny moduł ESP32-CAM niż autor wątku, to w dokumentacji

są konfiguracje dla innych modułów.

Zadziałało, jest obraz, ale jak z tego wyciągnąc RTSP do frigate ?

RTSP? to chyba musisz zrobić transkoding, o ile mnie pamięć nie myli to stream jest mjpeg i dostępny po http

W ogóle, by łatwo uzyskać stream to potrzebujesz tego komponentu

Niestety tu widać taki problem, że stream jest nieaktywny póki ESP jest w trybie OTA (lub WiFi debug).
Podobna sytuacja występuje też w odwrotną stronę - gdy jakiś klient aktywnie korzysta ze streamu (a może być TYLKO JEDEN podpięty w danym momencie do streamu), to tryb OTA jest nieaktywny i nie zmienimy oprogramowania w ESP (ani nie zadziała WiFi debug).

Jedynie tryb snapshot czyli pojedynczych klatek nie ma takich efektów ubocznych.