Création d'une Mini Caméra de Surveillance Low Cost avec ESP32-CAM

Aujourd’hui, on va fabriquer une mini caméra de surveillance low cost avec un module ESP32-Cam et Tasmota. Tout comme dans ce projet, je vais utiliser un ESP32-CAM qui est une carte avec un microcontrôleur et une caméra. Ce microcontrôleur performant, outre sa caméra de 2 Mpx, dispose de connexions WIFI et Bluetooth intégrées.

Tasmota est un firmware open source pour des microcontrôleurs à prix mini de chez Espressif ou AI-Thinker (ESP8266, ESP32, et leurs dérivés). C’est bien foutu, simple, mis à jour régulièrement.

Caractéristiques principales du module ESP32-CAM :

  • Capteur photo OV2640 (2 megapixels)
  • Lecteur micro-SD (4Go maxi)
  • Bluetooth 4.2
  • Wifi 80802.11b/g/n/e/i (compatible WPA, WPA2, WPA2-Enterprise et WPS)

La puce ESP32 tourne à 240Mhz accompagnée de 520ko de RAM. C’est suffisant pour faire une caméra de surveillance. En plus d'une caméra OV2640, le module est équipé d'un lecteur de cartes micro-SD qui pourra éventuellement servir à stocker des images ou des séquences vidéo. La caméra accaparant un certain nombre d'entrées/sorties du microcontrôleur, les broches GPIO disponibles sont beaucoup moins nombreuses que sur un module ESP-32 conventionnel (il n'y en a que 8, et 6 d'entre elles sont déjà connectées au lecteur de carte SD).

Attention : NB : Au cas où, je préfère préciser comme à chaque fois avec les microcontrôleurs : Non, ça n'a rien à voir avec les Raspberry Pi. Inutile de vous lancer dans des comparaisons ou me parler de puissance du CPU, de RAM ou d'OS. On n'est pas dans le même monde que les nano-ordinateurs. Là on va parler de flasher un firmware sur un contrôleur minuscule, pas de python et de linux.

La caméra fournie avec le module n’est pas soudée. Pour finir, une LED haute luminosité peut être commandée pour des prises de vues la nuit par exemple. Dans ce cas, il est possible de connecter une photorésistance sur la carte. En effet, elle intègre aussi quelques ports GPIO pour assembler différents capteurs et actionneurs.

L'ESP32-CAM et ses connexions : L'ESP32-CAM dispose d'un strap permettant de choisir l'antenne à utiliser. Cette résistance étant très petite et fragile, il est possible de la remplacer par une simple connexion filaire.

Programmation et Flashage : Plusieurs solutions cohabitent actuellement, plus ou moins complexes à mettre en œuvre. Ma préférence se porte sur la dernière génération, très simple à utiliser et qui se présente sous la forme d'un module équipé d'un connecteur USB et des broches pour accueillir le microcontrôleur (aussi appelé "carte de développement"). La programmation logicielle de l'ESP32-CAM s'effectue à l'aide de l'IDE Arduino qu'il suffit de paramétrer afin de dialoguer avec ce microcontrôleur.

Soit vous achetez un module ESP32-cam + un adapteur séries. L’avantage, c’est que cet adaptateur vous permettra de flasher d’autres produits (Ex: les modules interrupteurs wifi ou les prises connectées de Sonoff). Inconvénient : Il faut quelques câbles dupont. Pourquoi ce câble jaune qui fait une boucle entre IO0 et GND ?

Quelle que soit la solution que vous choisissez, il y a un autre point important : Les drivers. Si vous ne les avez pas encore installés, il vous faut les drivers CH340/CH341G. NB : Ces drivers existent aussi pour Mac et Linux. Attention : Ces drivers sont maintenant certifiés par Microsoft, mais pour une raison qui m’échappe, il arrive qu’ils ne s’installent pas bien sur les machines avec le secure boot activé dans le BIOS. Je ne sais pas pourquoi, j’ai moi-même rencontré le problème : L’installation se passait bien, mais mon adaptateur série n’était pas reconnu. J’ai réussi à les installer correctement sur un PC qui a le secure boot désactivé. Sur ce PC, aucun problème de reconnaissance du matériel.

Reliez l’adaptateur série/USB à votre ordinateur me semble un bon début. Ensuite, vous avez de nouveau 2 choix : Soit utiliser Tasmotizer, soit utiliser l’outil en ligne de Tasmota depuis Chrome ou Edge. J’ai essayé les 2 méthodes. Parfois une fonctionne et l’autre pas, suivant le module. Au final j’ai réussi avec les 2 solutions.

Sélectionnez le bon port COM (COM3 dans mon cas), BIN file et chargez le fichier tasmota32-webcam.bin que vous avez téléchargé. Enfin, cliquez sur Tasmotize! On débranche et on rebranche le câble USB pour rebooter le module en mode normal.

Depuis votre téléphone, vous verrez un réseau WIFI tasmota-xxxxx. Sauvegardez la configuration avec le bouton « Save ». Tasmota va connecter votre module à votre wifi. Depuis votre PC ou votre téléphone, allez à l’adresse IP indiquée précédemment. Et voilà, votre module ESP32-Cam fonctionne avec Tasmota.

Alimentation du module : Maintenant qu’on sait que ça fonctionne, on peut regarder comment alimenter le module de manière permanente. Le module a besoin de 5V, donc j’ai simplement coupé un vieux câble USB, soudé le fil rouge sur la broche 5V, le fil noir sur une broche GND et coupé les 2 autres fils de mon câble USB. Evidemment, si vous avez le module + son extension port USB, il suffit de brancher un câble usb sur l’extension. Après, il suffit de brancher le câble USB à un chargeur de téléphone.

J’ai tenté de brancher 2 ESP32 sur une batterie externe/ chargeur solaire, que j’avais mis dans ma serre, mais les 2 caméras ont vidé la batterie en moins de 3 jours malgré le soleil. Expérience à essayer à nouveau avec une seule caméra. Je n’ai pas essayé l’alimentation par piles. Après, tout dépend de ce que l’on veut faire des caméras.

D’après le menu de configuration, Tasmota permet l’intégration dans Domoticz et supporte le protocol MQTT. L’intégration à Synology Surveillance Station est également faisable. cet ensemble ouvre la porte a la création de système de sécurité DIY ou a bien d’autres applications de prise de vues . la camera est disponible en achat en ligne pour mois de 15 euros sur Amazone et est livré avec sa camera non montée .

Broches GPIO et Carte SD : REMARQUE: si l’ESP32cam est utilisées avec une SD card insérée, les broches GPIO de gauche (GPIO 4-2-14-15-13-12) sont monopolisées par les fonctions « oranges » correspondant aux signaux DATA1-DATA2-CLK-CMD DATA3 et DATA4 de communication avec la carte SD. Afin de ne pas perturber les échanges avec la carte Micro SD, leur utilisation pour vos montages est déconseillée.

Alimentation Externe : Une source externe 5 Vcc de 2 A minimum est nécessaire pour alimenter le module via les broches GND et 5V . NOTA: la broche Vcc (3,3V/5V orange sur schéma ci dessus) est une broche de sortie , il ne faut donc surtout pas y brancher d’alimentation externe. elle délivre une tension utilisable par des composants annexes a l’ESP32cam . attention , en général a la livraison , l’ESP32 cam est configuré pour délivrer du 3,3V sur la broche Vcc.

Communication Série : comme toute connexion de modules de communication série ensembles , bien veiller a croiser les broches Tx et Rx de chaque module : Tx de l’un vers Rx de l’autre et vice versa .

Mode Téléchargement avec Arduino : NOTA: pour le mode téléchargement avec l’IDE ARDUINO, on met un câble de shunt (FLASH MODE DE L’ESP) entre le IO0 ESP32 et le GND juste en dessous ( câble jaune sur image ci dessous). Aller dans Fichier/Exemples/ESP32/Caméra et ouvrir le fichier CameraWebServer.ino et televerser le code . NOTA: suivant le modèle d’ESP32cam acheté, il faudra peut être appuyer sur le bouton reset de l’ESP32 quand le telechargement commence ( quand s’affiche connecting avec des petits points et des underscore).

Puis ouvrez le navigateur web de votre PC et taper l’adresse IP récupérée dans le moniteur série, vous voyez ce que vise la camera et vous pouvez ensuite « jouer » avec les paramètres vidéo dans le menu de gauche . a ce stade , vois pouvez débrancher le FTDI232 , ajouter une alim 5V sur les broches GND et 5V de l’ ESP32cam et le déconnecter de votre PC , il est maintenant autonome et connecté a votre réseau internet perso. si vous n’avez pas de FTDI232 ou si vous avez des problèmes avec un FTDI , l’autre solution pour le téléchargement c’est d’utiliser un ARDUINO UNO pour assurer le transfert USB . ce n’est pas précisé sur le schema , mais il faut bien entendu brancher l’arduino uno sur le port USB du PC via le cordon prévu a cet effet.

petite précision, dans la partie téléchargement avec FTDI232 , sont fourni des paramètres de camera , ces paramètres sont susceptible de changer suivant la provenance des ESP32 cam et la date d’achat .

Le module ESP32 cam peut par exemple être utilisé couplé a un détecteur IR HC-SR501 (voir rubrique dédiée) pour faire une camera automatique autonome a déclenchement par détection de mouvement .

Le microcontrôleur ESP32 de l’entreprise Espressif Systems qui inclue des interfaces Wi-Fi et Bluetooth. Cette carte est configurée par soudure pour utiliser l’antenne wifi interne.

⇒ La broche IO16 (16) est reliée à la mémoire PSRAM embarquée et a une résistance de tirage (pull-up) de 10k. Ces broches sont reliées à l’UART0 du microcontrôleur pour la communication par protocole série.

L’ESP32-CAM embarque une LED embarquée très puissante servant de flash pour les photos et les vidéos.

Débuter avec une carte ESP32 et Arduino

tags: #alimentation #esp32 #cam

Articles populaires: