ESP8266 - RFID
Este tutorial ensina como usar RFID/NFC com o ESP8266. O sistema RFID/NFC é composto por dois componentes: um leitor e uma tag. Dois dos leitores RFID/NFC mais populares são o RC522 e o PN532. Este tutorial usará o leitor RFID/NFC RC522, que é barato e fácil de usar.
O leitor RFID/NFC RC522 pode:
- Obter o UID de uma tag RFID/NFC
- Alterar o UID de uma tag RFID/NFC (somente se a tag suportar isso)
- Armazenar dados em uma tag RFID/NFC
- Recuperar dados de uma tag RFID/NFC
Este tutorial foca em:
- Como conectar o módulo RC522 ao ESP8266
- Como programar o ESP8266 para se comunicar com o módulo RC522 e ler o UID da tag RFID.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo RFID-RC522
Pinagem do Módulo RFID-RC522
O RFID-RC522 tem oito pinos, alguns deles comuns e os outros compartilhados entre três modos de comunicação: SPI, I2C e UART. Apenas um modo de comunicação pode ser usado por vez. Os pinos são:
- GND: deve ser conectado ao GND (0V)
- VCC: deve ser conectado ao VCC (3.3)
- RST: é um pino para reset e desligamento. Quando este pino vai para nível baixo, o desligamento total é ativado. Na borda de subida, o módulo é reiniciado.
- IRQ: é um pino de interrupção que pode alertar o microcontrolador quando uma tag RFID está nas proximidades.
- MISO/SCL/TX: atua como MISO quando a interface SPI está ativada, como SCL quando a interface I2C está ativada e como TX quando a interface UART está ativada.
- MOSI: atua como MOSI quando a interface SPI está ativada.
- SCK: atua como SCK quando a interface SPI está ativada.
- SS/SDA/RX: atua como SS quando a interface SPI está ativada, como SDA quando a interface I2C está ativada e como RX quando a interface UART está ativada.

※ Nota:
- A disposição dos pinos pode variar dependendo do fabricante. SEMPRE siga os rótulos impressos no módulo. A ilustração acima é a pinagem do módulo do fabricante DIYables.
- Não conecte o pino VCC ao pino 5V. Isso pode danificar o seu módulo.
- A biblioteca MFRC522 suporta apenas o modo SPI, então este guia usará apenas a comunicação SPI.
Como o RFID/NFC Funciona
O RFID/NFC é composto por duas partes: leitor e tag:
- O leitor é formado por um módulo de radiofrequência e uma antena que produz um campo eletromagnético de alta frequência.
- A tag geralmente é um dispositivo passivo, que não precisa de fonte de alimentação. Ela tem um microchip para armazenar e processar dados, além de uma antena para receber e transmitir sinais. A tag é usada para guardar informações como um UID (Unique ID) e outros dados.

A tag deve estar perto do leitor para que as informações que ela contém possam ser acessadas. O processo de leitura é o seguinte:
- O leitor produz um campo eletromagnético, que faz os elétrons fluírem pela antena da tag e alimentarem o chip.
- O chip dentro da tag então responde enviando de volta ao leitor as informações solicitadas na forma de um sinal de rádio.
- O leitor detecta o sinal e o converte em dados.
- O ESP8266 lê os dados do leitor.
Diagrama de Ligação entre o Módulo RFID-RC522 e o ESP8266

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
Se você usar fios jumper macho-fêmea, poderá conectar o ESP8266 diretamente ao módulo RFID-RC522. No entanto, se usar fios jumper macho-macho, você deve conectar o ESP8266 ao módulo RFID-RC522 por meio de uma protoboard.
Tabela de ligação do Módulo RFID/NFC RC522 e do ESP8266
| RFID/NFC RC522 | ESP8266 |
|---|---|
| SS | → D8 (SPI CS/SS) |
| SCK | → D5 (SPI CLK) |
| MOSI | → D7 (SPI MOSI) |
| MISO | → D6 (SPI MISO) |
| IRQ | não conectado |
| GND | → GND |
| RST | → D2 |
| VCC | → 3.3V |
Código ESP8266 para RFID/NFC
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Clique no ícone Libraries na barra esquerda da Arduino IDE.
- Pesquise por “MFRC522” e localize a biblioteca fornecida por GithubCommunity.
- Pressione o botão Install para instalar a biblioteca MFRC522.

- Copie o código e abra-o com a Arduino IDE.
- Clique no botão Upload da Arduino IDE para compilar e fazer upload do código para o ESP8266.
- Abra o Serial Monitor.
- Aproxime algumas tags RFID/NFC do módulo RFID-RC522.
- Verifique o UID no Serial Monitor.