Streaming vidéo ESP32-CAM et reconnaissance faciale avec Arduino IDE

Streaming vidéo ESP32-CAM et reconnaissance faciale avec Arduino IDE

Cet article est un guide de démarrage rapide pour la carte ESP32-CAM. Nous allons vous montrer comment configurer un serveur Web de streaming vidéo avec reconnaissance faciale et détection en moins de 5 minutes avec Arduino IDE.

Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Noter: dans ce tutoriel, nous utilisons l’exemple de la bibliothèque arduino-esp32. Ce tutoriel ne couvre pas comment modifier l’exemple.

Projet associé : Serveur Web de streaming vidéo ESP32-CAM (fonctionne avec Home Assistant et Node-Red)

Regardez le didacticiel vidéo

Vous pouvez regarder le didacticiel vidéo ou continuer à lire cette page pour les instructions écrites.

YouTube video

Pièces requises

Pour suivre ce tutoriel, vous avez besoin des composants suivants :

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Présentation de l’ESP32-CAM

1642032728 823 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

le ESP32-CAM est un très petit module de caméra avec la puce ESP32-S qui coûte environ 10 $. Outre la caméra OV2640 et plusieurs GPIO pour connecter des périphériques, il dispose également d’un emplacement pour carte microSD qui peut être utile pour stocker des images prises avec la caméra ou pour stocker des fichiers à servir aux clients.

le ESP32-CAM ne vient pas avec un connecteur USB, vous avez donc besoin d’un programmeur FTDI pour télécharger le code via le U0R et U0T broches (broches de série).

1642032728 148 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Caractéristiques

Voici une liste avec les fonctionnalités ESP32-CAM :

  • Le plus petit module SoC Wi-Fi BT 802.11b/g/n
  • CPU 32 bits basse consommation, peut également servir le processeur d’application
  • Vitesse d’horloge jusqu’à 160 MHz, puissance de calcul récapitulative jusqu’à 600 DMIPS
  • SRAM 520 Ko intégrée, 4MPSRAM externe
  • Prend en charge UART/SPI/I2C/PWM/ADC/DAC
  • Prise en charge des appareils photo OV2640 et OV7670, lampe flash intégrée
  • Prise en charge du téléchargement d’images WiFI
  • Prise en charge de la carte TF
  • Prend en charge plusieurs modes de veille
  • Lwip et FreeRTOS intégrés
  • Prend en charge le mode de fonctionnement STA/AP/STA+AP
  • Prise en charge de la technologie Smart Config/AirKiss
  • Prise en charge des mises à niveau du micrologiciel local et distant du port série (FOTA)

Brochage ESP32-CAM

La figure suivante montre le brochage ESP32-CAM (module AI-Thinker).

Il ya trois GND broches et deux broches pour l’alimentation : soit 3.3V ou 5V.

GPIO 1 et GPIO 3 sont les broches série. Vous avez besoin de ces broches pour télécharger le code sur votre tableau. En outre, GPIO 0 joue également un rôle important, puisqu’il détermine si l’ESP32 est en mode clignotant ou non. Lorsque GPIO 0 est connecté à GND, l’ESP32 est en mode clignotant.

Les broches suivantes sont connectées en interne au lecteur de carte microSD :

  • GPIO 14 : CLK
  • GPIO 15 : CMD
  • GPIO 2 : Données 0
  • GPIO 4: Data 1 (également connecté à la LED intégrée)
  • GPIO 12 : Données 2
  • GPIO 13 : Données 3

Serveur de diffusion vidéo

Suivez les étapes suivantes pour créer un serveur Web de streaming vidéo avec l’ESP32-CAM auquel vous pouvez accéder sur votre réseau local.

Important: Assurez-vous que votre IDE Arduino est mis à jour ainsi que la dernière version du module complémentaire ESP32.

1. Installez le module complémentaire ESP32

Dans cet exemple, nous utilisons Arduino IDE pour programmer la carte ESP32-CAM. Donc, vous devez avoir installé Arduino IDE ainsi que le module complémentaire ESP32. Suivez l’un des prochains tutoriels pour installer le module complémentaire ESP32, si vous ne l’avez pas déjà fait :

2. Exemple de code CameraWebServer

Dans votre IDE Arduino, accédez à Déposer > Exemples > ESP32 > Caméra et ouvrez le CaméraWebServer Exemple.

1642032728 334 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Le code suivant devrait se charger.

Exemple ESP32 CameraWebServer

Avant de télécharger le code, vous devez insérer vos identifiants réseau dans les variables suivantes :

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

Ensuite, assurez-vous de sélectionner le bon module de caméra. Dans ce cas, nous utilisons le modèle AI-THINKER.

1642032728 197 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Alors, commentez tous les autres modèles et décommentez celui-ci :

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

Si aucun de ceux-ci ne correspond à la caméra que vous utilisez, vous devez ajouter l’affectation des broches pour votre carte spécifique dans l’onglet camera_pins.h.

Maintenant, le code est prêt à être téléchargé sur votre ESP32.

3. Code de téléchargement ESP32-CAM

Connectez la carte ESP32-CAM à votre ordinateur à l’aide d’un programmeur FTDI. Suivez le schéma suivant :

1642032728 311 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

De nombreux programmeurs FTDI ont un cavalier qui vous permet de sélectionner 3,3 V ou 5 V. Assurez-vous que le cavalier est au bon endroit pour sélectionner 5V.

Important: GPIO 0 doit être connecté à GND afin que vous puissiez télécharger du code.

ESP32-CAM Programmeur FTDI
GND GND
5V VCC (5V)
U0R Émission
U0T Réception
GPIO 0 GND

Pour télécharger le code, suivez les étapes suivantes :

1) Aller à Outils > Conseil et sélectionnez AI-penseur ESP32-CAM.

2) Aller à Outils > Port et sélectionnez le port COM auquel l’ESP32 est connecté.

3) Ensuite, cliquez sur le bouton de téléchargement pour télécharger le code.

1642032728 792 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

4) Lorsque vous commencez à voir ces points sur la fenêtre de débogage comme indiqué ci-dessous, appuyez sur le bouton RST intégré de l’ESP32-CAM.

1642032728 58 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Après quelques secondes, le code devrait être téléchargé avec succès sur votre tableau.

Obtenir l’adresse IP

Après avoir téléchargé le code, déconnectez-vous
GPIO 0
à partir de GND.

Ouvrez le moniteur série à un débit en bauds de 115 200. Appuyez sur le bouton de réinitialisation intégré de l’ESP32-CAM.

L’adresse IP ESP32 doit être imprimée dans le moniteur série.

1642032728 509 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Accéder au serveur de streaming vidéo

Maintenant, vous pouvez accéder à votre serveur de streaming de caméra sur votre réseau local. Ouvrez un navigateur et saisissez l’adresse IP ESP32-CAM. appuyez sur la Commencer la diffusion bouton pour démarrer le streaming vidéo.

1642032728 615 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Vous avez également la possibilité de prendre des photos en cliquant sur le bouton Restez immobile bouton. Malheureusement, cet exemple n’enregistre pas les photos, mais vous pouvez le modifier pour utiliser la carte microSD intégrée pour stocker les photos capturées.

Il existe également plusieurs paramètres de l’appareil photo avec lesquels vous pouvez jouer pour ajuster les paramètres de l’image.

Enfin, vous pouvez effectuer la reconnaissance et la détection des visages.

1642032728 229 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Tout d’abord, vous devez inscrire un nouveau visage. Il fera plusieurs tentatives pour sauver la face. Après avoir inscrit un nouvel utilisateur, il devrait détecter le visage plus tard (sujet 0).

1642032728 514 Streaming video ESP32 CAM et reconnaissance faciale avec Arduino IDE

Et c’est tout. Votre serveur Web de streaming vidéo est maintenant opérationnel avec détection et reconnaissance des visages avec l’exemple de la bibliothèque.

Dépannage

Si vous obtenez l’une des erreurs suivantes, lisez notre Guide de dépannage ESP32-CAM : problèmes les plus courants résolus

  • Échec de la connexion à ESP32 : attente de l’en-tête du paquet dépassée
  • L’initialisation de la caméra a échoué avec l’erreur 0x20001 ou similaire
  • Détecteur de baisse de tension ou erreur de méditation du gourou
  • Esquisse trop grosse erreur – Mauvais schéma de partition sélectionné
  • La carte à COMX n’est pas disponible – Port COM non sélectionné
  • Erreur psram : le service GPIO isr n’est pas installé
  • Signal Wi-Fi faible
  • Pas d’adresse IP dans le moniteur série Arduino IDE
  • Impossible d’ouvrir le serveur Web
  • L’image est en retard/montre beaucoup de latence

Conclusion

L’ESP32-CAM offre un moyen peu coûteux de créer des projets domotiques plus avancés qui incluent la vidéo, la prise de photos et la reconnaissance faciale.

Dans ce tutoriel, nous avons testé l’exemple CameraWebServer pour tester les fonctionnalités de la caméra. Maintenant, l’idée est de modifier l’exemple ou d’écrire un tout nouveau code pour construire d’autres projets. Par exemple, prenez des photos et enregistrez-les sur la carte microSD lorsqu’un mouvement est détecté, intégrez le streaming vidéo dans votre plate-forme domotique (comme Node-RED ou Home Assistant), et bien plus encore.

Nous espérons que ce tutoriel vous sera utile. Si vous n’avez pas encore d’ESP32-CAM, vous pouvez attrape-le ici.

Si vous aimez ce projet, vous aimerez peut-être aussi d’autres projets avec l’ESP32-CAM :

  • Kits Arduino ESP32-CAM Moniteur Snapshot Reconnaissance de détection de visage WiFi Module de caméra Bluetooth Carte SD 128M Câble USB vers série HC SR-501 Capteur de son (Tutoriel en anglais)
    ✔️Kits Arduino ESP32-CAM: Quand quelqu'un s'approche ou qu'il y a du bruit, le kit se réveille, prend une photo sincère et l'image est enregistrée sur la carte SD. , fonctions de détection de visage et de reconnaissance de visage (vous pouvez l'intégrer à Home Assistant) .Programme développé avec Arduino IDE ✔️【ESP32-CAM】:caméra flash intégrée de 2 millions de pixels,fente pour carte SD,carte de développement bimode WIFI et Bluetooth 4.2,antennes embarquées PCB,noyaux basés sur des puces ESP32.Utilisé comme mode maître pour construire un contrôleur de réseau indépendant,ou asservir à d'autres hôtes MCU pour ajouter des capacités de mise en réseau aux appareils existants.Pour la surveillance sans fil, l'identification sans fil QR,les signaux du système de positionnement sans fil,les applications IoT ✔️【Câble USB vers TTL série PL2303TA de 3,2 pieds USB2.0】: connecte des appareils avec une interface de signaux UART de niveau logique 3,3 V à l'ordinateur via un port USB.Accède à UART Tx, Rx, 5V, GND.Compatible avec Windows 2008 / XP / Vista / 7/8/10 (32,64 bits) .【 Carte Micro SD 128M】: Taille: 0,59x 0,43x0,04 pouces.Capacité: 128M. Vitesse de lecture / écriture: 18M / 5M (s). L'ordinateur doit connecter un adaptateur Micro SD pour le reconnaître ✔️【HC SR-501】: Quand quelqu'un s'approche du capteur infrarouge PIR, sortie HIGH, lorsque les gens partent, sortie LOW.Pas de répétition / répétable 2 mode de déclenchement.La sensibilité et le délai sont réglables.Angle de détection <100 °. 【Capteur sonore】: construit -dans un microphone à électret capacitif.peut identifier la présence ou l'absence de son.Lorsque l'intensité sonore dépasse le seuil, sortie LOW / light OFF, sinon sortie HIGH / light ON.Sensibilité réglable ✔️Tutoriel: Document, code de démonstration, logiciel de lecteur, bibliothèques de classes nécessaires.L'étiquette du lien de téléchargement est collée au bas de la boîte d'emballage.ou contactez-nous lorsque vous recevez la marchandise, nous vous enverrons à nouveau le lien de téléchargement
  • Freenove ESP32-WROVER CAM Board (Compatible with Arduino IDE), Onboard Camera Wireless, Python C Code, Detailed Tutorial, Example Projects
    ESP32-WROVER -> A powerful and small controller with onboard camera and wireless. 2 tutorials with MicroPython and C code -> The download link can be found on the product box. (No paper tutorial.) Example projects -> The tutorial will show you several typical projects with code and explanations. Easy to use -> Just connect it to your computer (installed IDE and driver) with a USB cable to program it. Get support -> Our technical support team is always ready to answer your questions.
  • Freenove ESP32-S3-WROOM CAM Board (Compatible with Arduino IDE), Onboard Camera Wireless, Python C Code, Detailed Tutorial, Example Projects
    ESP32-S3-WROOM -> A powerful and small controller with onboard camera and wireless. 1GB Memory Card -> Can be inserted into the ESP32-S3 board to store files. (Included in this kit.) 2 tutorials with MicroPython and C code -> The download link can be found on the product box. (No paper tutorial.) Example projects -> The tutorial will show you several typical projects with code and explanations. Easy to use -> Just connect it to your computer (installed IDE and driver) with a USB cable to program it.