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 |


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.


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 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.


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 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”


Kies het juiste partitieschema:
Hulpmiddelen > Partition Scheme: > “Huge APP (3MB No OTA)”


Kies de juiste USB-poort:
Hulpmiddelen > Poort: > de poort waar de seriële interface op aangesloten is


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


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.


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.


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
Hallo.
Ik zoek een voorbeeld sketch voor de esp32cam zodat hij als ip camera kan werken. Dus dat de esp32 een wifi station is als het ware,
Idien te doen gaarne reactie