In diesem Artikel will ich beschreiben, wie ich eine ESP32 Cam mittels Arduino zu einer WLAN Webcam installiert habe. Die Kamera besitzt einen Webserver über den sie später von meinem Internetbrowser gesteuert sowie das Bild verfolgt werden kann.
USB-TTL Konverter:
Da die Kamera über keine USB Schnittstelle verfügt muss ich hier einen USB zu TTL Konverter bzw. einen FTDI Adapter verwenden um die Software von meinem Rechner auf den ESP32 zu übertragen.
USB-TTL Konverter beschalten:
Die ESP32 Cam wird mit dem Adapter wie auf dem Bild unten verdrahtet.
Dabei verwende ich den 5V Eingang des ESP32. Der Jumper auf dem FTDI-Adapter muss auf 5V gesteckt werden. Andere Adapter haben ggf. getrennte Anschlüsse für 5V und 3,3V.
GND kommt auf GND. Dabei verwende ich den GND Anschluss neben dem 5V Eingang.
RX und TX werden über Kreuz angeschlossen. Also TX kommt beim ESP32 auf RX (GPIO3) und RX auf TX (GPIO1).
Um das Aufspielen der Software zu ermöglichen ist noch eine Brücke zwischen GND und GPIO0 erforderliche. Diese ist nach dem Programmieren zu entfernen.
Der USB Anschluss wird später mit dem Rechner verbunden. Hier ist ggf. der entsprechende USB-Treiber am Rechner zu laden. Siehe auch Home-Automatic Kapitel C3.
So sieht die Schaltung aus:
Dabei ist TX des Konverters auf GPIO3 = U0RXD und RX auf GPIO1 = U0TXD der ESP32Cam zu legen. Also jeweils der Sender (TX = Transmitter) mit dem Empfänger (RX = Receiver) zu verbinden.
Arduino IDE vorbereiten:
Bevor es mit dem Aufspielen der Software los gehen kann muss die Arduino IDE vorbereitet werden. Diese kennt bisher den ESP32 noch nicht und muss auf diesen eingestellt werden.
Boardverwalter URL:
Ich beginne mit der Eingabe der Boardverwalter URL für den ESP32. Dazu gehe ich unter “Einstellungen“ auf die Registerkarte “Voreinstellungen“. Ich klicke bei “Zusätzliche Boardverwalter-URLs“ hinten auf das Rechteck und es öffnet sich ein Fenster in dem bereits die URL für meinen ESP8266 eingetragen ist. Hier gebe ich in einer neuen Zeile die URL für den ESP32 ein.
Diese lautet: https://dl.espressif.com/dl/package_esp32_index.json
Noch mit OK bestätigen und die Neue URL wurde an die Vorherige, getrennt durch ein Komma, angehängt. Die URL des ESP8266 kann weiter bestehn bleiben und bleibt auch in ihrer Verwendung erhalten. Lediglich die Boards sind bei einem Wechsel wieder neu einzustellen.
Der Boardverwalter:
Nachdem die URL vorhanden ist, kann ich ESP32 Boardverwalter Laden. Unter Werkzeuge, Board steht noch das Board für meine ESP8266. Daher muss ich unter Boardverwalter das ESP32 Board laden. Einfach in die obere Zeile ESP32 eingeben und es wird mir ein Board gezeigt. Ich habe also nicht die Qual der Wahl. Hier auf installieren klicken und schon wird der ESP32 in die Arduino IDE geladen.
ESP32 Board auswählen:
ESP32 Boards gibt es in Hülle und Fülle, daher muss Arduino noch wissen welches Board ich genau verwenden will. Also noch das entsprechende Board einstellen. Meine ESP32-Cam ist ein AI Thinker-Board. Andere Boards sind durch ihre Bauform leicht von diesem zu unterscheiden.
Also lade ich das Board in meine Arduino IDE. Unter Werkzeuge finde ich jetzt ESP32 Arduino. Hier muss ich ziemlich weit nach unten Scrollen um mein benötigtes AI Thinker ESP32-CAM Board zu finden und auszuwählen. Die Einstellungen für das Board kann ich direkt übernehmen (siehe Bild unten).
Der Sketch:
Jetzt kann es endlich losgehen. Meine Arduino IDE ist bereit. Fehlt nur noch ein geeigneter Sketch. Auch diesen kann ich mir aus der Arduino IDE holen. Unter Datei – Beispiele – ESP32 – Camera wähle ich den “CameraWebServer“.
Sketch anpassen:
Der Sketch wird in meinen Arduino-Editor geladen.
Bevor er jedoch verwendet werden kann sind noch einige Änderungen durchzuführen.
Das vorgegebene CAMRA_MODELL_WROVER_KIT ist durch voranstellen von “//“ zu deaktivieren.
Dafür sind die “//“ vor CAMERA_MODEL_AI_THINKER zu entfernen.
Außerdem muss noch die SSID und das Passwort meines WLAN-Netzes ergänzt werden.
Sketch hochladen:
Jetzt steht dem Hochladen nichts mehr im Wege.
Ich stecke meinen vorbereiteten FTDI-Adapter an die USB meines Rechners.
Ggf. noch den COM Port einstellen und die Reset Taste auf dem ESP kurz drücken.
Oben links auf das Häkchen klicken und der Sketch wird kompiliert.
Ist er fehlerfrei kann mit Klick auf den Pfeil oben rechts das Hochladen gestartet werden.
Serieller Monitor:
Wenn das Hochladen abgeschlossen ist, öffne ich unter Werkzeuge den Seriellen Monitor.
Ebenso entferne ich die Brücke von GND nach GPIO0 am ESP32.
Danach drücke ich die Reset Taste auf dem ESP32.
Im Seriellen Monitor sollte sich nun etwas tun und folgende Anzeige sollt zu sehen sein.
Es wird mir angezeigt auf welchen Port mein Web Server arbeitet und auch welchen Port der Videostream nutzt. Weiterhin wird die IP-Adresse ausgegeben auf der ich die Kamera mit meinen Internetbrowser ansprechen kann. Diese IP sollte ich in meinem Router auf jeden Fall Fixieren, damit die Kamera immer unter dieser IP zu finden ist.
Zugriff auf die Kamera:
Das will ich doch gleich einmal ausprobieren. IP-Adresse in die Adresszeile des Internetbrowsers eingeben. Schon geht der Web-Server der Kamera auf. Start Stream lässt auch das Bild erscheinen.
An den Einstellungen kann nun das Bild verändert und gedreht werden. Dies ist aber selbst erklärend.
So habe ich mir mit wenig Aufwand eine preiswerte WLAN Kamera gebastelt die ich nun für weitere Bastelprojekte verwenden kann.
Noch ein paar kleine Tipps:
In vielen Internetblocks wird in der Arduino IDE als Bord für die “ESP32-Cam das Wrover Module“ verwendet. Dies hat bei meinem Board nicht besonders gut funktioniert. Das Bild ist nach kurzer Zeit eingefroren. Auch waren Streifen im Bild zu sehen. Mit dem AI Thinker Board (siehe Board auswählen) waren diese Probleme beseitigt.
Ein weiterer Fehler könnte durch eine zu geringe Leistung bei der Versorgungsspannung auftreten. Das Board sollte am 5V Eingang betrieben werden und ein Netzteil mit höherer Laststabilität sollte zu Einsatz kommen (min 2A). Steifen im Bild könnten hierauf hindeuten.
Ein Gehäuse quasi für Null kann mit einem kleinen Rest eines Kabelkanals 30x15mm hergestellt werden. Dazu sind am ESP32 die Stifte für das Steckbrett mit einem Seitenschneider etwa um die Hälfte zu kürzen. In den Deckel ist dann mittig ein Loch von ca. 4 – 9 mm (je nach Modell) zu bohren. Lässt man den Kabelkanal an den beiden Enden offen, sollte das für die Kühlung des ESP reichen. Schon ist das Gehäuse fertig und ist in den Farben weiß, grau und braun zu haben.
Geschafft, ich hoffe euch auf den Geschmack gebracht zu haben und ihr baut euch auch eine WLAN-Web-Cam unter 10,- Euro.