Aktionen

BP

BP:Vogelkasten mit Kamera

Aus Physik und ihre Didaktik Wiki


In diesem Projekt soll ein Vogelhaus mit einer Kamera ausgestattet werden, die die Aktivität im Inneren aufzeichnet und streamt. Basis ist ein kostengünstiges ESP32-CAM Modul.

Vogelhaus

Benötigtes Material

  • Vogelhaus
  • ESP32-CAM
  • Programmiermodul für ESP32-CAM
  • Computer mit Arduino-Software
  • 3V Batterie, falls keine externe Stromversorgung möglich ist
  • IR-LEDs zur Innenbeleuchtung

Programmieren des ESP32-CAM

Schritt 1

Als erstes ladet ihr die Arduino IDE für den PC herunter (zu fidnen untert dem Link: https://www.arduino.cc/en/software).

Schritt 2

In der Arduino IDE müssen nun die notwendigen Bibliotheken für den ESP32 mit einbezogen werden. Dies geschiet direkt im Programm über ,,Datei“->,,Voreinstellungen“. Dort muss folgende URL https://dl.espressif.com/dl/package_esp32_index.json, eingefügt werden. Danach kann unter ,,Werkzeuge“ -> ,,Boards“ -> ,,Boardverwaltung“ das Paket für ESP32 heruntergeladen werden, indem in der Suchleiste nach ESP32 gesucht wird.

Schritt 4

Die Auswahl des Boards vor dem Programmieren geschieht mit ,,Werkzeuge“ -> ,,Board“->,, ESP32“. Das hier verwendete Modul ist das ESP32 Wrover Model, welches ausgewählt werden muss.

Schritt 5

Programm neustarten und den ESP32 per USB an den PC anschließen. Unter ,,Werkzeug“ muss der verwendete USB-Port ausgewählt werden. Kann der Port nicht angeklickt werden, so wird noch ein passender Treiber benötigt. Der Treiber ist abhängig vom verbauten USB-to-Serial-Chip. Meist geben die Hersteller den benötigten Treiber an, ansonsten hilft ein Blick ins Datenblatt, welcher der richtige ist. Für den hier verwendeten USB-to-Serial-Chip wird der CH341SER-Treiber benötigt. http://www.wch.cn/download/CH341SER_ZIP.html

Schritt 6

Jetzt ist alles bereit, um wirklich zu programmieren und den Code auf den Mikrocontroller zu übertragen. Dazu wird ein vorprogrammiertes Beispiel verwendet, um das Programm erst mal kennenzulernen. Dieses findet man unter ,,Datei“ -> ,,Beispiele“ -> ,,ESP32“ -> ,,Camera“-> ,,CameraWebServer“. Folgende Zeilen müssen angepasst werden.

//#define CAMERA_MODEL_WROVER_KIT mit zwei Slashes (//) auskommentieren und

//#define CAMERA_MODEL_AI_THINKER wieder einkommentieren.

Schritt 7

Als letztes müssen nun die Werte des ssid (Name deines Wlan-Netzes) und das Passwort eingegeben werden.

Schritt 8

Nun kann das Programm kompiliert und hochgeladen werden. Während dem Hochladen muss am ESP32 der Reset Knopf kurz gedrückt werden.

Serieller Monitor geöffnet
Schritt 9

War der Upload erfolgreich, kann über ,,Werkzeuge“-> ,,seriellen Monitor“ der interne serielle Monitor des Programms geöffnet werden. Dort sollte ganz unten eine IP Adresse stehen. (siehe Abbildung 1). Ist dies nicht der Fall, hilft häufig ein Programmneustart und die richtige Koniguration der seriellen Schnittstelle (unten rechts am Monitor sollte ,,Newline“ und ,,115200“ stehen).

Schritt 10

Zum Schluss kann die IP-Adresse in einen beleibeigen Browser eingeben werden. Das verwendete Gerät muss sich hierbei im selben Netz befinden.

Schritt 11

Auf der aufgerufenen Seite lassen sich am linken Rand einige Optionen wie Auflösung, Helligkeit oder Kontrast einstellen.

Aufbau des Vogelhauses

Das Vogelhaus selber wurde aus mehreren Holzplatten gefertigt, die zu einem Haus aneinandergeleimt wurden. Das Dach wurde zusätzlich mit grüner Farbe lackiert und ist mit Scharnieren aufklappbar an der hinteren Rückwand befestigt. Abhängig vom Standort und der gewünschten Vogelart werden unterschiedlich große Löcher und Hausformen benötigt. Der NABU hat hierzu hilfreiche Hinweise auf seiner Webseite dokumentiert. Um die Elektronik im Vogelkasten unterzubringen, wurde eine passende Vertiefung in die Innenseite des Deckels gebohrt. Die Batterie wurde in einer angeklebten Halterung befestigt; der ESP32 mit einem isolierten Magneten angeheftet und alle anderen Teile mit Klebeband festgeklebt.

ESP32-CAM Modul mit Batterie und IR-LEDs an der Innenseite des Deckels

Resultat

Auf den Bildern ist das Bild, welches der ESP32 aufnimmt, zu sehen, im Vergleich zu einem mit einer Handykamera aufgenommenen Bild. Die schlechte Bildqualität liegt zum Einen an der günstigen Bauweise, die eine niedrige Auflösung und schlechte Nachtsicht bedingt, zum Anderen an den schlechten Lichtverhältnissen, die mit Infrarot-LEDs verbessert werden mussten. Hellere IR-LEDs können die Bildqualität deutlich steigern, da dann die Kamera die Bildinformationen weniger stark verstärken muss.

Inhalt des Vogelhauses zur Demonstration mit offenem Deckel und mit einer Handykamera aufgenommen.
Stream der Kamera bei geschlossenem Deckel und angeschalteten IR-LEDs.

Mögliche Probleme und ihre Lösungen

Der ESP32-CAM kann grundsätzlich nur einen Clienten bedienen. Versuchen also mehrere Nutzer, auf den Stream zuzugreifen, so kann nur der erste ein Bild sehen. Außerdem ist der Stream nur innerhalb des WLANs erreichbar.

Eine Lösung für beide Probleme stellt ein Webserver auf einem Raspberry Pi dar. Über einen DDNS-Server kann zum einen der Stream über das WLAN hinaus zur Verfügung gestellt werden, zum andern lässt sich der Stream auf dem Raspberry Pi hosten, sodass mehrere Nutzer darauf zugreifen können. An der Umsetzung und einer Anleitung dazu wird gearbeitet.

Fotos

  • slide 1
         Elektronik
    
  • slide 1
         Vogelhaus
    
  • slide 1
         Inhalt
    
  • slide 1
         Anzeige
    

Literatur

https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/

88x31.png Universität Stuttgart, 5. Physikalisches Institut, AG Physik und ihre Didaktik, lizenziert unter CC BY-NC-SA 4.0