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.
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ą dotyczy to też optyki
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)
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
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ę ), 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)
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)
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ł )
Kamera musi być “dedykowana” do ESP32 tj. być wyposażona w taśmę FFC ZIF 24pin
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
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.