라즈베리 파이 RFID
이 튜토리얼은 Raspberry Pi에서 RFID/NFC를 사용하는 방법을 안내합니다. RFID/NFC 시스템은 리더기와 태그 두 가지 구성 요소로 이루어져 있습니다. 가장 인기 있는 RFID/NFC 리더기 두 가지는 RC522와 PN532입니다. 이 튜토리얼에서는 저렴하고 사용하기 쉬운 RC522 RFID/NFC 리더기를 사용합니다.
RC522 RFID/NFC 리더기는 다음을 수행할 수 있습니다:
- RFID/NFC 태그의 UID를 얻습니다
- RFID/NFC 태그의 UID를 변경합니다 (태그가 이를 지원하는 경우에만)
- RFID/NFC 태그에 데이터를 저장합니다
- RFID/NFC 태그에서 데이터를 검색합니다
이 자습서의 초점은 다음과 같습니다:
- RC522 모듈을 Raspberry Pi에 연결하는 방법
- RFID 태그의 UID를 읽기 위해 Raspberry Pi를 RC522 모듈과 통신하도록 프로그래밍하는 방법.
Hardware Preparation
1 | × | Raspberry Pi 4 Model B | Amazon | |
1 | × | RFID/NFC RC522 Kit (reader + tags) | 쿠팡 | Amazon | |
1 | × | RFID Key Fob | 쿠팡 | Amazon | |
1 | × | RFID Card | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (추천) Screw Terminal Block Shield for Raspberry Pi | 쿠팡 | Amazon | |
1 | × | (추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B | Amazon | |
1 | × | (추천) Plastic Case and Cooling Fan for Raspberry Pi 4B | Amazon | |
1 | × | (추천) HDMI Touch Screen Monitor for Raspberry Pi | Amazon |
RFID-RC522 모듈에 관하여
RFID-RC522 모듈 핀아웃
RFID-RC522에는 8개의 핀이 있으며, 일부는 공통 핀이고 나머지는 SPI, I2C, UART의 세 가지 통신 모드에서 공유됩니다. 한 번에 하나의 통신 모드만 사용할 수 있습니다. 핀은 다음과 같습니다:
- GND 핀: 이를 GND (0V)에 연결해야 합니다.
- VCC 핀: 이를 VCC (3.3V)에 연결해야 합니다.
- 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로 작동합니다.
※ NOTE THAT:
- 모듈의 핀 배열은 제조사에 따라 다를 수 있습니다. 위 이미지에서 DIYables처럼 모듈에 인쇄된 라벨을 사용하는 것이 중요합니다.
- VCC 핀을 5V 핀에 연결하는 실수를 하지 마세요. 이는 모듈에 손상을 줄 수 있습니다.
- MFRC522 라이브러리는 SPI 모드만 지원하므로, 이 튜토리얼에서는 SPI 통신에 중점을 둘 것입니다.
RFID/NFC 작동 방식
RFID/NFC는 판독기와 태그 두 가지 구성 요소로 이루어져 있습니다:
- 판독기는 고주파 전자기장을 생성하는 라디오 주파수 모듈과 안테나로 구성됩니다.
- 태그는 일반적으로 전원을 필요로 하지 않는 수동 장치입니다. 정보 저장 및 처리 기능을 가진 마이크로칩과 신호를 송수신하기 위한 안테나가 있습니다. 태그는 UID(고유 ID) 및 데이터를 포함한 정보를 저장하는 데 사용됩니다.
태그를 읽기 위해서는 리더 가까이에 있어야 합니다. 읽기 과정은 다음과 같습니다:
- 리더기는 태그의 안테나를 통해 전자가 흐르게 하는 전자기장을 생성하여 칩에 전원을 공급합니다.
- 태그 내부의 칩은 요청된 정보를 무선 신호 형태로 리더기에 다시 전송하여 응답합니다.
- 리더기는 신호를 감지하고 데이터를 변환합니다.
- 라즈베리 파이는 리더기에서 데이터를 읽습니다.
RFID-RC522 모듈과 라즈베리 파이 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
RFID/NFC RC522 모듈과 라즈베리 파이의 배선 표
RC522 RFID Reader | Raspberry Pi |
---|---|
SS | Pin 24 (GPIO8) |
SCK | Pin 23 (GPIO11) |
MOSI | Pin 19 (GPIO10) |
MISO | Pin 21 (GPIO9) |
IRQ | Not connected (can be left unconnected) |
GND | Any GND Pin |
RST | Pin 31 (GPIO12) |
VCC | Pin 1 or Pin 16 (3.3V) |
라즈베리 파이 RFID/NFC 코드
Detailed Instructions
- Raspberry Pi에 Raspbian 또는 다른 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인하세요.
- Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하세요.
- 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
- Raspberry Pi를 처음 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
- Linux 및 macOS의 기본 SSH 클라이언트 또는 Windows의 PuTTY를 사용하여 PC를 Raspberry Pi에 SSH로 연결하세요. PC를 Raspberry Pi에 SSH로 연결하는 방법을 참조하세요.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되지 않은 경우 다음 명령어를 사용하여 설치하세요:
- Raspberry Pi - SPI 인터페이스 활성화 방법의 지침을 따라 Raspberry Pi에서 SPI 인터페이스를 활성화하십시오.
- spidev 라이브러리가 설치되어 있는지 확인하십시오. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하십시오:
- mfrc522 라이브러리가 설치되어 있는지 확인하십시오. 설치되어 있지 않으면 다음 명령어를 사용해 설치하십시오:
- Python 스크립트 파일 rc522_rfid.py을 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령을 실행하여 Python 스크립트를 실행하십시오:
- 다양한 RFID/NFC 태그를 RFID-RC522 모듈에 대십시오.
- 시리얼 모니터에서 UID를 확인하십시오.
스크립트는 터미널에서 Ctrl + C를 누를 때까지 계속 무한 루프로 실행됩니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.