ESP8266 - Identificación por radiofrecuencia

Este tutorial le enseña cómo usar RFID/NFC con ESP8266. El sistema RFID/NFC consta de dos componentes: un lector y una tarjeta. Dos de los lectores RFID/NFC más populares son el RC522 y el PN532. Este tutorial utilizará el lector RC522 RFID/NFC, que es barato y fácil de usar.

El lector RC522 de RFID/NFC puede:

Este tutorial se centra en:

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×RFID Card
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del módulo RFID-RC522

Pinout del módulo RFID-RC522

El RFID-RC522 tiene ocho pines, algunos de los cuales son comunes y los otros se comparten entre tres modos de comunicación: SPI, I2C y UART. Solo se puede usar un modo de comunicación a la vez. Los pines son:

  • GND: debe estar conectado a GND (0V)
  • VCC: debe estar conectado a VCC (3.3)
  • RST: es un pin para reiniciar y apagar la alimentación. Cuando este pin pasa a nivel bajo, se habilita un apagado forzado de la alimentación. En el borde de subida, el módulo se reinicia.
  • IRQ: es un pin de interrupción que puede alertar al microcontrolador cuando una etiqueta RFID está en su proximidad.
  • MISO/SCL/TX: funciona como MISO cuando la interfaz SPI está habilitada, funciona como SCL cuando la interfaz I2C está habilitada y funciona como TX cuando la interfaz UART está habilitada.
  • MOSI: funciona como MOSI cuando la interfaz SPI está habilitada.
  • SCK: funciona como SCK cuando la interfaz SPI está habilitada.
  • SS/SDA/RX: funciona como SS cuando la interfaz SPI está habilitada, funciona como SDA cuando la interfaz I2C está habilitada y funciona como RX cuando la interfaz UART está habilitada.
Pinout del RFID-RC522

※ Nota:

  • La disposición de pines puede variar según el fabricante. SIEMPRE siga las etiquetas impresas en el módulo. La ilustración de arriba es la disposición de pines del módulo del fabricante DIYables.
  • No conecte el pin VCC al pin de 5 V. Esto podría dañar su módulo.
  • La biblioteca MFRC522 solo admite el modo SPI, por lo que esta guía utilizará únicamente la comunicación SPI.

Cómo funcionan RFID/NFC

RFID/NFC se compone de dos partes: lector y etiqueta:

  • El lector está formado por un módulo de radiofrecuencia y una antena que genera un campo electromagnético de alta frecuencia.
  • La etiqueta suele ser un dispositivo pasivo que no requiere una fuente de energía. Cuenta con un microchip para almacenar y procesar datos, así como con una antena para recibir y transmitir señales. La etiqueta se utiliza para almacenar información, como un UID (Identificador único) y otros datos.
sistema Arduino RFID NFC

La etiqueta debe estar cerca del lector para poder acceder a la información que contiene. El proceso de lectura es el siguiente:

  • El lector genera un campo electromagnético, lo que provoca que los electrones fluyan a través de la antena de la etiqueta y alimenten el chip.
  • El chip dentro de la etiqueta responde enviando la información solicitada de vuelta al lector en forma de una señal de radio.
  • El lector detecta la señal y la convierte en datos.
  • ESP8266 lee los datos del lector.

Diagrama de cableado entre el módulo RFID-RC522 y el ESP8266

Diagrama de cableado ESP8266 NodeMCU RFID RC522

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Si usas cables jumper macho-hembra, puedes conectar directamente el ESP8266 al módulo RFID-RC522. Sin embargo, si usas cables jumper macho-macho, debes conectar el ESP8266 al módulo RFID-RC522 a través de una placa de pruebas.

Tabla de cableado del módulo RFID/NFC RC522 y ESP8266

RFID/NFC RC522 ESP8266
SS → D8 (SPI CS/SS)
SCK → D5 (SPI CLK)
MOSI → D7 (SPI MOSI)
MISO → D6 (SPI MISO)
IRQ not connected
GNDGND
RST → D2
VCC → 3.3V

Código ESP8266 RFID/NFC

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN D8 // The ESP8266 pin D8 #define RST_PIN D2 // The ESP8266 pin D2 MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.print("RFID/NFC Tag Type: "); Serial.println(rfid.PICC_GetTypeName(piccType)); // print UID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes tal como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora usando un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM respectivo.
  • Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “MFRC522” y localiza la biblioteca proporcionada por GithubCommunity.
  • Presiona el botón Instalar para instalar la biblioteca MFRC522.
Librería MFRC522 para ESP8266 NodeMCU
  • Copia el código y ábrelo con el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al ESP8266.
  • Abre el Monitor Serial.
  • Acerca algunas etiquetas RFID/NFC al módulo RFID-RC522.
  • Verifica el UID en el Monitor Serial.
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!