Construisez un système de contrôle d'accès intelligent avec M5StickV et RFID
Dans ce projet, nous allons créer un système de contrôle d'accès intelligent utilisant ESP32, des unités RFID et M5StickV . Le système prend en charge la lecture de cartes RFID, la reconnaissance de codes QR et l'interaction « plateforme cloud hors ligne » via MQTT. Les principales fonctionnalités comprennent les capacités de lecture/écriture RFID, la communication de données basée sur MQTT et l'interaction avec l'interface utilisateur via M5GO Lite .
Objectifs du projet
-
Système de perforation de cartes : implémentez la logique de base d'un système de perforation de cartes en utilisant ESP32 comme puce de contrôle principale.
-
Reconnaissance des informations RFID : utilisez l'unité RFID pour lire et reconnaître les informations de la carte IC.
-
Interaction hors ligne-cloud : activez l'interaction hors ligne avec la plateforme cloud pour les informations sur les exercices à l'aide de MQTT.
-
Reconnaissance de code QR : utilisez M5StickV pour la reconnaissance de code QR.
Mettre en œuvre des procédures
Configuration du serveur MQTT
1. Paramètres du serveur :- ID du serveur, nom d'utilisateur et mot de passe : définissez ces éléments principaux pour le serveur MQTT.
- Numéro de port : généralement défini sur 1 883.
- URL du serveur : indiquez l'URL de la plateforme.
- Format du sujet et des données : assurez-vous que le format du sujet correspond aux paramètres de l'API de la plateforme. Les données sont généralement formatées en JSON.
- Détails de l'abonnement : définissez le sujet et les données pour l'abonnement. Assurez-vous que les thèmes de publication et d’abonnement sont différents. La sécurité doit être gérée par le courtier. Les données d'abonnement renverront des valeurs Mid et Result, qui peuvent être utilisées pour vérifier l'intégrité des données et la réussite du téléchargement.
Configuration des modules
M5StickV pour la reconnaissance de codes QR
-
Bibliothèques : utilisez les bibliothèques de capteurs et d'images de MicroPython.
-
Format d'image : défini sur RVB565.
-
Résolution : définissez sur QQVGA (160 x 120).
-
Capturer une image : utilisez la bibliothèque
img
pour capturer l'image de la caméra.
-
Détection : utilisez
find_qrcode
pour détecter les codes QR dans l'image. Il renvoie des paramètres tels que les données analysées et les spécifications. -
Décodage : extrayez et utilisez les données décodées pour un traitement ultérieur.
Configuration RFID
Structure de la carte RFID :-
UID et BLOCKS : l'UID est un identifiant unique en lecture seule. Les BLOCS sont lisibles et inscriptibles, où les données des étudiants sont stockées.
-
Délai : implémentez un délai pour éviter plusieurs reconnaissances en raison de la fréquence de traitement RF élevée.
Communication UART
Aperçu:- Protocole : UART est un protocole d'émetteur-récepteur asynchrone série transmettant des bits de données binaires.
- Niveaux de signal : Élevé pour « 1 » et faible pour « 0 ».
- TX (Transmit Data) : Connectez-vous au RX de l'autre appareil.
- RX (Recevoir des données) : Connectez-vous au TX de l'autre appareil.
- GND : Assure une terre commune entre les appareils.
- M5Go Lite : TX (GPIO17) et RX (GPIO16).
- M5StickV : RX (GPIO35) et TX (GPIO34).
-
Bibliothèque : Utilisez la bibliothèque
uart
de MicroPython pour configurer la plateforme.
Les fonctions
Fonctions principales
- M5GO Lite UI : Interface interactive avec connexion WiFi.
- Lecture/écriture RFID : lit et écrit les informations de la carte IC.
- Communication MQTT : interagissez entre la plate-forme cloud et la carte de développement.
- Reconnaissance de code QR : utilisez M5StickV pour reconnaître et lire les codes QR.
- Système de cartes perforées : interrogez et affichez les informations des cartes perforées.
Fonctions secondaires
- Pas de pointage répété : évitez les pointages répétés le même jour.
- Validation du code QR : assurez-vous que seules les informations sur les étudiants sont téléchargées.