Tässä projektissa luomme älykkään kulunvalvontajärjestelmän käyttäen ESP32:ta, RFID-yksiköitä ja M5StickV. Järjestelmä tukee RFID-kortin lukemista, QR-koodin tunnistusta ja "offline-pilvialustan" vuorovaikutusta MQTT:n kautta. Keskeisiä ominaisuuksia ovat RFID-luku/kirjoitus, MQTT-pohjainen tiedonsiirto ja käyttöliittymän vuorovaikutus M5GO Liten kautta.

Projektin tavoitteet
-
Leimausjärjestelmä: Toteuta leimausjärjestelmän peruslogiikka käyttäen ESP32 pääohjainpiirinä.
-
RFID-tietojen tunnistus: Käytä RFID-yksikköä IC-korttitietojen lukemiseen ja tunnistamiseen.
-
Offline-pilvi-vuorovaikutus: Mahdollista offline-pilvialustan vuorovaikutus harjoitustiedon kanssa MQTT:n avulla.
-
QR-koodin tunnistus: Käytä M5StickV:tä QR-koodin tunnistukseen.
Toteuta menettelyt
MQTT-palvelimen määrittäminen
1. Palvelimen asetukset:
-
Palvelimen tunnus, käyttäjätunnus ja salasana: Aseta nämä MQTT-palvelimen pääelementit.
-
Porttinumero: Yleensä asetetaan arvoon 1883.
-
Palvelimen URL: Anna alustan URL-osoite.
2. Datan julkaisu:
-
Aihe ja datan muoto: Varmista, että aiheen muoto vastaa alustan API-parametreja. Data on yleensä JSON-muodossa.
3. Datan tilaaminen:
-
Tilauksen tiedot: Aseta tilauksen aihe ja data. Varmista, että julkaisun ja tilauksen aiheet ovat erilaiset. Turvallisuus tulee hoitaa välittäjän toimesta. Tilauksen data palauttaa Mid- ja Result-arvot, joita voidaan käyttää datan eheyden ja latauksen onnistumisen varmistamiseen.

Moduulin asetukset
M5StickV QR-koodin tunnistukseen
1. Kamera- ja kuvan parametrit:
-
Kirjastot: Käytä MicroPythonin sensorin ja kuvan kirjastoja.
-
Kuvan muoto: Aseta RGB565:ksi.
-
Tarkkuus: Aseta QQVGA:ksi (160x120).
-
Kuvan kaappaus: Käytä
img
-kirjastoa kamerakuvan kaappaamiseen.
2. QR-koodin tunnistus:
-
Tunnistus: Käytä
find_qrcode
QR-koodien tunnistamiseen kuvasta. Se palauttaa parametreja kuten jäsennelty data ja ominaisuudet. -
Purku: Poimi ja käytä purettu data jatkokäsittelyyn.
RFID-asetukset
RFID-kortin rakenne:
-
UID ja BLOCKS: UID on ainutlaatuinen, vain luku -tunniste. BLOCKS ovat luettavia ja kirjoitettavia, joihin opiskelijatiedot tallennetaan.
-
Viive: Toteuta viive estämään useat tunnistukset korkean RF-käsittelytaajuuden vuoksi.
UART Viestintä
Yleiskatsaus:
-
Protokolla: UART on sarjallinen asynkroninen vastaanotin-lähetinprotokolla, joka siirtää binaaridatabittejä.
-
Signaalitasot: Korkea tarkoittaa '1' ja matala '0'.
Laitteistoyhteydet:
-
TX (Lähetä data): Yhdistä toisen laitteen RX:ään.
-
RX (Vastaanota data): Yhdistä toisen laitteen TX:ään.
-
GND: Varmista yhteinen maadoitus laitteiden välillä.
Laitteen liitäntä:
-
M5Go Lite: TX (GPIO17) ja RX (GPIO16).
-
M5StickV: RX (GPIO35) ja TX (GPIO34).
-
Kirjasto: Käytä micropythonin
uart
-kirjastoa alustan määrittämiseen.

Ensiksi tarkastellaan laitteiden liitäntöjä laitteiston suunnittelukaavion perusteella. M5Go Litelle TX- ja RX-liitännät on kartoitettu GPIO17:ään ja GPIO16:een. M5StickV:lle RX- ja TX-liitännät on kartoitettu GPIO35:een ja GPIO34:ään. Tämä yhdistää M5Go Liten TX:n M5StickV:n RX:ään ja päinvastoin. Tämän kokoonpanon hyödyntämiseksi käytä MicroPythonin mukana tulevaa UART-kirjastoa laitteiden välisen viestinnän määrittämiseen.

Toiminnot
Päätoiminnot
-
M5GO Lite UI: Interaktiivinen käyttöliittymä WiFi-yhteydellä.
-
RFID-luku/kirjoitus: Lue ja kirjoita IC-korttitietoja.
-
MQTT-yhteys: Vuorovaikutus pilvialustan ja kehityskortin välillä.
-
QR-koodin tunnistus: Käytä M5StickV:tä QR-koodien tunnistamiseen ja lukemiseen.
-
Leimausjärjestelmä: Kysy ja näytä leimaustiedot.
Toissijaiset toiminnot
-
Ei toistuvaa leimausta: Estä saman päivän toistuva leimaus.
-
QR-koodin vahvistus: Varmista, että vain opiskelijatiedot ladataan.