올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
RFID/NFC 태그의 UID를 찾으려면 첫 번째 단계로 코드를 복사하여 Arduino IDE로 열어야 합니다. 그 후에 Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드합니다. 그런 다음 시리얼 모니터를 열고 RFID/NFC 태그를 RFID-RC522 모듈에 탭합니다. 마지막으로, UID가 시리얼 모니터에 표시될 것입니다.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Tap RFID/NFC tag on reader
Unauthorized Tag with UID: 3A C9 6A CB
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
UID를 얻은 후에:
코드의 18번째 줄에 있는 UID로 byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF};의 값을 교체하세요. 예를 들어, byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
코드를 다시 ESP8266에 업로드하세요
RFID/NFC 태그를 RFID-RC522 모듈에 탭하세요
시리얼 모니터에서 출력을 확인하세요
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Tap RFID/NFC tag on reader
Authorized Tag
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
RFID-RC522 모듈에 다른 RFID/NFC 태그를 탭하세요.
시리얼 모니터에서 출력을 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Tap RFID/NFC tag on reader
Authorized Tag
Unauthorized Tag with UID: BD 1E 1D 00
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
※ 주의:
테스트를 용이하게 하기 위해 활성 시간을 2초로 설정했으나, 실제 사용/시연을 위해서는 시간을 늘려야 합니다.
MFRC522 라이브러리의 설치가 필요합니다. 자세한 정보는 ESP8266 - RFID을 참조해주세요.
ESP8266 코드 - 다중 RFID/NFC 태그
우리는 여러 RFID/NFC 태그로 릴레이를 활성화할 수 있습니다. 예를 들어, 아래 코드는 두 개의 태그를 사용합니다.
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-rfid-relay */#include <SPI.h>#include <MFRC522.h>#define SS_PIN D8 // The ESP8266 pin D8#define RST_PIN D2 // The ESP8266 pin D2#define RELAY_PIN D1 // ESP8266 핀이 릴레이에 연결됨MFRC522 rfid(SS_PIN, RST_PIN);byte authorizedUID1[4] = {0x3A, 0xC9, 0x6A, 0xCB};byte authorizedUID2[4] = {0x30, 0x01, 0x8B, 0x15}; voidsetup() {Serial.begin(9600);SPI.begin(); // SPI 버스 시작 rfid.PCD_Init(); // MFRC522 시작pinMode(RELAY_PIN, OUTPUT); // 핀을 출력으로 초기화합니다.digitalWrite(RELAY_PIN, LOW); // 릴레이 비활성화Serial.println("RFID-RC522 리더에 RFID/NFC 태그를 탭하세요");}voidloop() {if (rfid.PICC_IsNewCardPresent()) { // 새 태그가 있습니다if (rfid.PICC_ReadCardSerial()) { // NUID가 읽혔습니다MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);if (rfid.uid.uidByte[0] == authorizedUID1[0] && rfid.uid.uidByte[1] == authorizedUID1[1] && rfid.uid.uidByte[2] == authorizedUID1[2] && rfid.uid.uidByte[3] == authorizedUID1[3] ) {Serial.println("승인된 태그 1");digitalWrite(RELAY_PIN, HIGH); // 2초 동안 릴레이 활성화delay(2000);digitalWrite(RELAY_PIN, LOW); // 릴레이 비활성화 }elseif (rfid.uid.uidByte[0] == authorizedUID2[0] && rfid.uid.uidByte[1] == authorizedUID2[1] && rfid.uid.uidByte[2] == authorizedUID2[2] && rfid.uid.uidByte[3] == authorizedUID2[3] ) {Serial.println("승인된 태그 2");digitalWrite(RELAY_PIN, HIGH); // 2초 동안 릴레이 활성화delay(2000);digitalWrite(RELAY_PIN, LOW); // 릴레이 비활성화 }else {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의 암호화 중지 } }}
이전과 같은 단계를 반복한 다음, RFID-RC522 모듈의 각 태그를 누르십시오. 시리얼 모니터에서는 다음과 유사한 출력이 표시됩니다:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Tap RFID/NFC tag on reader
Authorized Tag 2
Authorized Tag 1
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
위에서 언급한 코드를 세 개, 네 개 또는 그 이상의 태그로 확장할 수 있습니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.