Last Updated on 13. März 2021 by sfambach
Viele, die sich mit der ESP32 Cam beschäftigt haben, dachten über eine Erweiterung um einen PIR oder andere Sensoren nach. LiLyGo hat eine Serie von mehreren Kameras herausgebracht, unter anderem die beiden vorliegenden Modell mit einem PIR Sensor und einigen anderen interessanten Zusätzen.
Es gibt mehr als zwei Varianten, hier möchte ich die folgenden Vorstellen:
- Version 1.62 mit Mikrophon (beim Hersteller 162 genannt)
- Version 1.7 ohne Microphon (beim Hersteller 17 genannt)
Diese gibt es zudem noch mit zwei unterschiedlichen Linsen. Eine normale und eine Fischaugen-Linsen.
Als Zubehör gibt es einen Drucksensor, der an den Steckverbinder angeschlossen werden kann und ein Gehäuse. Für das gehäuse gibts noch eine Gummi-Stoßsicherung.
Pins sind bis auf die Schnittstelle unten keine nach aussen geführt. Über diese kann mittels I²C Bus mehr Peripherie angeschlossen werden.
Fakten
- ESP32
- Kamera OV2640 2 Megapixel (optional Fischaugenlinse)
- SSD1306 Monochrom Oled Display 128×64 Pixel
- PIR Sensor AS312
- MicroUsb Anschluss zum Programmieren
- Mikrophon (optional)
- 2 Taster Reset + Frei belegbar
- Akku Anschluss JST 1,25mm mit Lader IP5306 mit I²C Anschluss
- Antennen Anschluss IPEX
- Anschlussstecker für I²C Geräte
Pinbelegung
Kamera
Beschreibung | Pin Ohne Mic (V170) | Pin mit Mic (V162) |
DVP Y9 | 39 | 36 |
DVP Y8 | 36 | 37 |
DVP Y7 | 23 | 38 |
DVP Y6 | 18 | 39 |
DVP Y5 | 15 | 35 |
DVP Y4 | 4 | 14 |
DVP Y3 | 14 | 13 |
DVP Y2 | 5 | 34 |
DVP VSNC | 27 | 5 |
DVP HREF | 25 | 27 |
DVP PCLK | 19 | 25 |
DVP PWD | N/A | N/A |
DVP XCLK | 32 | 4 |
DVP SIOD | 13 | 18 |
DVP SIOC | 12 | 23 |
DVP RESET | N/A | N/A |
Sonstige
Beschreibung | Pin |
PIR Sensor (mit Mic/ohne Mic) | 19/33 |
Rechter Taster | 34 |
Mikrophon | |
SCK | 28 |
SDO | 33 |
WS | 32 |
SSD | |
I²C SDA | 21 |
I²C SCL | 22 |
Anschlussstecker | |
5V | 1 |
Masse GND | 2 |
3.3V | 3 |
IO22 (I²C SCL) | 4 |
IO21 (I²C SDA) | 5 |
Anwendungsbereiche
- Überwachung
- Modellbau
- Spycam
- Türspion
Ansichten
Analyse
Programmierung
Bibliotheken
Kamera
Die Bibliothek ist mittlerweile beim ESP32 Board dabei, wer es aktuell mag hier der Link zum Git projekt.
https://github.com/espressif/arduino-esp32
SSD1306
LiLyGo verwendet perse nicht die Adafruit Bibliotheken somit wird für das SSD1306 Display die folgende Bibliothek verwendet:
https://github.com/ThingPulse/esp8266-oled-ssd1306
Taster
Für den Taster wird die folgende Bibliothek verwendet:
https://github.com/mathertel/OneButton
Optional IP5306 Ladegerät
Der Akkulader hat einen I²C Anschluss mit Hilfe dessen einige Informations wie Batterieladestatus usw. ausgelesen werden können.
Hier eine Bibliothek die dabei unterstützt:
https://github.com/shaap/IP5306-arduino/blob/master/IP5306.h
Testprogramm
Vorarbeiten
- Runterladen des Beispielprogramms LINK.
- Repository clonen oder als Zip downloaden.
- Testprogramm befindet sich im Ordner sketch.
- Installation der oben genannten Bibliotheken oder Kopien in den Sketch Ordner legen.
Code Anpassen
Änderungen in der Datei Sketch.ino
Die richtige Board Version eindokumentieren
/***************************************
* Board select
**************************************/
/* Select your board here, see the board list in the README for details*/
// #define T_Camera_JORNAL_VERSION
// #define T_Camera_MINI_VERSION
// #define T_Camera_PLUS_VERSION
// #define T_Camera_V05_VERSION
// #define T_Camera_V16_VERSION
#define T_Camera_V162_VERSION
// #define T_Camera_V17_VERSION
// #define ESPRESSIF_ESP_EYE
WLan Daten eintragen
/***************************************
* WiFi
**************************************/
#define WIFI_SSID "TEST"
#define WIFI_PASSWD "TEST123456789"
Das Ganze umrühren, leicht erhitzen, compilieren und auf das Board spielen. Hier noch meine Board Einstellungen:
Auf dem Display sollte nach kurzer Zeit eine IP angezeigt werden. Evtl. mal den linken (Reset) Taster drücken.
Mit Hilfe dieser IP kann im Browser die Website der Kamera aufgerufen werden.
Den Stream noch starten und nun sollte ein etwas dunkles Kamera Bild erscheinen.
Probleme
IP wird nicht im Display angezeigt
WLan Einstellungen nochmal überprüfen evtl. externe Antenne anschliessen.
Webseite nicht erreichbar
Firewall überprüfen. Evtl. Kamera mal anpingen.
Weitere Problem
Im Beitrag ESP32 Cam sind weitere Problemfälle gelistet, die helfen könnten.
https://www.fambach.net/esp32-cam-modul/
Sonstiges
Akku Betrieb
Das Kameraboard, verfügt über einen JST 1,25mm Akkuanschlussbuchse die mit dem Laderbaustein IP5306 verbunden ist.
Mit einem Lipo 3.7V 1500mAh konnte ich die Kamera im Dauerbetrieb rund >3 Stunden betrieben.
Interessanter wäre es die Kamera in den schlafmodus zu versetzten und nur auf Signale vom PIR zu warten.
Neben der oben schon gelinkten Klasse:
https://github.com/shaap/IP5306-arduino/blob/master/IP5306.h
habe ich noch diese vom M5 Stack gefunden, sie erscheint mir etwsas komfortabler.
https://github.com/m5stack/M5Stack/blob/master/src/utility/Power.h
3D Gehäuse
https://www.thingiverse.com/search?q=t-camera&type=things&sort=relevant
Auch schick schaut dieses aus:
https://www.thingiverse.com/thing:3704769
Das folgende Gehäuse habe ich mal selbst ausgedruckt:
https://www.thingiverse.com/thing:3440888
Mein Druck ist auf Druckgeschwindigkeit ausgelegt. Mit besseren Druckern oder langsameren Druckoption ist sicherlich eine bessere Qualität möglich.
Bedarf:
- 12 Meter Filament Druckdauer
- 2,5 Stunden Druckdauer
- 4st M3 * 16 Senkkopfschraube (Ich hatte nur Linsenkopf, ging auch)
- 1st M3 *20 Senkkopfschraube
- 1st M3 * 8 Snkkopfschraube
- 3 M3 Muttern evtl. Untelegscheiben
Druckeinstellungen:
Drucker | CTC Bizzer |
Material | PLA |
Adhesion | Hier ohne / aber beseser mit siehe Ecken |
Heizplatte | 0°C |
Druckunterlage | Blaues Tape |
Drucktemperatur | 220°C |
Hüllen Dicke | 1mm |
Layer Höhe | 0.2mm |
Druckgeschindigkeit | 60mm/s |
Retraction-Geschwindigeit | 50 mm/s |
Die Teile sehen auf den ersten Blick ganz gut aus. Die Halterung passt Perfekt auf die Kugel. Diese ist nicht zu klein somit auch schön rund.
Das Gehäuse passt bei mir nicht gut aufeinander, hier sind die Toleranzen für meinen Billigdrucker zu gering. Der Steg in der Mitte ist meiner Druckunterlage geschuldet.
Dafür passt das Kameraboard mit samfter Gewalt gut ins Gehäuse.
Alles im allen sieht ganz gut aus;)
Für etwas mehr Platzbedarf habe ich noch das folgende Gehäuse ausprobiert.
https://www.thingiverse.com/thing:3414820
Bedarf:
- 8 Meter Filament Druckdauer
- 1,5 Stunden Druckdauer
- 4st M3 * 8 Linsenkopf Schrauben
- 6St M1 Spax o.ä. od. evtl. Heißkleber oä.
Druckeinstellungen:
Drucker | CTC Bizer |
Material | PLA |
Adhesion | Brim/Bauplatte |
Heizplatte | 0°C |
Druckunterlage | Blaues Tape |
Drucktemperatur | 220°C |
Hüllen Dicke | 1mm |
Layer Höhe | 0.2mm |
Druckgeschindigkeit | 60mm/s |
Retraction-Geschwindigeit | 50 mm/s |
Das Gehäuse sieht schlicht aus erfüllt aber seinen Zweck. Die kleinen Schrauben sind etwas friemelig aber halten das Board gut am Deckel.
Auch für den Akku ist genügen Platz
Auch mein dicker Micro-USB Stecker passt.
Fazit
Dank der Herstellerseite und etwas Vorwissen, ist die Kamera schnell betriebsbereit (ca. 1/2 Stunde). Ein Vorteil ist der vorhandene Micro USB Anschluss. Hier muss nicht erst ein Programmierer angeschlossen werden.
Die Helligkeit der Kamera ist mit den standard Einstellungen nicht wirklich überzeugend. Hieran kann sicherlich noch etwas optimiert werden. Auch laufen die Bilder etwas nach. Das soll heissen, wenn sich die Szene ändert werden noch, wie bei einem Wasserzeichen, Teile des alten Bildes angezeigt. Ich vermute auch das dürfte mit etwas Tuning behoben werden.
Sonst reagiert die Kamera besser als ihr kleiner Bruder die ESP32 Cam und scheint auch mit Versorgungsspannungen unter 5V gut zu laufen.
Einem Dauertest habe ich die Kamera noch nicht unterzogen allerings lief sie bei mir mehrere Stunden am USB-Port ohne Abstürze. Den PIR und ein paar andere Features wurden von mir noch nicht verwendet.
Habt ihr weitere Infos oder Empfehlungen, die ich mit aufnehmen soll, lasst mir einfach einen Kommentar da.
Verwandte Beiträge
Quellen
https://www.thingiverse.com/search?q=t-camera&type=things&sort=relevant
https://www.thingiverse.com/thing:3440888
Hallo Stefan,
Bräuchte noch einen Denkanstoss zur Programmierung des pir sensors.
Ein Foto bei Bewegung anschließend wieder schlafen gehen bis zur nächstens Bewegungserkennung.
Bekomme es alleine nicht hin.
Danke im voraus.
LG
Hallo,
Das könnte über interrupts und deep Sleep funktionieren. Hier ein nettes Video zu dem Thema:
https://www.youtube.com/watch?v=CJhWlfkf-5M
Gruß
Stefan
Hallo Forum,
Wie so oft saß das Problem vor dem Rechner. Hatte im Sketch nur die ino datei kopiert und nicht alle Anderen wie zB. die select_pins..h Datei
Schönes Wochenende
Hi ?, habe deine anderen Beiträge mal gelöscht …
Dir fehlt die Datei mit dem Pinout für das Board diese findest du hier:
https://github.com/lewisxhe/esp32-camera-series/tree/master/sketch
Du musst noch ein define für deine Kamera vor dem #include „select_pins.h“ in der .ino Datei eintragen bzw. warscheinlich ist das schon da also nur ausdokumentieren
Für Version 1.7 wäre das dann:
#define T_Camera_V17_VERSION
Für eine Version V17 Plus habe ich in der Datei nichts gefunden.
Aber das Pinout wird auf der Camera Screen Seite im gleichen Repository beschrieben, musst also nur einen neuen Abschnitt in der select_pins.h anlegen oder den für die 17 anpassen.
Gruß
Stefan
Hallo Forum ,hoffentlich jetzt im richtigen Register !
ich bin seit Neuem Besitzer des TTGO t-camera esp32 Board. Rückseite trägt die Definition ESP 32 Wrover-B.
Bin strikt nach der Anleitung vorgegangen, Testprogramm heruntergeladen und die Version 17 plus die beiden Bibliotheken installiert.
https://github.com/lewisxhe/esp32-cam…
Version 05 auch probiert ohne Erfolg, obwohl von Rui Santos (Random Nerd Tutorials empfohlen)
[Blockierte Grafik: https://makeradvisor.com/wp-content/uploads/2020/09/TTGO-T-Camera-ESP32-OLED-PIR-Sensor-Arduino-IDE-Settings.png%5D
Falls das Bild nicht ankommt !
Board:ESP32 Dev Module
Partition Scheme:Huge APP /3MB No OTA/1MB SPIFFS)
PSRAM: Enabled
Fehlermeldung beim Kompilieren
exit status 1
select_pins.h: No such file or directory
Markierung im Sketch:
#include „select_pins.h“
Wäre dankbar für Lösungsvorschläge 🙂
Grüsse