Serveur photo avec un ESP32-CAM

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:

Plain Text

La ligne 3 permet de définir les dimensions de l’image:

Plain Text

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

Code Source:

C

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *