라즈베리 파이 RFID 릴레이
이 튜토리얼은 Raspberry Pi와 RFID/NFC 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 | × | Relay | Amazon | |
10 | × | 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/NFC RC522 모듈 및 릴레이 소개
RFID/NFC RC522 모듈 및 릴레이(핀아웃, 작동 방식, 프로그래밍 방법 등)에 익숙하지 않은 경우, 다음 튜토리얼이 지식을 얻는 데 도움이 될 것입니다:
작동 방식
- 일부 RFID/NFC 태그는 Raspberry Pi 코드에 사전 정의된 UID를 가지고 있습니다.
- 사용자가 RFID/NFC 리더에 RFID/NFC 태그를 대면, 리더가 태그에서 UID를 읽습니다.
- 그런 다음 Raspberry Pi는 리더로부터 UID를 받아 사전 정의된 UID와 비교합니다.
- UID가 사전 정의된 UID 중 하나와 일치하면, Raspberry Pi가 릴레이를 활성화합니다.
Wiring Diagram
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
※ NOTE THAT:
핀의 배열은 제조업체에 따라 다를 수 있습니다. 항상 모듈에 인쇄된 라벨을 사용하세요. 위 이미지는 DIYables 제조사의 모듈 핀 배치를 보여줍니다.
라즈베리 파이 코드 - 단일 RFID/NFC 태그
Detailed Instructions
- Raspberry Pi에 Raspbian 또는 기타 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인하세요.
- Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하세요.
- 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
- Raspberry Pi를 처음 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
- Linux 및 macOS의 기본 SSH 클라이언트를 사용하거나 Windows의 PuTTY를 사용하여 PC를 SSH를 통해 Raspberry Pi에 연결하세요. SSH를 통해 PC를 Raspberry Pi에 연결하는 방법을 참조하세요.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않으면 다음 명령을 사용하여 설치하세요.
- Raspberry Pi에서 SPI 인터페이스를 활성화하려면 Raspberry Pi - SPI 인터페이스 활성화 방법의 지침을 따르세요.
- spidev 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
- mfrc522 라이브러리가 설치되어 있는지 확인하십시오. 설치되어 있지 않다면, 다음 명령어를 사용하여 설치하십시오:
- Python 스크립트 파일 rfid_relay.py를 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하세요:
스크립트는 터미널에서 Ctrl + C를 누를 때까지 계속해서 무한 루프를 실행합니다.
RFID/NFC 태그의 UID를 식별하려면:
- 위 코드를 실행하고 RFID-RC522 모듈의 태그를 터치하세요.
- UID가 시리얼 모니터에 표시됩니다.
UID를 얻은 후:
- 코드의 18번째 줄을 UID에 맞게 변경합니다. 예를 들어 byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF};를 byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};로 변경합니다.
- 코드를 라즈베리 파이에 업로드합니다.
- RFID-RC522 모듈에 RFID/NFC 태그를 놓습니다.
- 시리얼 모니터에서 출력을 확인합니다.
- RFID-RC522 모듈에 다른 RFID/NFC 태그를 대십시오.
- 시리얼 모니터에서 출력을 확인하십시오.
※ NOTE THAT:
- 테스트를 용이하게 하기 위해 활성 시간은 2초로 설정되어 있지만, 실제 사용이나 시연을 위해서는 시간을 늘려야 합니다.
- MFRC522 라이브러리 설치가 필요합니다. 자세한 내용은 Raspberry Pi - RFID/NFC RC522 튜토리얼을 참조하십시오.
라즈베리 파이 코드 - 여러 RFID/NFC 태그
여러 개의 RFID/NFC 태그를 통해 릴레이를 활성화할 수 있습니다. 아래 코드는 세 개의 RFID 태그를 예시로 보여줍니다.
이전과 같은 단계를 반복한 후, RFID-RC522 모듈의 각 태그를 터치하십시오. 시리얼 모니터에서 보게 될 결과는 아래와 유사할 것입니다:
위에서 언급한 코드를 확장하여 네 개 이상의 RFID 태그를 포함할 수 있습니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.