RC522는 위와 같이 생긴 모듈로 RFID 값을 읽고 쓸 수 있다.
https://pimylifeup.com/raspberry-pi-rfid-rc522/
처음 공부할 당시 위의 내용을 참고했다.
위와 같이 RC522와 연결하면 되며, 아래의 표는 RC522와 Raspberry Pi의 Pin을 어디에 연결해야하는 지를 의미한다.
라즈베리파이의 핀번호는 보드 좌상단을 1로 하고 그 옆을 2로 하는 방식으로 세어진다.
RC522 Pin | Raspberry Pi Pin |
---|---|
SDA | 24 |
SCK | 23 |
MOSI | 19 |
MISO | 21 |
GND | 6 |
RST | 22 |
3.3V | 1 |
하지만 이렇게 연결했다고 RFID리더기를 사용할 수 있는 것은 아니다.
라즈베리파이에서 SPI통신을 켜줘야 한다.
먼저 sudo raspi-config
를 터미널에 입력하여 아래의 창에 진입한다.
3번 Interface Options를 선택해준다.
4번 SPI를 선택하고 해당 내용을 enable해준다.
해당 상태에서
lsmod | grep spi
를 입력했을때 spi_bcm2835가 보이면 성공이다.
sudo apt-get install python3-dev python3-pip
sudo pip3 install spidev
sudo pip3 install mfrc522
위의 내용을 설치한 뒤
#!/usr/bin/env python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
id, text = reader.read()
print(id)
print(text)
finally:
GPIO.cleanup()
의 코드를 작성하고 실행하면 아래와 같이 카드를 되었을 때 읽을 수 있다.