ESP8266 - RFID | ESP8266 - RFID

이 튜토리얼은 RFID/NFC를 ESP8266과 함께 사용하는 방법을 안내합니다. RFID/NFC 시스템은 리더기와 태그 두 구성요소로 이루어져 있습니다. 가장 인기 있는 RFID/NFC 리더기 두 가지는 RC522와 PN532입니다. 이 튜토리얼에서는 저렴하고 사용하기 쉬운 RC522 RFID/NFC 리더기를 사용할 것입니다.

RC522 RFID/NFC 리더는 다음을 할 수 있습니다:

이 튜토리얼은 다음에 중점을 둡니다:

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×RFID/NFC RC522 Kit (reader + tags) 쿠팡 | Amazon
1×RFID Key Fob 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) Screw Terminal Expansion Board for ESP8266 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

RFID-RC522 모듈에 대하여

RFID-RC522 모듈 핀배열

RFID-RC522에는 여덟 개의 핀이 있으며, 그 중 일부는 공통이고 나머지는 SPI, I2C, UART의 세 가지 통신 모드에 공유됩니다. 한 번에 하나의 통신 모드만 사용할 수 있습니다. 핀은 다음과 같습니다:

  • GND: GND(0V)에 연결해야 함
  • VCC: VCC(3.3)에 연결해야 함
  • RST: 리셋 및 전원 차단을 위한 핀입니다. 이 핀이 저전압이 될 때 하드 전원 차단이 활성화됩니다. 상승 에지에서 모듈이 리셋됩니다.
  • IRQ: RFID 태그가 근처에 있을 때 마이크로컨트롤러에 알릴 수 있는 인터럽트 핀입니다.
  • MISO/SCL/TX: SPI 인터페이스가 활성화되었을 때 MISO 역할을 하며, I2C 인터페이스가 활성화되었을 때는 SCL 역할을 하고, UART 인터페이스가 활성화되었을 때는 TX 역할을 합니다.
  • MOSI: SPI 인터페이스가 활성화되었을 때 MOSI 역할을 합니다.
  • SCK: SPI 인터페이스가 활성화되었을 때 SCK 역할을 합니다.
  • SS/SDA/RX: SPI 인터페이스가 활성화되었을 때는 SS 역할을 하며, I2C 인터페이스가 활성화되었을 때는 SDA 역할을 하고, UART 인터페이스가 활성화되었을 때는 RX 역할을 합니다.
RFID-RC522 pinout

※ NOTE THAT:

제조사에 따라 핀의 배치가 다를 수 있습니다. 항상 모듈에 인쇄된 라벨을 따르십시오. 위의 일러스트는 DIYables 제조사의 모듈 핀 배치도입니다.

VCC 핀을 5V 핀에 연결하지 마십시오. 이렇게 하면 모듈이 손상될 수 있습니다.

MFRC522 라이브러리는 SPI 모드만 지원하므로, 이 가이드에서는 SPI 통신만 사용합니다.

RFID/NFC가 어떻게 작동하는가

RFID/NFC은 두 부분으로 구성됩니다: 리더기와 태그입니다.

  • 리더기는 고주파 전자기장을 생성하는 라디오 주파수 모듈과 안테나로 구성됩니다.
  • 태그는 일반적으로 전원이 필요 없는 수동 장치입니다. 데이터를 저장하고 처리하기 위한 마이크로칩과 신호를 수신 및 전송하기 위한 안테나를 가지고 있습니다. 태그는 UID(고유 식별자) 및 기타 데이터와 같은 정보를 유지하기 위해 사용됩니다.
arduino rfid nfc system

태그는 내부 정보에 접근하기 위해 리더기 근처에 있어야 합니다. 읽기 과정은 다음과 같습니다:

  • 리더기는 전자기장을 생성하여 태그의 안테나를 통해 전자가 흐르게 하고 칩에 전력을 공급합니다.
  • 태그 내부의 칩은 요청받은 정보를 라디오 신호 형태로 리더기에게 되돌려 보내는 것으로 응답합니다.
  • 리더기는 신호를 감지하고 데이터로 변환합니다.
  • ESP8266은 리더기로부터 데이터를 읽어들입니다.

RFID-RC522 모듈과 ESP8266 간의 배선도

ESP8266 NodeMCU RFID RC522 wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

남성용-여성용 점퍼 와이어를 사용하면 ESP8266을 RFID-RC522 모듈에 직접 연결할 수 있습니다. 그러나 남성용-남성용 점퍼 와이어를 사용하는 경우, ESP8266을 RFID-RC522 모듈에 연결하려면 브레드보드를 거쳐야 합니다.

RFID/NFC RC522 모듈과 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

ESP8266 RFID/NFC 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN D8 // ESP8266 핀 D8 #define RST_PIN D2 // ESP8266 핀 D2 MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // SPI 버스 초기화 rfid.PCD_Init(); // MFRC522 초기화 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // 새 태그가 있음 if (rfid.PICC_ReadCardSerial()) { // NUID가 읽혔습니다 MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.print("RFID/NFC Tag Type: "); Serial.println(rfid.PICC_GetTypeName(piccType)); // UID를 16진수 형태로 시리얼 모니터에 표시 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(); // PICC 정지 rfid.PCD_StopCrypto1(); // PCD의 암호화 중단 } } }

사용 방법

ESP8266을 Arduino IDE에서 사용하기 위하여 다음 단계를 따르세요:

  • ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
  • 도표에 표시된 대로 구성요소를 연결하세요.
  • USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당하는 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • “MFRC522”를 검색하여 GithubCommunity에서 제공하는 라이브러리를 찾으세요.
  • MFRC522 라이브러리를 설치하기 위해 Install 버튼을 누르세요.
ESP8266 NodeMCU MFRC522 library
  • 코드를 복사하고 Arduino IDE로 열어주세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 ESP8266에 업로드하세요.
  • 시리얼 모니터를 엽니다.
  • RFID/NFC 태그를 RFID-RC522 모듈에 탭하세요.
  • 시리얼 모니터에서 UID를 확인하세요.
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  

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ 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!