번개애비의 라이프스톼일

ESP32를 이용하여 RFID카드의 UID값 구하기 본문

IT

ESP32를 이용하여 RFID카드의 UID값 구하기

번개애비 2020. 2. 6. 18:51

 

이번에 사용할 모듈은 RFID read/write가 가능한 MFRC522라는 모듈을 사용합니다.

 

 

소형화된 모듈을 사용할 수도 있고 (\7,000)
아두이노에서 많이 접할수 있는 OEM방식의 모듈을 사용할수도 있습니다. (\3,400)

카드는 모듈과 함께 동봉된 카드나 토큰을 사용할 수도 있고,

별도로 구매할 수 있습니다.

2,500원 밖에 하질 않네요. (버스카드보다 싼...)

 

 

MFRC522 모듈은 13.56MHz 방식의 NFC카드를 이용할 수 있습니다.

ESP32에서 RFID를 활용하기 위해 아래의 라이브러리를 추가로 설치해야 합니다.

 

 

ESP32와 와이어링입니다.

 

요로콤 빵판없이 간단하게 연결할 수 있습니다.

 

 

#include<SPI.h>
#include <MFRC522.h>
#define SS_PIN 21
#define RST_PIN 22
byte readCard[4];
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
  Serial.begin(115200);
  SPI.begin();       
  mfrc522.PCD_Init();
}
void loop() {
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) { 
    return;
  }
  Serial.println(F("Scanned PICC's UID:"));
  for ( uint8_t i = 0; i < 4; i++) {
    readCard[i] = mfrc522.uid.uidByte[i];
    Serial.print(readCard[i], HEX);
  }
  Serial.println("");
  mfrc522.PICC_HaltA();
}

 

 

 

 

UID값을 확인하기 위해 시리얼모니터를 열어서 카드나 토큰을 바꿔가면서 인식시켜주면

위와 같이 UID값을 확인할 수 있습니다.

고유의 값이기 때문에 중복되지 않습니다.

Comments