Bouw een slim toegangscontrolesysteem met M5StickV en RFID
In dit project creëren we een slim toegangscontrolesysteem met ESP32, RFID -eenheden en M5StickV . Het systeem ondersteunt RFID-kaartlezen, QR-codeherkenning en interactie met het "offline-cloudplatform" via MQTT. Belangrijke functies zijn RFID-lees-/schrijfmogelijkheden, MQTT-gebaseerde datacommunicatie en gebruikersinterface-interactie via M5GO Lite .
Projectdoelstellingen
-
Kaartponssysteem : implementeer de basislogica van een kaartponssysteem met ESP32 als de belangrijkste besturingschip.
-
RFID-informatieherkenning: gebruik de RFID-eenheid om IC-kaartinformatie te lezen en te herkennen.
-
Offline-cloud-interactie: schakel offline-cloud-platforminteractie in voor trainingsinformatie met behulp van MQTT.
-
QR-codeherkenning: gebruik M5StickV voor QR-codeherkenning.
Procedures Implementeren
Het opzetten van de MQTT-server
1. Serverinstellingen:- Server-ID, gebruikersnaam en wachtwoord: stel deze hoofdelementen in voor de MQTT-server.
- Poortnummer: doorgaans ingesteld op 1883.
- Server-URL: Geef de URL van het platform op.
- Onderwerp- en gegevensformaat: Zorg ervoor dat het onderwerpformaat overeenkomt met de API-parameters van het platform. Gegevens worden meestal geformatteerd in JSON.
- Abonnementgegevens: stel het onderwerp en de gegevens voor het abonneren in. Zorg ervoor dat de thema's voor publiceren en abonneren verschillend zijn. De beveiliging moet worden beheerd door de makelaar. Abonnementgegevens retourneren midden- en resultaatwaarden, die kunnen worden gebruikt om de gegevensintegriteit te verifiëren en het succes van het uploaden te garanderen.
Moduleconfiguratie
M5StickV voor QR-codeherkenning
-
Bibliotheken: gebruik de sensor- en afbeeldingsbibliotheken van MicroPython.
-
Beeldformaat: instellen op RGB565.
-
Resolutie: ingesteld op QQVGA (160 x 120).
-
Afbeelding vastleggen: gebruik de bibliotheek
img
om het camerabeeld vast te leggen.
-
Detectie: gebruik
find_qrcode
om QR-codes in de afbeelding te detecteren. Het retourneert parameters zoals geparseerde gegevens en specificaties. -
Decodering: extraheer en gebruik de gedecodeerde gegevens voor verdere verwerking.
RFID-configuratie
RFID-kaartstructuur:-
UID en BLOCKS: UID is een unieke, alleen-lezen identificatie. BLOCKS zijn leesbaar en beschrijfbaar, waarin leerlinggegevens worden opgeslagen.
-
Vertraging: Implementeer een vertraging om meerdere herkenningen te voorkomen vanwege de hoge RF-verwerkingsfrequentie.
UART Communicatie
Overzicht:- Protocol: UART is een serieel asynchrone transceiverprotocol dat binaire databits verzendt.
- Signaalniveaus: Hoog voor '1' en laag voor '0'.
- TX (gegevens verzenden): Verbind met de RX van het andere apparaat.
- RX (gegevens ontvangen): Verbind met de TX van het andere apparaat.
- GND: Zorg voor een gemeenschappelijke aarde tussen apparaten.
- M5Go Lite: TX (GPIO17) en RX (GPIO16).
- M5StickV: RX (GPIO35) en TX (GPIO34).
-
Bibliotheek: Gebruik de
uart
bibliotheek van MicroPython om het platform in te stellen.
Functies
Hoofdfuncties
- M5GO Lite UI: Interactieve interface met WiFi-verbinding.
- RFID Lezen/Schrijven: IC-kaartinformatie lezen en schrijven.
- MQTT-communicatie: interactie tussen het cloudplatform en het ontwikkelbord.
- QR-codeherkenning: gebruik M5StickV om QR-codes te herkennen en te lezen.
- Perskaartsysteem: ponskaartinformatie opvragen en weergeven.
Secundaire Functies
- Geen herhaalde ponsen: voorkom herhaalde ponsen op dezelfde dag.
- QR-codevalidatie: zorg ervoor dat alleen studentinformatie wordt geüpload.