I dette projekt vil vi skabe et smart adgangskontrolsystem ved hjælp af ESP32, RFID-enheder og M5StickV. Systemet understøtter RFID-kortlæsning, QR-kodegenkendelse og "offline-sky platform" interaktion via MQTT. Nøglefunktioner inkluderer RFID læse-/skrivefunktioner, MQTT-baseret datakommunikation og brugergrænsefladeinteraktion via M5GO Lite.

Projektmål
-
Stempelkortsystem: Implementer den grundlæggende logik for et stempelkortsystem ved brug af ESP32 som hovedkontrolchip.
-
RFID informationsgenkendelse: Brug RFID-enheden til at læse og genkende IC-kortinformation.
-
Offline-sky-interaktion: Muliggør offline-sky platform interaktion for træningsinformation ved hjælp af MQTT.
-
QR-kodegenkendelse: Brug M5StickV til genkendelse af QR-koder.
Implementer procedurer
Opsætning af MQTT-serveren
1. Serverindstillinger:
-
Server-ID, brugernavn og adgangskode: Indstil disse hoveddele for MQTT-serveren.
-
Portnummer: Typisk sat til 1883.
-
Server-URL: Angiv platformens URL.
2. Publicering af data:
-
Emne- og dataformat: Sørg for, at emneformatet matcher platformens API-parametre. Data er normalt formateret i JSON.
3. Abonnering på data:
-
Abonnementsdetaljer: Indstil emnet og data til abonnement. Sørg for, at temaerne for publicering og abonnement er forskellige. Sikkerhed bør håndteres af broker. Abonnementsdata vil returnere Mid og Result værdier, som kan bruges til at verificere dataintegritet og uploadsucces.

Modulkonfiguration
M5StickV til QR-kodegenkendelse
1. Kamera- og billedparametre:
-
Biblioteker: Brug MicroPythons sensor- og billedbiblioteker.
-
Billedformat: Indstil til RGB565.
-
Opløsning: Indstil til QQVGA (160x120).
-
Tag billede: Brug
img
-biblioteket til at tage kameraets billede.
2. QR-kodedetektion:
-
Detektion: Brug
find_qrcode
til at detektere QR-koder i billedet. Den returnerer parametre som fortolkede data og specifikationer. -
Afkodning: Udtræk og brug de afkodede data til videre behandling.
RFID-konfiguration
RFID-kortstruktur:
-
UID og BLOKKE: UID er en unik, skrivebeskyttet identifikator. BLOKKE er læsbare og skrivbare, hvor elevdata gemmes.
-
Forsinkelse: Implementer en forsinkelse for at forhindre flere genkendelser på grund af høj RF-behandlingsfrekvens.
UART Kommunikation
Oversigt:
-
Protokol: UART er en seriel asynkron transceiver-protokol, der transmitterer binære databit.
-
Signalniveauer: Højt for '1' og lavt for '0'.
Hardwareforbindelser:
-
TX (Send data): Forbind til RX på den anden enhed.
-
RX (Modtag data): Forbind til TX på den anden enhed.
-
GND: Sørg for en fælles jordforbindelse mellem enhederne.
Enhedsgrænseflade:
-
M5Go Lite: TX (GPIO17) og RX (GPIO16).
-
M5StickV: RX (GPIO35) og TX (GPIO34).
-
Bibliotek: Brug micropythons
uart
-bibliotek til at opsætte platformen.

Lad os først undersøge enhedsgrænsefladerne baseret på hardwaredesignskemaet. For M5Go Lite er TX- og RX-grænsefladerne kortlagt til henholdsvis GPIO17 og GPIO16. For M5StickV er RX- og TX-grænsefladerne kortlagt til GPIO35 og GPIO34. Denne opsætning forbinder TX på M5Go Lite til RX på M5StickV og omvendt. For at bruge denne konfiguration skal du bruge UART-biblioteket, der følger med MicroPython, til at opsætte kommunikationen mellem enhederne.

Funktioner
Hovedfunktioner
-
M5GO Lite UI: Interaktivt interface med WiFi-forbindelse.
-
RFID læs/skriv: Læs og skriv IC-kortoplysninger.
-
MQTT-kommunikation: Interaktion mellem cloud-platformen og udviklingskortet.
-
QR-kodegenkendelse: Brug M5StickV til at genkende og læse QR-koder.
-
Stempelkortsystem: Forespørg og vis stempelkortoplysninger.
Sekundære funktioner
-
Ingen gentagen stempling: Forhindre gentagen stempling på samme dag.
-
QR-kodevalidering: Sørg for, at kun elevoplysninger uploades.