라즈베리 파이 RFID 도어 잠금 장치
이 튜토리얼은 Raspberry Pi, RFID/NFC RC522 모듈, 릴레이, 솔레노이드 잠금장치 또는 전자기 잠금장치, 그리고 선택적으로 LCD 디스플레이를 사용하여 문 잠금 시스템을 구축하는 방법을 안내합니다. 여러분의 편의를 위해, 튜토리얼은 RFID 도어 잠금 장치를 간단한 단계에서 복잡한 단계로 구축하도록 안내합니다. 세부적으로, 우리는 다음을 수행할 것입니다:
- 1부: Raspberry Pi, 키패드, 솔레노이드 잠금장치 또는 전자기 잠금장치로 구성된 간단한 RFID 도어 잠금 시스템, 단일 RFID 키 지원
- 2부: (선택사항) 여러 RFID 키 지원 추가
- 3부: (선택사항) RFID 도어 잠금장치에 LCD 디스플레이 추가
- 4부: (선택사항) RFID 도어 잠금장치에 도어 센서 추가
- 5부: (선택사항) 유효한 RFID 키를 Raspberry Pi의 내부 EEPROM에 관리 및 저장
- 6부: (선택사항) SD 카드에 접근 기록 저장
이 문을 Raspberry Pi - Keypad Door Lock와 결합하여 도어락 비밀번호를 추가하도록 수정할 수 있습니다.
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 | × | Solenoid Lock | Amazon | |
1 | × | (Alternative) Electromagnetic Lock | Amazon | |
1 | × | Relay | Amazon | |
1 | × | 12V Power Adapter | Amazon | |
1 | × | DC Power Jack | 쿠팡 | 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/NFC RC522 모듈 및 전자기 잠금장치에 대하여
RFID/NFC RC522 모듈, 전자기 잠금 장치, 솔레노이드 잠금 장치(핀아웃, 기능, 프로그래밍 포함)에 익숙하지 않은 경우, 다음 튜토리얼이 더 많은 정보를 제공할 수 있습니다:
도어 잠금 시스템 구성 요소
도어 잠금 시스템은 두 가지 주요 구성 요소로 구성됩니다:
- 도어 잠금장치: 라즈베리 파이, 릴레이, RFID/NFC 리더기, 솔레노이드 잠금장치.
- 도어 키: RFID/NFC 태그.
RFID/NFC 도어 잠금 장치 작동 방법
- 사용자가 RFID/NFC 리더에 RFID/NFC 태그를 탭하면, 리더가 태그에서 UID를 읽습니다.
- 라즈베리 파이는 이 UID를 가져와 코드에 설정된 UID와 비교합니다.
- UID가 허가된 키 중 하나와 일치하면, 라즈베리 파이는 전자기 자물쇠를 비활성화하여 문을 엽니다.
- 일정 시간이 지나면 라즈베리 파이는 릴레이를 활성화하여 문을 잠급니다.
Wiring Diagram
- 솔레노이드 잠금장치가 있는 RFID RC522 도어 잠금장치
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- RFID RC522 도어 잠금장치와 전자기 잠금장치
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
※ NOTE THAT:
제조업체는 핀의 순서를 다르게 배열할 수 있으므로 모듈에 인쇄된 레이블을 참고하는 것이 중요합니다. 위에 표시된 핀 배치도는 제조업체 DIYables가 제작한 모듈의 핀 배열을 나타냅니다.
라즈베리 파이 코드 - 단일 키
Detailed Instructions
- Raspberry Pi에 Raspbian 또는 기타 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인하세요.
- Raspberry Pi가 PC와 같은 로컬 네트워크에 연결되어 있는지 확인하세요.
- 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
- Raspberry Pi를 처음 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
- Linux와 macOS에서 기본 제공 SSH 클라이언트 또는 Windows에서 PuTTY를 사용하여 SSH를 통해 PC를 Raspberry Pi에 연결하세요. PC를 Raspberry Pi에 SSH로 연결하는 방법을 참조하세요.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
- Raspberry Pi - SPI 인터페이스 활성화 방법의 지침을 따라 Raspberry Pi에서 SPI 인터페이스를 활성화하세요.
- spidev 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
- mfrc522 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
- rfid_lock.py 파일을 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령을 실행하여 Python 스크립트를 실행하세요:
스크립트는 터미널에서 Ctrl + C를 누를 때까지 무한 루프에서 계속 실행됩니다.
RFID/NFC 태그의 UID를 확인하려면 RFID/NFC 태그를 RFID-RC522 모듈에 터치하세요. UID가 터미널에 표시될 것입니다.
UID를 얻은 후:
- 위의 코드에서 18번째 줄을 byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF};를 본인의 UID로 교체하여 수정합니다. 예를 들어 byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- 수정한 코드를 Raspberry Pi에 업로드합니다
- RFID/NFC 태그를 RFID-RC522 모듈에 놓습니다
- 터미널에서 출력을 확인하세요
- 전자기 잠금 장치가 안전하게 잠금 해제되어 있는지 확인하세요.
- 다른 RFID/NFC 태그를 RFID-RC522 모듈에 대세요.
- 터미널에서 출력을 확인하세요.
※ NOTE THAT:
- 테스트 목적으로 잠금 해제 시간이 2초로 설정되었습니다. 그러나 실제 사용 시 또는 데모 시에는 이 시간을 늘려야 합니다.
- MFRC522 라이브러리 설치가 필요합니다. 자세한 내용은 BASE_URL/tutorials/raspberry-pi/raspberry-pi-rfid의 Raspberry Pi - RFID/NFC RC522 튜토리얼을 참조하세요.
라즈베리 파이 코드 - 여러 키
아래 코드는 여러 권한이 있는 카드를 허용합니다.
위와 같은 단계를 반복한 후, RFID-RC522 모듈의 각 태그를 눌러보세요. 터미널의 출력은 다음과 같이 표시됩니다:
위에 언급된 코드를 확장하여 네 개 이상의 RFID 태그에 사용할 수 있습니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.