- Introduction à ESP32-CAM
- Composants requis
- Schéma
- Installez la carte ESP32 sur Arduino IDE
- Code du serveur Web de la caméra ESP32
Il existe de nombreux systèmes d'identification humaine qui utilisent des signatures, des empreintes digitales, la voix, la géométrie de la main, la reconnaissance faciale, etc. pour identifier des personnes, mais aucun d'entre eux ne peut détecter et reconnaître les personnes dans les zones publiques telles que les aéroports, les magasins de détail et les gares, à l'exception du Système de reconnaissance faciale.
Les systèmes de reconnaissance faciale peuvent non seulement être utilisés à des fins de sécurité pour reconnaître les personnes dans les lieux publics, mais peuvent également être utilisés à des fins de présence dans les bureaux et les écoles.
Dans ce projet, nous allons construire un système de reconnaissance faciale utilisant ESP32-CAM qui fonctionnera également comme un système de sécurité ESP32-CAM en reconnaissant le visage de personnes non autorisées. ESP32-CAM est un très petit module de caméra avec la puce ESP32-S. En utilisant le module ESP32-CAM, nous pouvons construire un système de reconnaissance faciale sans utiliser de programmation complexe ni de composants supplémentaires. La reconnaissance faciale peut également être effectuée à l'aide de la caméra Raspberry Pi et Pi en utilisant OpenCV.
Introduction à ESP32-CAM
Le module AI-Thinker ESP32-CAM est livré avec une puce ESP32-S, une caméra OV2640 de très petite taille et un emplacement pour carte micro SD. La fente pour carte micro SD peut être utilisée pour stocker des images prises à partir de l'appareil photo ou pour stocker des fichiers. Ce module ESP32-CAM peut être largement utilisé dans diverses applications IoT. Il peut être utilisé comme système de détection de visage dans les bureaux, les écoles et d'autres zones privées et peut également être utilisé comme surveillance sans fil, identification sans fil QR et de nombreuses autres applications IoT.
Le module ESP32-CAM peut être programmé avec ESP-IDF ou avec Arduino IDE. Le module ESP32-CAM possède également plusieurs broches GPIO pour connecter le matériel externe. L'ESP32-CAM n'a pas de connecteur USB, donc pour programmer le module, vous avez besoin d'une carte FTDI.
Traits:
- 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 sommaire jusqu'à 600 DMIPS
- SRAM 520 Ko intégrée, 4MPSRAM externe
- Prend en charge UART / SPI / I2C / PWM / ADC / DAC
- Prise en charge des caméras OV2640 et OV7670, lampe flash intégrée
- Prise en charge du téléchargement d'image Wi-Fi
- Carte de soutien TF
- Prend en charge plusieurs modes de sommeil
- 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)
Caractéristiques:
- Flash SPI: 32 Mbit par défaut
- RAM: 520 Ko SRAM + 4 M PSRAM
- Carte de soutien TF: Max. 4G
- Interface de support: UART, SPI, I2C, PWM
- Format de sortie d'image: JPEG, BMP, GRAYSCALE
- Port IO: 9
- Gamme d'alimentation: 5V
Composants requis
- ESP32-CAM
- Programmeur FTDI
Schéma
Pour construire la caméra de sécurité ESP32 CAM, nous n'avons besoin que du module de caméra ESP32 et du programmeur FTDI pour la programmer.
L'ESP32-CAM n'a pas de connecteur USB, vous avez donc besoin d'un programmeur FTDI pour télécharger le code dans ESP32-CAM comme indiqué dans la figure ci-dessus. Les broches Vcc et GND de l'ESP32 sont connectées aux broches Vcc et GND de la carte FTDI. Tx de et Rx de ESP32 est connecté avec Rx et Tx de la carte FTDI.
Remarque: avant de télécharger le code, connectez l'IO0 à la terre. IO0 détermine si l'ESP32 est en mode clignotant ou non. Lorsque GPIO 0 est connecté à GND, l'ESP32 est en mode clignotant.
ESP32-CAM |
Conseil FTDI |
3,3 V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
Après avoir programmé l'ESP32, j'ai retiré la carte FTDI et connecté le module à une alimentation 3,3 V à l'aide d'un régulateur de tension 7805. Voici à quoi ressemble la configuration du streaming vidéo de la caméra ESP32:
Installez la carte ESP32 sur Arduino IDE
Ici, ESP32-CAM est programmé à l'aide d'Arduino IDE. Pour cela, nous devons installer l'add-on ESP32 sur Arduino IDE.
Pour installer la carte ESP32 dans votre IDE Arduino, allez dans Fichier> Préférences
Copiez maintenant le lien ci-dessous et collez-le dans le champ " URL supplémentaires du gestionnaire de cartes " comme illustré dans la figure ci-dessous. Ensuite, cliquez sur le bouton «OK»:
https://dl.espressif.com/dl/package_esp32_index.json
Maintenant, allez dans Outils> Tableau> Gestionnaire de tableaux
Dans Board Manager, recherchez ESP32 et installez «ESP32 by Espressif Systems».
Code du serveur Web de la caméra ESP32
Nous avons déjà un exemple de code de streaming vidéo de caméra ESP32 et de reconnaissance faciale. Ouvrez l'exemple ESP32 en utilisant Fichier> Exemples> ESP32> Caméra et ouvrez l'exemple CameraWebServer.
Avant de télécharger le code, vous devez entrer votre nom et votre mot de passe Wi-Fi.
const char * ssid = "Nom WiFi"; const char * password = "Mot de passe";
Après cela, définissez le module de caméra ESP. Dans le code, ils ont défini 5 modules caméra donc décommentez le «CAMERA_MODEL_AI_THINKER» et commentez le reste des modules.
Pour télécharger le code, connectez la carte FDTI à votre ordinateur portable et sélectionnez le ' ESP32 Wrover Module ' comme carte. Modifiez également les autres paramètres en fonction de cette image:
Avant de télécharger le code, appuyez sur le bouton de réinitialisation ESP32, puis cliquez sur le bouton de téléchargement.
Remarque: si vous obtenez des erreurs lors du téléchargement du code, vérifiez que IO0 est connecté à GND et que vous avez sélectionné les bons paramètres dans le menu Outils.
Après avoir téléchargé le code, déconnectez les broches IO0 et GND. Ensuite, ouvrez le moniteur série et changez le débit en bauds à 115200. Après cela, appuyez sur le bouton de réinitialisation ESP32, il imprimera l'adresse IP ESP et le numéro de port sur un moniteur série comme indiqué ci-dessous.
Maintenant, pour accéder au streaming de la caméra, accédez à votre navigateur et entrez votre adresse IP ESP. Cela vous mènera à la page de streaming. Pour démarrer le streaming vidéo de la caméra ESP32, cliquez sur le bouton 'Démarrer le flux' en bas de la page
Vous pouvez modifier la qualité de diffusion en modifiant la « Résolution » sur la page de diffusion en continu. Vous pouvez également cliquer sur les images en cliquant sur le bouton « Get Still», mais ce code n'a pas la possibilité d'enregistrer les images.
Après avoir testé le streaming vidéo, nous allons maintenant tester les fonctionnalités de détection et de reconnaissance des visages de la caméra ESP32. Pour cela, activez les fonctions de reconnaissance et de détection de visage à partir des paramètres:
Pour la reconnaissance faciale, vous devez d'abord inscrire un visage. Vous pouvez vous inscrire à un nouveau visage en cliquant sur l' option « Enroll Face». Il faut plusieurs tentatives pour sauver le visage. Après avoir enregistré le visage, il détecte le visage comme sujet 0 et peut maintenant être utilisé comme système de sécurité en reconnaissant le visage.
Voici donc comment un module de caméra ESP peut être facilement configuré pour le streaming vidéo et la reconnaissance faciale. Vérifiez les petites séquences vidéo ci-dessous prises par la caméra ESP32.
Le code complet est donné ci-dessous et il peut également être téléchargé à partir d'ici.