English Click this button for the international website

ESP32-CAM: ESP32 met camera en SD-kaartlezer

De naam zegt het al: de ESP32-CAM is een WiFi/Bluetooth ontwikkelbord met zowel een ESP32 microcontroller als een camera. Ook zijn er een aantal GPIO’s beschikbaar en is er een aansluiting voor een externe antenne. Daarmee lijkt hij op de TTGO T-Journal van Lilygo, maar er zijn ook een aantal belangrijke verschillen.

ESP32-CAM TTGO T-Journal
ESP32 module ESP32-S ESP32-PICO-D4
USB naar serieel Nee CP2104
Batterij circuit Nee IP5306
PSRAM Ja Ja
Camera OV2640 OV2640
Display Nee OLED 128×32
Knoppen 1 2
GPIO 8 2+2
SD Max. 4GB Nee
Antenne PCB + U.FL SMA + U.FL
#Define AI_THINKER
Flitser Ja Nee
Dit bord heeft geen USB naar serieel interface. Programmeren moet dus via een externe interface gebeuren. Ook de voeding kan daardoor niet via USB plaatsvinden. Verder ontbreken een batterij management circuit en een OLED-display. Daarentegen heeft dit bord wel een SD-kaartslot en LED-flitslicht, en is het een stuk compacter. Dit bord werd wederom geleverd door VNGsystems uit Gouda.
ESP32 boards
ESP32 boards
ESP32-CAM Wifi+Bluetooth Camera board met de OV2640 Camera module
Getest en Aanbevolen door OneGuyOneBlog.com:

ESP32-CAM Wifi+Bluetooth Camera board met de OV2640 Camera module

Voeding

Zoals bovengenoemd, ontbreekt een USB-aansluiting. Het board moet daarom gevoed worden via de 5V pin en GND pin. Ik gebruik hiervoor een breadboard-voeding, ingesteld op 5V.

ESP32-CAM: ESP32 met camera en SD-kaartlezer - voeding
ESP32-CAM: ESP32 met camera en SD-kaartlezer – voeding

Externe antenne of PCB

De ESP32-S module heeft een antenne op het PCB, maar ook een U.FL-aansluiting voor een externe antenne. Je kunt de gewenste antenne activeren door de juiste plaatsing van een nul-ohm weerstand (brug). De bovenste positie activeert de antenne op het PCB, de onderste activeert de U.FL-aansluiting. Op mijn bord was de externe aansluiting geactiveerd, zie foto.

ESP32-CAM: ESP32 met camera en SD-kaartsleuf - antennekeuze
ESP32-CAM: ESP32 met camera en SD-kaartsleuf – antennekeuze

ESP32-CAM programmeren: seriële interface

Het board heeft geen seriële interface, dus om hem te programmeren heb je een externe interface nodig. Ik gebruik hier een FTDI-kloon. Let er op dat de interface op 3V moet werken: de RX/TX-pinnen op de ESP32 zijn niet 5V-tolerant.

ESP32-CAM: ESP32 met camera en SD-kaartlezer - FTDI interface
ESP32-CAM: ESP32 met camera en SD-kaartlezer – FTDI interface

Om de ESP32 in programmeermodus te zetten moet pin IO0 met GND verbonden worden. Na het programmeren kan deze verbinding weer verbroken worden. Sluit alles als volgt aan:

  • FTDI-interface: RX naar U0T en TX naar U0R op de ESP32-CAM
  • Voeding: GND naar de FTDI-interface, GND en 5V naar de ESP32-CAM
  • ESP32-CAM: IO0 naar GND (na het programmeren verwijderen)
FTDI (3V) ESP32-CAM POWER (5V)
Groen RX U0T
Geel TX U0R
Zwart GND GND
Paars IO0 GND
Zwart GND GND
Rood 5V 5V

ESP32-CAM: ESP32 met camera en SD-kaartlezer - USB-interface

ESP32-CAM: ESP32 met camera en SD-kaartlezer – USB-interface

USB naar TTL adapter - FTDI Compatible
Getest en Aanbevolen door OneGuyOneBlog.com:

USB naar TTL adapter - FTDI Compatible

ESP32-CAM programmeren: Arduino IDE

Wanneer je het board en de seriële interface hebt aangesloten dan kun je hem programmeren met de vertrouwde Arduino IDE. Allereerst moet je natuurlijk de IDE geïnstalleerd hebben, samen met de ESP32-core. Heb je dat nog niet gedaan, lees dan eerst ESP32 met Arduino IDE op Linux en Windows.

Kies eerst de juiste ESP32-module:

Hulpmiddelen > Board: >  “ESP32 Wrover module

Arduino IDE: ESP32 Wrover module
Arduino IDE: ESP32 Wrover module

Kies het juiste partitieschema:

Hulpmiddelen > Partition Scheme: > “Huge APP (3MB No OTA)”

Arduino IDE: partitieschema
Arduino IDE: partitieschema

Kies de juiste USB-poort:

Hulpmiddelen > Poort: > de poort waar de seriële interface op aangesloten is

Arduino IDE - poort
Arduino IDE – poort

De Arduino IDE is nu klaar voor gebruik met het board.

Voorbeeldsketch: CameraWebServer

Om de ESP32-CAM te testen kun je de voorbeeldsketch “CameraWebServer” naar het board uploaden.

De voorbeeldsketch kun je hier vinden in de Arduino IDE:

Bestand > Voorbeelden > ESP32 > Camera > CameraWebServer

Arduino IDE: CameraWebServer sketch
Arduino IDE: CameraWebServer sketch

Voordat je de sketch naar je board kunt uploaden moet je eerst twee wijzigingen aanbrengen:

  • de definitie van de ESP32-module
  • SSID plus wachtwoord van je WiFi-netwerk

Verander het #define statement van #define CAMERA_MODEL_WROVER_KIT

// Select camera model
#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
//#define CAMERA_MODEL_AI_THINKER

naar #define CAMERA_MODEL_AI_THINKER

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER

Vul het SSID en wachtwoord van je WiFi-netwerk in:

const char* ssid = "*********";
const char* password = "*********";

Je kunt nu de sketch compileren en naar het board uploaden. Wanneer het uploaden voltooid is, verwijder dan de verbinding tussen pin IO0 van de ESP32-CAM en GND van de voeding.

Herstart dan het board en open de seriële monitor van de Arduino IDE. Wanneer de WiFi-verbinding tussen de ESP32-CAM en het netwerk gelukt is, verschijnt in de seriële monitor het IP-adres van het board.

Arduino IDE: IP adres
Arduino IDE: IP adres

Kopieer dit IP-adres naar de adresbalk van je browser. Je komt nu in de interface van CameraWebServer terecht waarin je met allerlei instellingen kunt experimenteren.

Scroll helemaal naar beneden en klik de Start stream-knop. Als alles goed gegaan is zul je nu een live video stream van de OV2640 camera zien.

CameraWebServer video stream
CameraWebServer video stream

Wordt vervolgd

Ook voor dit board geldt weer: wordt vervolgd. Want alleen een voorbeeldsketch uitproberen is natuurlijk niet heel erg spannend. Wat kunnen we met de SD-kaartlezer en GPIO’s? Welke leuke projecten kunnen we allemaal maken met de ESP32-CAM? Er valt nog genoeg uit te vinden en te experimenteren, dus hou dit weblog in de gaten voor meer artikelen over dit board!

SPECIFICATIES ESP32-CAM

Microcontroller: ESP32-S
Camera: OV2640 2 megapixel
WIFI: 802.11 b/g/n/e/i (tot 150 Mbps)
Bluetooth: v4.2BR / EDR en BLE-standaard
MicroSD-kaart: Maximaal 4 GB

Voedingsspanning: 5V
Programmeerspanning: 3.3V
Afmetingen: 40.5mm x27mm x4.5mm

ESP32-CAM Wifi+Bluetooth Camera board met de OV2640 Camera module
Getest en Aanbevolen door OneGuyOneBlog.com:

ESP32-CAM Wifi+Bluetooth Camera board met de OV2640 Camera module
USB naar TTL adapter - FTDI Compatible
Getest en Aanbevolen door OneGuyOneBlog.com:

USB naar TTL adapter - FTDI Compatible

VNG Systems

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *