ESP32-CAM-MB monitoring nauka obserwacja
ESP32-CAM-MB monitoring – Przewodnik po instalacji projektu prostego komputer ESP32-CAM + aplikacji która umożliwia przechwytywanie wideo z detekcji ruchu lub nagrywanie po klatkowe. Połączenie tego taniego komputera z prostym zasilaniem daje ogromne możliwości obserwacji otaczającego nas świata. Dostęp do nagrań i karty SD mamy przez przeglądarkę ale także po odpowiedniej konfiguracji ESP32-CAM może wysyłać nam zdjęcia bezpośrednio na pocztę. Jednym słowem gdy ESP32-CAM wykryje ruch nagra krótki film i X klatkę wyśle nam jako załącznik na pocztę e-mailem
Obojętnie gdzie jesteśmy, możemy cały czas kontrolować miejsce w którym jest ESP32-CAM. Dostępne są bardziej zaawansowane konfiguracje, umożliwiające podłączenie mikrofonu oraz servo mechanizmu do np. ruchu, obrotu całego zestawu , powodując szersze horyzonty obserwacji lub nagrywanie dźwięku. Jeśli ESP32-CAM nie ma dostępu do Internetu , cały materiał będzie automatycznie zapisywał się na karcie SD. Karta 4Gb wystarczy , 16Gb da dłuższe możliwości nagrywania.
Dołączenie Panelu słonecznego z prostym akumulatorem daje dużo frajdy przy obserwacji przyrody, zachęcam do własnych modyfikacji :).
Tanie koszty platformy i jej mikro rozmiary powodują że wiele projektów możemy zostawić w pobliskim lesie lub na balkonie i cieszyć się nowymi znajomymi, instalując je np. w karmiku dla ptaków

ESP32-CAM-MB monitoring nauka obserwacja
Przykłady obejmują kamery bezpieczeństwa lub monitorowanie dzikiej przyrody.
- ESP32-CAM + Przetwornica + Ogniwo 18650 + mały tani panel słoneczny = obserwacja ptaków
- ESP32-CAM + PowerBank = obserwacja domu, dziecka itp.
Zapisywanie zestawu plików JPEG jako pojedynczego pliku jest szybsze niż w przypadku pojedynczych plików i łatwiejsze w zarządzaniu, szczególnie w przypadku małych rozmiarów obrazów. Rzeczywista szybkość zależy od jakości i rozmiaru karty SD oraz złożoności i jakości obrazów. Polecam szybką karte SD
Moduł ESP32 Cam ma 4 MB pamięci PSRAM, która służy do buforowania klatek kamery i konstrukcji pliku AVI. W celu zminimalizowania liczby zapisów plików SD i optymalizacji zapisów poprzez dostosowanie ich do rozmiaru sektora karty SD. W celu odtwarzania AVI odczytujemy z SD do bufora i wysyłany do przeglądarki jako pojedyncze klatki czasowe. Karta SD używamy w trybie liniowym MMC 1, ponieważ jest praktycznie tak szybki jak tryb liniowy MMC 4 i zwalnia pin 4 (podłączony do lampy pokładowej) i pin 12, który może być używany np. PIR.
ESP32-CAM-MB monitoring nauka obserwacja
Pliki AVI nazywamy przy użyciu formatu daty i godziny YYYYMMDD_HHMMSS z dodanym rozmiarem klatki, szybkością nagrywania, czasem trwania i liczbą klatek na sekundę, np. 20200130_201015_VGA_15_60_900.avi, i przechowywane w folderze na dzień RRRRMMDD. Jeśli dołączamy ścieżkę dźwiękowa, nazwa pliku kończy się na _S.
Czas ESP32 pobieramy z serwera NTP lub podłączonego klienta przeglądarki.
Krótki opis ESP32-CAM-MB
Esp32 -Cam to tani, 2-megapikselowy, niewielki moduł kamery opracowany przez AI-Thinker. Esp32 . pojedynczy SoC Wi-Fi i Bluetooth 2,4 GHz (System On a Chip) zaprojektowany przez Espressif Systems. Kamera OV2640 firmy OmniVision lub inną.
Wymiary i cena sprawiają, że jest to doskonały wybór dla małych projektów IoT.
W tym poradniku przyjrzymy się bliżej kamerze Esp32-Cam. Omówimy czym jest Arduino IDE. Przyjrzymy się różnym sposobom ich łączenia, abyś mógł zacząć używać kamery Esp32-Cam w Twoje projekty. Zobaczymy, jak to może być proste, nawet jeśli jesteś kompletnym początkującym, więc zaczynajmy!


Microcontroller | ESP32 |
Frequency | 240MHz |
Flash | 4MB |
RAM | 320KB |
Vendor | AI Thinker |
ESP32-CAM-MB monitoring nauka obserwacja
Standardowa kamera AI-Thinker Esp32-Cam jest kompaktowa (27 mm x 40,5 mm x 4,5 mm) i naprawdę tania (około 30 zł). Warto dokupić ESP32-CAM-MB – płytka bazowa do ESP32-CAM bedziemy mogli w sposób prosty programować nasz zestaw bez zbędnych kabelków.
Esp32-Cam może pochwalić się wbudowaną latarką oraz gniazdem na kartę microSD do zapisywania zdjęć z 2-megapikselowego aparatu. Ta sama karta microSD może służyć do przechowywania plików przydatnych w Twojej aplikacji.
Wraz ze zintegrowaną łącznością Wi-Fi i Bluetooth (z wbudowaną anteną), płyta posiada złącze do anteny zewnętrznej, które może być przydatne, jeśli potrzebujesz zwiększyć zasięg swojego sygnału.
Płytkę możesz zasilić napięciem 3,3V lub 5V – wystarczy wybrać odpowiedni pin. Nawet jeśli wiele GPIO jest wykorzystywanych przez kamerę (15 pinów), adapter microSD (6 pinów), wbudowaną latarkę (GPIO 4) oraz wbudowaną czerwoną diodę LED (GPIO33), do podłączenia pozostaje jeszcze 10 GPIO zewnętrzne urządzenia peryferyjne (patrz jasnoniebieskie etykiety na powyższym obrazku).
Z drugiej strony, ze względu na dogodnie mały rozmiar, nie ma wbudowanego programatora USB (ma go tylko Esp32-Cam CH340) czyli ten który będziemy testować w dzisiejszym odcinku , a przełącznik resetowania znajduje się na spodzie.
Programowanie
Najprostszym sposobem na rozpoczęcie programowania tej małej płytki jest użycie zestawu narzędzi Arduino Esp32 w Arduino IDE (Integrated Development Environment), aplikacji opracowanej przez Espressif, która służy do pisania i przesyłania kodu (programów) do płyt kompatybilnych z Arduino.
Arduino IDE wykorzystuje okrojoną i uproszczoną wersję języka programowania C++. Początkujący mogą zacząć od przykładów i samouczków , ale bardziej zaawansowani programiści mogą tworzyć własne biblioteki i korzystać z aplikacji CLI (Command Line Interface) .
W Arduino twój program nazywa się „szkicem”, a kiedy go kompilujemy, jest „magicznie” debugowany, tłumaczony na właściwy C++ i wysyłamy go na tablicę (esp32-cam) w formie binarnej (język maszynowy).
Jeśli podczas kompilacji napotkasz błędy, samo Arduino IDE podpowie ci, jak znaleźć błąd. Dość często, szczególnie dla nowych użytkowników, jest to błąd składniowy. Jednym z najczęstszych błędów jest zapominanie o dodaniu średnika na końcu linii. Możesz dowiedzieć się więcej o Arduino IDE w wersji 1 , Arduino IDE w wersji 2 , Arduino Web Editor i Arduino PRO CLI z witryny internetowej Arduino.
Istnieją różne sposoby łączenia kamery Esp32-Cam i Arduino IDE (działające na komputerze), zarówno fizyczne, jak i zdalne. Następnie omówimy pięć różnych fizycznych sposobów nawiązania połączenia, następnie zobaczymy, jak pracować z kamerą Esp32-Cam i Arduino IDE, a na koniec przyjrzymy się alternatywie: zdalnemu łączeniu rzeczy.
Programator ESP32-CAM-MB
Programator Esp32-Cam MB Micro-USB to nakładka na standardową płytkę Esp32-Cam, która dodaje port Micro-USB. Wystarczy podłączyć płytkę do tarczy.
Po sparowaniu, jak na powyższym zdjęciu, potrzebujesz tylko kabla USB-micro-to-USB-A, aby połączyć się z komputerem PC lub Mac i przesłać kod. Otóż to. Łatwe, prawda?
Możesz kupić samą osłonę MB lub zestaw, który zawiera kamerę Esp32-Cam i osłonę MB. Aby połączyć się z komputerem, potrzebujesz kabla micro USB.
Proste kroki, aby rozpocząć
Instalowanie biblioteki Esp32
- Pobierz i zainstaluj wybraną wersję:
- Arduino IDE 1: najnowsza wersja lub wersje godzinowe
- Arduino IDE 2: kandydat do wydania lub nocne kompilacje
- Po uruchomieniu przejdź do „Menu Arduino IDE > Preferencje > Ustawienia > Dodatkowe adresy URL menedżera płyty”. Dodaj „https://dl.espressif.com/dl/package_esp32_index.json” i kliknij OK.
- Uruchom ponownie Arduino IDE i podłącz płytę do portu USB.
- Zainstaluj bibliotekę Esp32, przechodząc do „Narzędzia > Tablica > Menedżer tablic > Wyszukaj Esp32 > Zainstaluj Esp32 z Espressif Systems”.
- Wybierz odpowiednią płytkę: „Narzędzia > Płytka > ESP32 Arduino > AI Thinker ESP32-CAM”.
- Podłącz ESP32-CAM do portu mikro usb a z drugiej strony do komputera
- Wybierz właściwy port, przechodząc do „Narzędzia > Port”, a następnie wybierając port szeregowy ( zależy to od systemu operacyjnego ).
Teraz jesteś gotowy, aby napisać swój pierwszy szkic i przesłać go do Esp32-Cam!

Wgrywamy Aplikacje Aparatu ESP32-CAM-MB
Aplikacja aparatu ESP32 / ESP32S3 do nagrywania plików JPEG na kartę SD jako plików AVI i odtwarzania do przeglądarki jako strumień MJPEG. Format AVI umożliwia odtwarzanie nagrań z odpowiednią liczbą klatek na sekundę na odtwarzaczach multimedialnych. Jeśli mikrofon jest zainstalowany, plik WAV jest również tworzony i przechowywany w pliku AVI.
Cel projektu ESP32-CAM-MB monitoring nauka obserwacja
Aplikacja umożliwia przechwytywanie wideo z detekcji ruchu lub nagrywanie poklatkowe. Przykłady obejmują kamery bezpieczeństwa lub monitorowanie dzikiej przyrody.
My zastosujemy ją do obserwacji ptaków
Zapisywanie zestawu plików JPEG jako pojedynczego pliku jest szybsze niż w przypadku pojedynczych plików i łatwiejsze w zarządzaniu, szczególnie w przypadku małych rozmiarów obrazów. Rzeczywista szybkość zależy od jakości i rozmiaru karty SD oraz złożoności i jakości obrazów.
Projekt
Moduł ESP32 Cam ma 4 MB pamięci PSRAM, która służy do buforowania klatek kamery i konstrukcji pliku AVI w celu zminimalizowania liczby zapisów plików SD i optymalizacji zapisów poprzez dostosowanie ich do rozmiaru sektora karty SD. Odtwarzania pliku AVI z karty SD do bufora o rozmiarze wielosektorowym i wysyłany do przeglądarki jako pojedyncze klatki czasowe. Karta SD jest używana w trybie liniowym MMC 1, ponieważ jest praktycznie tak szybki jak tryb liniowy MMC 4 i zwalnia pin 4 (podłączony do lampy pokładowej) i pin 12, który może być używany np. PIR.
Pliki AVI są nazywane przy użyciu formatu daty i godziny YYYYMMDD_HHMMSS z dodanym rozmiarem klatki, szybkością nagrywania, czasem trwania i liczbą klatek na sekundę, np. 20200130_201015_VGA_15_60_900.avi, i przechowywane w folderze na dzień RRRRMMDD. Jeśli dołączona jest ścieżka dźwiękowa, nazwa pliku kończy się na _S.
Czas ESP32 jest ustawiany z serwera NTP lub podłączonego klienta przeglądarki.
Instalacja Projektu ESP32-CAM-MB monitoring nauka obserwacja
ESP32-CAM MB monitoring nauka obserwacja

Repozytorium głównego projekt
Pobierz pliki github na pulpit, rozpakuj plik, zmień nazwę rozpakowanego folderu, usuwając „-master” przenieś ten folder do szkiców Arduino które powinny znajdować się na twoim komputerze w lokalizacji:
TEN KOMPUTER – DOKUMENTY – ARDUINO
Powinieneś mieć : TEN KOMPUTER – DOKUMENTY – ARDUINO – ESP32-CAM_MJPEG2SD
Uruchamiamy Arduino IDE , wybierz meni Plik – Otwórz …

otwieramy wcześniej skopiowany folder ( ESP32-CAM_MJPEG2SD ) i wybieramy plik ESP32-CAM_MJPEG2SD.ino

Wybierz żądaną płytkę ESP-CAM, strzałka na dole zdjęcia pokazuje miejsce komunikatu potwierdzającego poprawną komunikacje naszego ESP32-CAM z komputerem. Warto później przejrzeć kod w zakładkach by zrozumieć projekt 🙂 my jednak wgramy gotowy projekt , wybierając strzałkę w prawo.

masterCAMERA_MODEL_appGlobals.h
- Płytka krzywkowa ESP32 –
CAMERA_MODEL_AI_THINKER
Kompiluj z włączoną funkcją PSRAM i następującym schematem partycji:
- ESP32 –
Minimal SPIFFS (...)
UWAGA: Jeśli pojawią się błędy kompilacji, musisz zaktualizować bibliotekę arduino-esp32
w IDE korzystanie z Menedżera Zarządów
Przy pierwszej instalacji aplikacja uruchomi się w trybie wifi AccesPoint. (połącz się np telefonem z SSID: ESP-CAM_MJPEG_ ), aby umożliwić wprowadzenie szczegółów swojego routera i hasła za pośrednictwem strony internetowej 192.168.4.1. Jeśli folder /data nie jest obecny na karcie SD, zostanie pobrany z witryny GitHub.
Kolejne aktualizacje aplikacji lub zawartości folderu /data można dokonać za pomocą przycisku OTA Upload na głównej stronie internetowej. Folder /data można również ponownie załadować z GitHub za pomocą przycisku Reload /data na stronie konfiguracyjnej dostępnej za pomocą przycisku Edit Config (Edytuj konfigurację).
Funkcje przeglądarki testowane tylko w Chrome.
Główna funkcja

Nagranie jest generowane przez kamerę wykrywającą ruch, jak podałem w sekcji Detekcja ruchu przez kamerę, lub trzymamy dany pin wysoko (utrzymanie nisko przez wewnętrzne pulldown po zwolnieniu), np. za pomocą PIR. Ponadto nagranie można zamówić ręcznie za pomocą przycisku Rozpocznij nagrywanie na stronie internetowej.
Aby odtworzyć nagranie, wybierz plik za pomocą Wybierz folder / plik w przeglądarce, aby wybrać folder dnia, a następnie wymagany plik AVI. Po wybraniu pliku AVI naciśnij przycisk Rozpocznij odtwarzanie, aby odtworzyć nagranie. Przycisk Rozpocznij transmisję pokazuje transmisję na żywo z kamery.
Nagrania można następnie wgrać na serwer FTP lub pobrać do przeglądarki w celu odtworzenia w aplikacji multimedialnej np. VLC.
Dostępna jest również funkcja po klatkowa, która może działać równolegle z przechwytywaniem ruchu. Pliki po klatkowe mają format 20230130_201015_VGA_15_60_900_T.avi
Inne funkcje i konfiguracja ESP32-CAM-MB monitoring
Działanie aplikacji można modyfikować dynamicznie jak poniżej, za pomocą głównej strony internetowej, która w większości powinna być oczywista.
Połączenia:
- Parametry FTP, Wi-Fi, SMTP i strefy czasowej można zdefiniować na stronie internetowej w obszarze Inne ustawienia.
- dla listy rozwijanej Użyj strefy czasowej lub wklej wartości z drugiej kolumny tutaj
- Aby zmiany były trwałe, naciśnij przycisk Zapisz
- Usługi nazw MDNS w celu użycia zamiast adresu IP.
http://[Host Name]
Aby zmienić parametry nagrywania:
Resolution
to rozmiar każdej klatki w pikselachFrame Rate
to wymagana liczba klatek na sekundęQuality
to poziom kompresji JPEG, który wpływa na rozmiar obrazu.
Zarządzanie pamięcią SD:
- Foldery lub pliki w folderach można usunąć, wybierając żądany plik lub folder z rozwijanej listy, a następnie naciskając przycisk Kasować i potwierdzając.
- Foldery lub pliki w folderach można przesłać na zdalny serwer za pośrednictwem FTP, wybierając żądany plik lub folder z rozwijanej listy, a następnie naciskając przycisk FTP Upload. Można przesłać w formacie AVI.
- Pobierz wybrany plik AVI z karty SD do przeglądarki za pomocą przycisku Pobierz.
- Usuń lub prześlij i usuń najstarszy folder, gdy kończy się wolne miejsce na karcie.
- Opcje przeglądania dziennika za pośrednictwem strony internetowej (mogą spowolnić nagrywaną liczbę klatek na sekundę), wyświetlane za pomocą przycisku Pokaż dziennik:
- logujemy się do przeglądarki: dziennik jest dynamicznie wysyłany przez websocket
- Zaloguj się na kartę SD: dziennik jest przechowywany na karcie SD, użyj przycisku Pobierz dziennik SD, aby pobrać lub odświeżyć.
Strona sieci Web konfiguracji
Więcej szczegółów konfiguracji dostępnych za pomocą przycisku Edytuj konfigurację, który wyświetla kolejne przyciski:
Wi-Fi: Dodatkowe ustawienia WiFi i serwera WWW.
Ruch: Patrz sekcja Detekcja ruchu przez kamerę.
Urządzenia peryferyjne, np.:
- Wybierz, czy ma być używany PIR (który może być również używany równolegle z detekcją ruchu kamery).
- Automatyczne włączanie lampy w celu wykrywania PIR w nocy.
- Kontroluj uchwyt Pan / Tilt do kamery.
- Podłączanie zewnętrznego mikrofonu I2S
- Podłączanie czujnika temperatury DS18B20
- Monitoruj napięcie zasilania akumulatora na pinie ADC
Należy pamiętać, że na module kamery ESP32 nie ma wystarczającej liczby wolnych pinów, aby umożliwić użycie wszystkich czujników zewnętrznych. Piny, które mogą być używane (z pewnymi ograniczeniami) to: 3, 4, 12, 13, 33.
- pin 3: oznaczony jako U0R. Używaj tylko jako pinu wejściowego, używanego również do flashowania.
- pin 4: Używany również do lampy pokładowej. Lampę można wyłączyć, usuwając jej rezystor ograniczający prąd.
- pin 12: Używaj tylko jako pinu wyjściowego.
- pin 33: Używany przez wbudowaną czerwoną diodę LED. Nie jest zepsuty, ale może zmienić przeznaczenie bezsensownego pinu VCC, usuwając sąsiedni rezystor oznaczony 3V3 i czerwony rezystor ograniczający prąd LED, a następnie prowadząc przewód między pinem VCC a czerwoną zakładką rezystora LED.
Może również korzystać z repozytorium ESP32-IO_Extender.
Płytka ESP32S3 Freenove może obsługiwać wszystkie powyższe urządzenia peryferyjne za pomocą zapasowych pinów.
Wbudowane diody LED:
- ESP32 – Lampa: 4, sygnał: 33.
- ESP32S3 – Lampa: 48, sygnał: 2.
Inne: Zarządzanie SD i pocztą e-mail. Wiadomość e-mail zostanie wysłana po wykryciu ruchu.
Gdy funkcja jest włączona lub wyłączona, ESP powinien zostać ponownie uruchomiony za pomocą przycisku Reboot ESP.
Detekcja ruchu przez kamerę ESP32-CAM-MB monitoring
Nagranie AVI generowane przez samą kamerę, wykrywając ruch za pomocą pliku.
Obrazy JPEG o dowolnym rozmiarze są pobierane z aparatu, a obrazy 1 na N są próbkowane w locie w celu ruchu, dekodując je do bardzo małych obrazów bitmapowych w skali szarości, które są porównywane z poprzednią próbką. Małe rozmiary zapewniają wygładzanie w celu usunięcia artefaktów i skrócenia czasu przetwarzania.motionDetect.cpp
Do wykrywania ruchu stosuje się wysoką częstotliwość próbkowania 1 do 2. Jeśli wykryjemy ruch szybkość sprawdzania zatrzymania ruchu jest zmniejszana do 1 do 10, dzięki czemu pliki JPEG można uchwycić tylko przy niewielkim narzucie. Tabela Detection time ms pokazuje typowy czas w frezarce do dekodowania i analizy klatki pobranej z kamery OV2640.
Detekcja ruchu przez kamerę jest domyślnie włączona. Można ja wyłączyć na stronie internetowej.
Dodatkowe opcje znajdują się na stronie indeksu kamery, gdzie:
Motion Sensitivity
Ustawia próg wykrywania ruchu, wyższy jest bardziej czuły.Show Motion
jeśli jest włączona i wciśnięty przycisk Start Stream, pokazuje obrazy sposobu wykrywania ruchu w celu kalibracji. Szare piksele pokazują ruch, który zmienia kolor na czarny po osiągnięciu progu ruchu.Min Frames
to minimalna liczba klatek, które mają zostać przechwycone lub plik zostanie usunięty
Nagrywanie dźwięku
Może użyć mikrofon I2S, taki jak INMP441. PDM i mikrofony analogowe nie możemy używanć ze względu na ograniczenia I2S_NUM_1 urządzeń peryferyjnych. I2S_NUM_0 nie jest dostępny, ponieważ jest używany przez aparat. Dźwięk jest sformatowany jako 16-bitowy jednokanałowy PCM z częstotliwością próbkowania 16kHz. Mikrofon I2S potrzebuje 3 wolnych pinów.
Nagrywanie dźwięku działa dobrze na ESP32S3, ale nie jest opłacalne na ESP32, ponieważ znacznie spowalnia liczbę klatek na sekundę.
Strona internetowa ma suwak wzmocnienia mikrofonu. Im wyższa wartość, tym większe wzmocnienie. Wybranie 0 anuluje mikrofon. Inne ustawienia w obszarze Przyciski Urządzenia peryferyjne na stronie internetowej konfiguracji.
Podsumowanie ESP32-CAM-MB monitoring nauka obserwacja
Tanie koszta platformy i jej mikro rozmiary powodują że wiele projektów możemy zostawić w pobliskim lesie, na balkonie i cieszyć się nowymi znajomymi , instalując je np. w karmiku dla ptaków. Poniższy zestaw pracuje 24H. PowerBank 5000mAh


Projekt i przykładowa obudowa z odświeżacza powietrza. Wykorzystaj wyobraźnie by ukryć twój projekt w zależności od zapotrzebowania. Pudełko po butach, opakowanie po maśle , słoik też będą dobre

Warto zobaczyć i poczytać
Przekierowywanie Portów na Routerze
Popraw bezpieczeństwo komputera
Sztuczna inteligencja – ChaptGPT
Zachęcam do innych poradników:
Whisper system automatycznego rozpoznawania mowy
Przekierowywanie Portów na Routerze
Popraw bezpieczeństwo komputera