IP Kamera Modul ESP32-CAM

hier ein Beitrag, wie man eine IP Kamera aus günstigen Komponenten baut. Die Kameras haben WLAN, SD Karten Bildspeicherung, Gesichtserkennung und QR. Code Scan Funktionen. Immer mehr IP Kameras liefern keinen http oder https Stream mehr. Die meisten Kameras laufen fast ausschließlich über den RTSP Stream.

hier ein Beitrag, wie man eine IP Kamera aus günstigen Komponenten baut. Die Kameras haben WLAN, SD Karten Bildspeicherung, Gesichtserkennung und QR. Code Scan Funktionen. Immer mehr IP Kameras liefern keinen http oder https Stream mehr. Die meisten Kameras laufen fast ausschließlich über den RTSP Stream.

Was wird benötigt :

  1. Ein ESP32-Cam Modul
  2. Kunststoff Gehäuse von Reichelt RND 455-00307 Kunststoffgehäuse, 70 x 50,4 x 29,5 mm
  3. Steckerkabel 2 adrig
  4. HLK-PM01 Stromversorgungsmodul 220VAC auf 5VDC
  5. Gehäuseverschraubung PG9
  6. FTDI Adapter USB zu TTL UART zum programmieren und flashen des Controllers

Das ESP32-CAM Modul

Der ESP32 wie auch der ESP8263 gehören seit langem zu gängigen Mikrocontrollern mit WLAN. Nun gibt es schon länger den ESP32 mit einem Kamera Modul OV2640. Eine erweiterte Version ist das Kamera Modul ESP32-EYE. Hier in dem Beispiel wurde ein Modell der Firma Espressif verwendet ursprünglich wurde das Modul von der Firma AT Thinker hergestellt. Mit Absicht wurde hier ein Modul eines Fremdherstellers gewählt, um zu sehen ob sich die Treiber gleich verhalten oder welche Unterschiede es gibt.

ESP32 Cam Modul
ESP32-Cam Modul

Die Pinbelegung läßt sich einfach im Netz finden ebenso wie das verkabeln zum flashen des Controllers.

ESP32-CAM Modul PinOut
ESP32-CAM Modul PinOut

Flashen des Controllers mit dem Betriebssystem

Beim verkabeln mit dem FTDI USB Adapter ist darauf zu achten, das man zum übertragen der Daten mit einem Jumperkabel GND und GPIO 0 verbindet. Sonst werden die Verbindungen wie gewohnt verkabelt GND nach GND, 3,3V oder 5V nach 3,3V oder 5V, Tx FTDI Adapter nach GPIO 03, Rx FTDI Adapter nach GPIO 01. Beim Hochladen der Daten sind 3,3V und 5V möglich. Während des Betriebs braucht der Controller allerdings 5V sonst kommt es zum Spannungsabbruch während das Programm das Kamera Modul am Controller sucht. Der seriell Monitor würde dann die Fehlermeldung auswerfen => Finde kein Kamera Modul. Die gleiche Fehlermeldung kommt auch falls die Kamera nicht korrekt in der Verbindung steckt.

Nach dem öffnen der Arduino IDE muß sicher gestellt werden das der Bordverwalter den richtigen Treiber findet (ESP32 von Espressif Systems). Das bindet man den JSON Link in den Voreisstellungen ein.

Arduino Bordverwalter ESP32 CAM Module
Arduino Bordverwalter ESP32 CAM Module

Der Link kann hier abgerufen werden Klick .Er ist aktuell unten aufgeführt jedoch kann sich der Link im laufe der Zeit ändern.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Nachdem man den Bordverwalter dann geöffnet hat filtert/sucht man nach ESP32.

Treiber im Bordverwalter
Treiber im Bordverwalter

Hier nun noch die Einstellungen für das ESP Wrover Module um die Daten hochladen zu können

ESP 32 Wrover Module hochladen Einstellungen
ESP 32 Wrover Module hochladen Einstellungen

Als Code verwendet man einfach das: Beispiele => ESP32 => Camera => CameraWebServer Code Beispiel.

Wenn man dann alles richtig gemacht hat sollte das Hochladen in der Arduino IDE so aussehen wie im folgenden Bild.

ESP32 Wrover Module Daten hochladen
ESP32 Wrover Module Daten hochladen in der Arduino IDE

Im Abschluß bootet man den Controller ohne die GND GPIO 0 Verbindung. Das Booten wird mit dem drücken des RESET Knopfes am Board ausgelöst. Wenn man im Code die richtigen Zugangsdaten SSID und das Paßwort eingegeben hat. meldet sich der ESP32 über DHCP im Netzwerk an. In dem seriell Monitor der IDE liest man dann die zugewiesene IP Adresse ab. Diese wird dann in die Browser Adreßleiste eingefügt und man wird zu dem Webinterface geleitet.

Das Interface kann wie folgt verwendet werden:
http://xxx.xxx.xxx.xx:81/stream
http://xxx.xxx.xxx.xx/capture
http://xxx.xxx.xxx.xx/status

ESP32 Wrover Module Web Interface
ESP32 Wrover Module Web Interface
ESP-CAM im Gehause01
ESP-CAM im Gehause01
ESP-CAM im Gehause02
ESP-CAM im Gehause02

hier noch ein Tipp wie man den Netzwerknamen des Controllers ändern kann, wenn man mehrere Bords im Netzwerk hat. Die drei Zeilen müssen unbedingt von dem WIFI.begin() gesetzt werden.

char hname[] = "ESP32-GARAGE-CAM";
WiFi.setHostname(hname);
WiFi.begin(ssid, password);

[coffee]