Cet article décrit l’utilisation d’un esp32-cam pour réaliser un serveur web affichant l’image courante. Le principe d’acquisition consiste à faire une requête HTTP sur l’url de l’esp32. Exemple, si dans un réseau local, l’esp32 a pour IP 192.168.1.30 faire la requête:
http://192.168.1.30
Le matériel
Caractéristiques:
- Alimentation: 3,3 ou 5 Vcc
- Consommation: 2000 mA maxi
- Microcontrôleur: ESP32 à 240 MHz
- Mémoire RAM: 520 Ko
- Mémoire PSRAM: 4 Mo
- Compatibilité: capteurs OV2640 et OV7670 (capteur OV2640 intégré)
- Interfaces sans fil:
– Bluetooth: compatible 4.2, EDR et BLE
– WiFi 802.11b/g/n/e/i (compatible WPA, WPA2, WPA2-Enterprise et WPS) - Interfaces disponibles: UART, SPI, I2C, PWM, ADC et DAC
- Formats vidéo supportés: JPEG (OV2640)
- Débit série: 115200 bps
- Lecteur de carte micro-SD (4 Go maxi, carte non inclus)
- Broches utilisées par le lecteur micro-SD: 2, 4, 12, 13, 14 et 15
- Sorties 3,3 Vcc
- Broches GPIO: UART, SPI et I2C
- Bouton reset
- Température de service: -20 à 85 °C
- Dimensions: 27 x 40 x 4,5 mm
- Poids: 10 g
Pour le développement et l’utilisation, il est recommandé d’utiliser le programmateur ESP-32-CAM. Cela permet d’utiliser un câble usb (faire bien attention au modèle de programmateur) pour alimenter et faire le développement
En avril 2024, les modules ESP32-CAM et le programmateur peuvent être achetés pour un prix TTC respectivement de l’ordre de 15 € et 3 €
Logiciel
On utilise le système de développement Arduino en installant la bibliothèque pour les cartes esp32 de Espressif:
Le programme réalisé utilise la Sdcard pour stocker un fichier texte config.ini comportant 5 lignes pour pouvoir configurer la caméra au boot. Les différentes lignes sont:
- ssid : nom du réseau wifi pour se connecter
- passwd : mot de passe pour se connecter au réseau wifi
- framesize : dimensions de l’image capturée
- hmirror : miroir horizontal
- vflip : miroir vertical
Exemple de contenu:
La ligne 3 permet de définir les dimensions de l’image:
Ainsi sur l’exemple précédent le code 9 signifie que l’on sélectionne la résolution SVGA (800×600)
La ligne 4 définit si on veut faire un miroir horizontal (0 pour non, 1 pour oui)
La ligne 5 définit si on veut faire un miroir vertical (0 pour non, 1 pour oui)
Enfin la SD-Card est également utilisée pour stocker la dernière image capturée sous le nom capture.jpg