Aujourd’hui, on va fabriquer une mini caméra de surveillance low cost avec un module ESP32-Cam et Tasmota. Tasmot 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. En gros, « ça fait le job » et ça ne repose pas sur des serveurs chinois.
Présentation du module ESP32-Cam
L’ESP32-CAM est un tout petit module qui s’alimente avec 3,3 ou 5V, consomme 2000mA max et un petit monstre niveau connectivité :
- 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. Un vrai petit bijou pour un si petit prix !
ESP32-CAM sur Amazon
ESP32-CAM sur Aliexpress
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. Le seul point commun, c'est que c'est petit et que ça a des broches d'entrées/sorties.
La caméra fournie avec le module n’est pas soudée. On peut la remplacer par un des nombreux modèles disponible (grand angle, vision nocturne, nappe plus longue).
Du côté des tarifs, on est généralement sur un prix entre 5 et 10 euros, tout dépend de la caméra qui est fournie avec le module.
Enfin, on a 16 pins d’entrées/sorties qui vont nous servir pour flash la bestiole (et l’alimenter). On va voir comment dans le point suivant.
Prérequis pour flash l’ESP32-Cam
Pour flasher le module, on a 2 possibilités pour relier le module à son ordinateur :
- Soit vous achetez un module avec adaptateur USB, simple et pratique si vous voulez alimenter la caméra par un micro USB, mais un petit surcout si vous multipliez le nombre de caméras.
- 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.
Comme je possédais déjà un adaptateur série, j’ai utilisé cette méthode.
Voici donc le schéma de câblage pour relier le module à l’adaptateur (avec des câbles dupont femelle-femelle):
Pourquoi ce câble jaune qui fait une boucle entre IO0 et GND ? C’est simple : Il met le module en mode « flash ».
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. Vous les trouverez un peu partout sur le net, mais voici le site officiel :
http://www.wch-ic.com/downloads/CH341SER_EXE.html
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. Une heure de recherches pour trouver la solution !
Résumons : Vous avez maintenant
- Le module ESP32-CAM
- Un adaptateur série/USB
- Les drivers.
On peut maintenant flasher le firmware Tasmota sur l’ESP32Cam.
Comment flasher Tasmota sur un ESP32-Cam ?
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. Ca dépend peut-être du fabriquant du module.
Tasmotizer
Téléchargez le firmware Tasmota32-webcam.bin sur http://ota.tasmota.com/tasmota32/release/
Téléchargez Tasmotizer et lancez-le.
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é.
Cochez également la case « Erase before flashing ».
Enfin, cliquez sur Tasmotize! et patientez 2 minutes.
Si ça ne fonctionne pas (ex : invalid packet), essayez l’outil en ligne dans le paragraphe suivant.
Outil en ligne d’installation de Tasmota
Allez sur https://tasmota.github.io/install/ avec Edge ou Chrome (je précise parce que ça ne fonctionne pas avec tous les navigateurs).
Choisissez Tasmota32 WebCam dans le menu déroulant, cliquez sur « Install » et patientez 2 minutes.
Configuration de Tasmota
Après flash, retirez le câble jaune qui faisait une boucle pour activer le mode flash.
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. Si vous ne le voyez pas, vérifiez que le module est bien alimenté ou flasher à nouveau le module.
Connectez vous au réseau tasmota-xxxxxx et cliquer sur l’invité de connexion :
Dans le navigateur qui vient de s’ouvrir, renseignez le nom de votre wifi et son mot de passe :
Sauvegardez la configuration avec le bouton « Save ». Tasmota va connecter votre module à votre wifi. Une fois la connexion établie, vous verrez apparaitre l’adresse IP de votre ESP32-CAM.
Depuis votre PC ou votre téléphone, allez à l’adresse IP indiquée précédemment. Normalement, vous voyez votre caméra :
Allez dans Configuration, puis dans Configure Module
Dans la section Configure Module, sélectionnez ESP32-Cam (2) et sauvegardez.
Et voilà, votre module ESP32-Cam fonctionne avec Tasmota. Vous pouvez même allumer ou éteindre la LED (ne la regardez pas, c’est vraiment aveuglant ce petit truc !)
Maintenant qu’on sait que ça fonctionne, on peut regarder comment alimenter le module de manière permanente.
Alimentation de l’ESP32-Cam
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. J’explorerai à nouveau l’alimentation solaire.
Intégration à un système domotique
D’après le menu de configuration, Tasmota permet l’intégration dans Domoticz et supporte le protocol MQTT. Je n’ai pas de Domoticz pour le moment, mais je compléterai ce tuto dès que j’aurai essayé.
L’intégration à Synology Surveillance Station est également faisable. Je la documenterai dans un prochain article.
Pour aller plus loin :
1 commentaire
Steph · 15 juillet 2024 à 21 h 37 min
Bonjour et merci pour cet article très intéressant et détaillé. Je ne connaissais pas ce firmware et c’était bien dommage. Petit partage : sous windows 11 il se peut qu’après plusieurs mises à jour votre CH340 soit reconnu mais qu’il arrive que votre ESP32 devienne inprogrammable. Pour se dépêtrer de ce problème il faut revenir sur une ancienne version du driver du CH340. Une journée d’arrachage de cheveux pour trouver ça !