Costruisci un sistema di controllo accessi intelligente con M5StickV e RFID
In questo progetto, creeremo un sistema di controllo accessi intelligente utilizzando ESP32, unità RFID e M5StickV . Il sistema supporta la lettura di schede RFID, il riconoscimento di codici QR e l'interazione "offline-cloud platform" tramite MQTT. Le caratteristiche principali includono capacità di lettura/scrittura RFID, comunicazione dati basata su MQTT e interazione con l'interfaccia utente tramite M5GO Lite .
Obiettivi del Progetto
-
Sistema di perforazione delle schede : implementa la logica di base di un sistema di perforazione delle schede utilizzando ESP32 come chip di controllo principale.
-
Riconoscimento delle informazioni RFID: utilizza l'unità RFID per leggere e riconoscere le informazioni della carta IC.
-
Interazione cloud offline: abilita l'interazione della piattaforma cloud offline per informazioni sugli esercizi utilizzando MQTT.
-
Riconoscimento del codice QR: utilizza M5StickV per il riconoscimento del codice QR.
Implementare Procedure
Impostazione del server MQTT
1. Impostazioni del server:- ID server, nome utente e password: imposta questi elementi principali per il server MQTT.
- Numero di porta: generalmente impostato su 1883.
- URL del server: fornisci l'URL della piattaforma.
- Formato argomento e dati: assicurati che il formato dell'argomento corrisponda ai parametri API della piattaforma. I dati sono generalmente formattati in JSON.
- Dettagli iscrizione: imposta l'argomento e i dati per l'iscrizione. Assicurati che i temi per la pubblicazione e la sottoscrizione siano diversi. La sicurezza dovrebbe essere gestita dal broker. I dati di sottoscrizione restituiranno i valori Mid e Result, che possono essere utilizzati per verificare l'integrità dei dati e il successo del caricamento.
Configurazione del modulo
M5StickV per il riconoscimento dei codici QR
1. Parametri della fotocamera e dell'immagine:-
Librerie: utilizza le librerie di sensori e immagini di MicroPython.
-
Formato immagine: impostato su RGB565.
-
Risoluzione: imposta su QQVGA (160x120).
-
Cattura immagine: utilizza la libreria
img
per catturare l'immagine della telecamera.
-
Rilevamento: utilizza
find_qrcode
per rilevare i codici QR nell'immagine. Restituisce parametri come dati e specifiche analizzati. -
Decodifica: estrae e utilizza i dati decodificati per un'ulteriore elaborazione.
Configurazione RFID
Struttura della carta RFID:-
UID e BLOCCHI: l'UID è un identificatore univoco e di sola lettura. I BLOCCHI sono leggibili e scrivibili, dove sono memorizzati i dati degli studenti.
-
Ritardo: implementa un ritardo per impedire riconoscimenti multipli dovuti all'elevata frequenza di elaborazione RF.
Comunicazione UART
Panoramica:- Protocollo: UART è un protocollo di ricetrasmettitore asincrono seriale che trasmette bit di dati binari.
- Livelli del segnale: alto per "1" e basso per "0".
- TX (trasmissione dati): connettiti all'RX dell'altro dispositivo.
- RX (ricezione dati): connettiti al TX dell'altro dispositivo.
- GND: assicura una terra comune tra i dispositivi.
- M5Go Lite: TX (GPIO17) e RX (GPIO16).
- M5StickV: RX (GPIO35) e TX (GPIO34).
-
Libreria: utilizza la libreria
uart
di MicroPython per configurare la piattaforma.
Funzioni
Funzioni principali
- M5GO Lite UI: interfaccia interattiva con connessione WiFi.
- Lettura/scrittura RFID: leggi e scrivi le informazioni della scheda IC.
- Comunicazione MQTT: interagisci tra la piattaforma cloud e il comitato di sviluppo.
- Riconoscimento codice QR: utilizza M5StickV per riconoscere e leggere i codici QR.
- Sistema schede perforate: interroga e visualizza le informazioni sulle schede perforate.
Funzioni Secondarie
- Nessuna ripetizione della perforazione: impedisce la ripetizione della perforazione nello stesso giorno.
- Convalida del codice QR: assicurati che vengano caricate solo le informazioni sugli studenti.