ESP8266 - RFID

Ce tutoriel vous explique comment utiliser RFID/NFC avec ESP8266. Le système RFID/NFC se compose de deux composants : un lecteur et une étiquette. Deux des lecteurs RFID/NFC les plus populaires sont les RC522 et PN532. Ce tutoriel utilisera le lecteur RFID/NFC RC522, qui est bon marché et facile à utiliser.

Le lecteur RFID/NFC RC522 peut :

Ce tutoriel se concentre sur :

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module RFID-RC522

Brochage du module RFID-RC522

L'RFID-RC522 possède huit broches, certaines sont communes et les autres sont partagées entre trois modes de communication : SPI, I2C et UART. Un seul mode de communication peut être utilisé à la fois. Les broches sont :

  • GND : doit être connecté à GND (0V)
  • VCC : doit être connecté à VCC (3,3V)
  • RST : est une broche pour la réinitialisation et l'arrêt électrique. Quand cette broche est à l'état bas, l'arrêt complet est activé. À la transition ascendante, le module est réinitialisé.
  • IRQ : est une broche d'interruption qui peut alerter le microcontrôleur lorsqu'une étiquette RFID est à proximité.
  • MISO/SCL/TX : agit comme MISO lorsque l'interface SPI est activée, agit comme SCL lorsque l'interface I2C est activée et agit comme TX lorsque l'interface UART est activée.
  • MOSI : agit comme MOSI lorsque l'interface SPI est activée.
  • SCK : agit comme SCK lorsque l'interface SPI est activée.
  • SS/SDA/RX : agit comme SS lorsque l'interface SPI est activée, agit comme SDA lorsque l'interface I2C est activée et agit comme RX lorsque l'interface UART est activée.
Brochage RFID-RC522

※ NOTE THAT:

  • La disposition des broches peut varier en fonction du fabricant. Suivez TOUJOURS les étiquettes imprimées sur le module. L'illustration ci-dessus représente le schéma des broches du module du fabricant DIYables.
  • Ne connectez pas la broche VCC à la broche 5V. Cela pourrait endommager votre module.
  • La bibliothèque MFRC522 ne supporte que le mode SPI, donc ce guide utilisera uniquement la communication SPI.

Comment fonctionnent les RFID/NFC

RFID/NFC est composé de deux parties : lecteur et étiquette :

  • Le lecteur est composé d'un module de fréquence radio et d'une antenne qui produit un champ électromagnétique de haute fréquence.
  • L'étiquette est généralement un dispositif passif, ne nécessitant pas de source d'alimentation. Elle possède une micro-puce pour stocker et traiter les données, ainsi qu'une antenne pour recevoir et transmettre des signaux. L'étiquette est utilisée pour conserver des informations telles qu'un UID (Identifiant Unique) et d'autres données.
système Arduino RFID NFC

Le tag doit être proche du lecteur pour accéder aux informations qu'il contient. Le processus de lecture se déroule comme suit :

  • Le lecteur produit un champ électromagnétique, ce qui provoque le passage d'électrons à travers l'antenne de l'étiquette et alimente la puce.
  • La puce à l'intérieur de l'étiquette répond ensuite en renvoyant les informations demandées au lecteur sous forme de signal radio.
  • Le lecteur détecte le signal et le convertit en données.
  • L'ESP8266 lit les données provenant du lecteur.

Schéma de câblage entre le module RFID-RC522 et l'ESP8266

Schéma de câblage ESP8266 NodeMCU RFID RC522

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Si vous utilisez des câbles à jumper de mâle à femelle, vous pouvez connecter directement l'ESP8266 au module RFID-RC522. Cependant, si vous utilisez des câbles à jumper de mâle à mâle, vous devez connecter l'ESP8266 au module RFID-RC522 via une plaque d'essai.

Tableau de câblage du module RFID/NFC RC522 et 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

Code RFID/NFC ESP8266

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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 } } }

Étapes rapides

Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
  • Connectez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Recherchez "MFRC522" et localisez la bibliothèque fournie par GithubCommunity.
  • Appuyez sur le bouton Install pour installer la bibliothèque MFRC522.
Bibliothèque ESP8266 NodeMCU MFRC522
  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code vers l'ESP8266.
  • Ouvrez le moniteur série.
  • Approchez quelques étiquettes RFID/NFC du module RFID-RC522.
  • Vérifiez l'UID sur le moniteur série.
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  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!