- Composants requis
- Verrouillage solénoïde
- Schéma
- Installez la carte ESP32 sur Arduino IDE
- Explication du code
- Tester le
De nos jours, la sécurité est tout au plus préoccupante pour quiconque, qu'il s'agisse de la sécurité des données ou de la sécurité de leur propre maison. Avec l'avancement de la technologie et l'utilisation croissante de l'IoT, les serrures de porte numériques sont devenues très courantes ces jours-ci. La serrure numérique ne nécessite aucune clé physique, mais elle utilise la RFID, l'empreinte digitale, l'identification du visage, la broche, les mots de passe, etc. pour contrôler le verrou de la porte. Par le passé, nous avons développé de nombreuses applications de serrures de porte numériques utilisant ces différentes technologies. Dans ce didacticiel, nous construisons un système de verrouillage de porte numérique contrôlé par Face ID utilisant ESP32-CAM.
Le module AI-Thinker ESP32-CAM est une carte de développement à faible coût avec une caméra OV2640 de très petite taille et un emplacement pour carte micro SD. Il dispose d'une puce ESP32 S avec connectivité Wi-Fi et Bluetooth intégrée, avec 2 processeurs LX6 32 bits hautes performances, architecture de pipeline à 7 étages. Nous avons précédemment expliqué en détail ESP32-CAM et l'avons utilisé pour construire une sonnette vidéo de porte Wi-Fi. Cette fois, nous utiliserons l'ESP32-CAM pour construire un système de verrouillage de porte basé sur la reconnaissance faciale à l' aide d'un module de relais et d'un verrouillage solénoïde.
Composants requis
- ESP32 CAM
- Conseil FTDI
- Module de relais
- Verrouillage solénoïde
- Fils de cavalier
Verrouillage solénoïde
Une serrure électromagnétique fonctionne sur le mécanisme de verrouillage électromécanique. Ce type de serrure a un ergot avec une coupe inclinée et un bon support de montage. Lorsque l'alimentation est appliquée, DC crée un champ magnétique qui déplace la limace à l'intérieur et maintient la porte en position déverrouillée. La limace conservera sa position jusqu'à ce que l'alimentation soit coupée. Lorsque l'alimentation est coupée, la limace se déplace vers l'extérieur et verrouille la porte. Il n'utilise aucune alimentation dans un état verrouillé. Pour piloter le verrouillage solénoïde, vous auriez besoin d'une source d'alimentation pouvant fournir 12 V @ 500 mA.
Nous avons précédemment utilisé une serrure à solénoïde pour construire une serrure de porte RFID basée sur Arduino.
Schéma
Le schéma de circuit du système de verrouillage de porte à reconnaissance faciale ESP32-CAM est indiqué ci-dessous:
Le circuit ci-dessus combiné avec une carte FTDI, un module de relais et un verrouillage solénoïde. La carte FTDI est utilisée pour flasher le code dans ESP32-CAM car elle n'a pas de connecteur USB tandis que le module de relais est utilisé pour activer ou désactiver le verrouillage du solénoïde. Les broches VCC et GND de la carte FTDI et du module de relais sont connectées aux broches Vcc et GND de l'ESP32-CAM. TX et RX de la carte FTDI sont connectés à RX et TX de ESP32 et la broche IN du module de relais est connectée à IO4 de ESP32-CAM.
ESP32-CAM |
Conseil FTDI |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Module de relais |
5V |
VCC |
GND |
GND |
IO4 |
DANS |
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.
Après avoir connecté le matériel selon le schéma de circuit, il devrait ressembler à quelque chose comme ci-dessous:
Installez la carte ESP32 sur Arduino IDE
Ici, Arduino IDE est utilisé pour programmer ESP32-CAM. Pour cela, installez d'abord 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 indiqué 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».
Explication du code
Nous avons expliqué la reconnaissance faciale avec ESP32 dans l'article précédent; ici nous modifierons le même code pour contrôler une serrure de porte solénoïde. Le code complet est divisé en quatre parties. L'un est le code principal de la caméra et du module de relais où l'ESP32 verrouille ou déverrouille la porte en fonction de la reconnaissance faciale, et les trois autres codes concernent la page Web, l'index de la caméra et les broches de la caméra. Le code complet est donné à la fin de cette page. Nous expliquons ici certaines parties importantes du code.
Démarrez le programme en incluant tous les fichiers de la bibliothèque.
#include "esp_camera.h" #include
Dans la ligne suivante, décommentez le module de caméra que vous utilisez avec ESP32. Dans le code, cinq modèles de caméras différents sont définis. Dans ce cas, nous utilisons le modèle AI-THINKER.
// # définir CAMERA_MODEL_WROVER_KIT // # définir CAMERA_MODEL_ESP_EYE // # définir CAMERA_MODEL_M5STACK_PSRAM // # définir CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
Après cela, insérez vos informations d'identification réseau dans les variables suivantes:
const char * ssid = "Nom Wi-Fi"; const char * password = "Mot de passe Wi-Fi";
Définissez ensuite la broche sur laquelle le module de relais est connecté. Nous utiliserons la fonction millis () pour verrouiller la porte après l'avoir déverrouillée dans un intervalle de temps défini, ici c'est 5 secondes.
#define relay 4 long prevMillis = 0; intervalle int = 5000;
Dans la fonction setup () , initialisez le moniteur série à une vitesse de transmission de 115 200 à des fins de débogage. Ensuite, dans les lignes suivantes, définissez le mode de broche pour le module de relais et réglez également le relais à une position basse initialement.
void setup () {Serial.begin (115200); pinMode (relais, SORTIE); digitalWrite (relais, LOW);
Dans la fonction loop () , vérifiez si le visage correspond au visage inscrit. Si oui, déverrouillez la porte pendant 5 secondes et après 5 secondes, verrouillez-la à nouveau.
boucle void () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relais, HAUT); prevMillis = millis (); } if (activeRelay == true && millis () - prevMillis> intervalle) {activeRelay = false; matchFace = faux; digitalWrite (relais, LOW); }
Tester le
Enfin, pour télécharger le code, connectez la carte FDTI à votre ordinateur portable et sélectionnez le `` Module ESP32 Wrover '' comme carte. Modifiez également les autres paramètres comme indiqué dans l'image ci-dessous:
N'oubliez pas de connecter la broche IO0 à GND avant de télécharger le code et appuyez également 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, retirez 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 le moniteur série.
Naviguez maintenant vers le navigateur et entrez l'adresse IP ESP qui est copiée à partir du moniteur série pour accéder au streaming de la caméra. Cela vous mènera à la page de streaming. Pour démarrer la diffusion vidéo, cliquez sur le bouton «Démarrer le flux» en bas de la page.
Pour reconnaître les visages avec ESP32-CAM, nous devons d'abord enregistrer les visages. Pour cela, activez les fonctions de reconnaissance et de détection de visage à partir des paramètres, puis cliquez sur le bouton Enroll Face. Il faut plusieurs tentatives pour sauver le visage. Après avoir enregistré le visage, il détecte le visage comme sujet 0 où zéro est le numéro du visage.
Après avoir enregistré les visages, si un visage est reconnu dans le flux vidéo, ESP32 rendra le module de relais haut pour déverrouiller la porte.
C'est ainsi que l'ESP32-CAM peut être utilisé pour construire un système de sécurité basé sur la reconnaissance faciale. Le code complet peut être téléchargé à partir de ce lien et est également fourni ci-dessous avec une vidéo de démonstration.