Sensore RFID RCOP 102 di interfaccia con ESPTOP 10 utilizzando Arduino IDE

Sensore RFID RCOP 102 di interfaccia con ESPTOP 10 utilizzando Arduino IDE
ESP32 è una scheda basata su microcontrollori compatta di conservazione dell'alimentazione che contiene una serie di pin GPIO per i sensori di interfacciamento. In questo tutorial ESP32 sarà interfacciato con un sensore RFID utilizzando il codice Arduino. RC522 è un sensore intelligente basato su SPI in grado di leggere schede RFID, tag e bande intelligenti.

Contenuto trattato in questo articolo:

  • 1: Introduzione al sensore RC522
  • 2: pinout del sensore RC522
  • 3: Sensore RFID RC522 interfacciante con ESP32
  • 3.1: schema
  • 3.2: installazione delle librerie richieste
  • 3.3: Ottenere l'UID per la scheda/tag RFID
  • 4: leggere un tag RFID usando ESP32
  • 4.1: codice
  • 4.2: output
  • Conclusione

1: Introduzione al sensore RC522

MFRC522 è un IC senza contatto basato su RFID in grado di leggere e scrivere dati a una frequenza di 13.56 MHz. È progettato per una facile integrazione in una vasta gamma di applicazioni, tra cui sistemi di controllo degli accessi, terminali di pagamento e altri sistemi che richiedono una comunicazione wireless sicura.

Il sensore presenta un basso design del consumo di energia ed è conforme allo standard ISO/IEC 14443 A/MIFARE, che gli consente di comunicare con una vasta gamma di carte e tag senza contatto.

Inoltre, MFRC522 presenta un'antenna incorporata, rendendola una soluzione conveniente e compatta per aggiungere capacità di comunicazione senza contatto a un progetto.

2: pinout del sensore RC522

Il sensore ha un totale di 8 pin che lo interfacciano con un microcontrollore o un altro dispositivo di controllo. Il pinout del sensore MFRC522 è il seguente:

IL SDA, SCK, MOSI, E MISO I pin vengono utilizzati per interfacciarsi il sensore MFRC522 con un microcontrollore tramite un protocollo di comunicazione SPI (SPI) di interfaccia seriale a 4 fili (SPI).

IL Irq Il pin può essere utilizzato per generare un interrupt quando si verificano determinati eventi, come una scheda o una lettura di tag di successo, tuttavia non è comunemente usato in molti progetti.

IL GND Il pin si collega al suolo del circuito e al Primo Il pin viene utilizzato per ripristinare il sensore.

Finalmente il 3.3v Il pin viene utilizzato per fornire energia al sensore.

È importante notare che questi nomi dei pin possono variare leggermente a seconda del modulo specifico, quindi è sempre meglio consultare la scheda tecnica del produttore per le informazioni di pinout corrette.

3: Sensore RFID RC522 interfacciante con ESP32

L'interfaccia del sensore MFRC522 con microcontroller ESP32 è un semplice processo che può essere eseguito utilizzando la libreria MFRC522, che è liberamente disponibile per il download. Questa libreria fornisce un set di funzioni di facile utilizzo per l'accesso alla funzionalità del sensore, comprese le funzioni per la lettura e la scrittura di dati su schede e tag senza contatto.

Una volta installata la libreria, nel menu di esempio può essere trovato nel menu Esempi che dimostra come inizializzare il sensore e comunicare con una scheda o un tag. Nello schizzo, è importante impostare le connessioni del pin corrette tra il sensore ESP32 e MFRC522, come i pin SPI, il pin reset e altri, secondo il modello della scheda ESP32 utilizzata.

Con il cablaggio corretto e la libreria correttamente installata, l'ESP32 sarà in grado di comunicare con il sensore MFRC522 ed eseguire le azioni desiderate come la lettura e la scrittura su carte e tag.

Per maggiori dettagli su Protocollo ESP32 SPI e lavorando leggi l'articolo ESP32 SPI PIN.

3.1: schema

L'immagine schematica RC522 con ESP32 è mostrata di seguito:

3.2: installazione delle librerie richieste

MFRC522 La libreria è necessaria per leggere la scheda e i tag RFID Uid. Apri IDE, vai a Library Manager e cerca la libreria MFRC522. Installa la libreria in Arduino IDE.

Dopo aver installato la libreria MFRC522 leggeremo l'UID per tag e schede RFID.

3.3: Ottenere l'UID per la scheda/tag RFID

Apri il Dumpinfo Esempio per il sensore MFRC522. Vai a: File> Esempi> MFRC522> dumpinfo:

Il seguente codice si aprirà in una nuova finestra IDE. Carica il codice su ESP32. Ricorda di impostare il pin di ripristino e slave seleziona in base alla scheda. Qualunque delle pin digitali ESP32 può essere impostata come Primo E Ss:

Dopo aver caricato il codice su ESP32. Toccare e tenere premuto la scheda/tag RFID con sensore MFRC522:

Il sensore leggerà i dati salvati all'interno del tag RFID e lo visualizzerà sul monitor seriale. Qui possiamo vedere il Uid per tag RFID che indica "02 DC B4 C3".

Totale di 16 (0-15) settori in cui RFID La memoria di scheda/tag 1K è organizzata. Quattro (0-3) blocchi sono inclusi in ciascuno di questi 16 settori. Ogni blocco ha la capacità di archiviare 16 (0-15) byte di dati.

Questi dati lo rappresentano:

16 settori x 4 blocchi x 16 byte di dati = 1024 byte = 1K Memoria

Il monitor seriale IDE Arduino mostra la distribuzione degli Stati Uniti della memoria 1K del tag RFID. Questa distribuzione contiene anche settori, blocchi e informazioni sui dati in righe e colonne dei dati di output:

Puoi anche leggere l'ID univoco (Uid) per la scheda alla fine dell'output:

4: leggere un tag RFID usando ESP32

Ora abbiamo letto l'ID univoco (UID) per il tag RFID. Scriveremo un codice Arduino che salva queste informazioni sulla scheda e concede l'accesso all'utente se il tag RFID con lo stesso UID è toccato con il sensore MFRC522.

4.1: codice

Apri IDE Select ESP32 Scheda e Carica il codice fornito.

/*
****************
Linuxhint.com
****************
Linuxhint.com
****************
*/
#includere
#includere
#define ss_pin 21 /*slave select pin* /
#define RST_PIN 22 /*PIN RESET per RC522* /
#define Led_g 12 /*pin 8 per LED* /
MFRC522 MFRC522 (SS_PIN, RST_PIN); /*Crea mfrc522 inizializzato*/
void setup ()

Seriale.Inizia (9600); /*Comunicazione seriale inizia*/
Sp.inizio(); /*Comunicazione SPI inizializzata*/
MFRC522.Pcd_init (); /*Sensore rfid inizializzato*/
pinMode (led_g, output); /*Pin LED impostata come output*/
Seriale.println ("Metti la tua carta al lettore ...");
Seriale.println ();

void loop ()

/*Cerca la scheda RFID*/
Se ( ! MFRC522.Picc_isnewcardpresent ())

ritorno;

/*Seleziona scheda*/
Se ( ! MFRC522.Picc_readcardserial ())

ritorno;

/*Mostra UID per la scheda/Tag sul monitor seriale*/
Seriale.print ("uid tag:");
Stringa content = "";
lettera di byte;
per (byte i = 0; i < mfrc522.uid.size; i++)

Seriale.Stampa (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " ");
Seriale.Stampa (MFRC522.uid.uidbyte [i], esadecimale);
contenuto.Concat (String (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " "));
contenuto.Concat (String (MFRC522.uid.uidbyte [i], esadecimale));

Seriale.println ();
Seriale.print ("Messaggio:");
contenuto.touppercase ();
if (contenuto.substring (1) == "02 dc b4 c3")/*uid per la scheda/tag che vogliamo dare accesso sostituire con la tua scheda uid*/

Seriale.println ("accesso autorizzato"); /*Stampa Messaggio se UID corrisponde con il database*/
Seriale.println ();
ritardo (500);
DigitalWrite (LED_G, High); /*LED Accendi*/
ritardo (2500);
DigitalWrite (LED_G, basso);

altro
Seriale.println ("accesso negata"); /*Se uid non corrisponde al messaggio di stampa*/

Codice avviato includendo la libreria SPI e MFRC522. Successivamente, abbiamo definito il pin di ripristino e slave seleziona per il sensore. Un LED al pin D12 viene inizializzato come output.

La scheda RFID che vogliamo leggere viene inizializzata definendo l'UID. Questo è lo stesso uid che abbiamo usando il Dumpinfo Codice di esempio:

UN SE la condizione controllerà l'UID per la scheda che è sfruttata con il sensore. Se l'UID corrisponde a quello all'interno del LED del codice si accenderà e verrà stampato il messaggio di accesso autorizzato, altrimenti il ​​LED rimarrà spento e verrà visualizzato il messaggio negato di accesso se viene sfruttata qualsiasi altra scheda.

4.2: output

Nell'output possiamo vedere che il tag RFID non è sfruttato con il sensore MFRC522, quindi il LED è disattivato.:

Toccare o portare la scheda/tag RFID vicino all'uscita del sensore seguente verrà visualizzato sul monitor seriale che visualizza l'UID della scheda:

LED è acceso se l'accesso è concesso e l'UID corrisponde a quello che abbiamo definito all'interno del codice:

Abbiamo completato l'interfacciatura del tag RFID con il sensore RC522 utilizzando la scheda ESP32 e IDE.

Conclusione

ESP32 è una scheda IoT che presenta tutte le interfacce di comunicazione necessarie per lo scambio di dati tra diversi dispositivi. ESP32 ha diversi pin GPIO per leggere i dati dai sensori. L'uso del protocollo SPI ESP32 può leggere i dati del sensore RFID e è possibile progettare più progetti. Questo articolo copre l'interfaccia ESP32 con il sensore e il codice RC522 richiesti per leggere qualsiasi scheda/tag RFID.