RC522 RFID modülleri Raspberry Pi modellerine bağlanabilen çok basit eklentilerdir ve MIFARE etiketleri ve kartlarını okumamıza olanak sağlıyorlar. Bu özellik sayesinde güvenlik sistemleri veya başka projelerde herhangi bir kişiyi veya nesneyi tanımlamak için kullanabiliriz. Çoğunlukla kapı açmak için kullanılan bu modül, herhangi bir bildirim göndermek için, alarm açma/kapama ve aklınıza gelebilecek birçok proje için değerlendirilebilir. Temassız olan etiketler ise anahtarlıklarda veya cüzdan içinde taşınabilir.
Şekil 1 – Raspberry Pi ile RC522 RFID Okuyucu
Desteklenen Protokoller
RC522 modülleri aşağıdaki tüm protokolleri desteklemektedir:
- MIFARE Mini
- MIFARE 1K
- MIFARE 4K,
- MIFARE Ultralight
- MIFARE DESFire EV1
- MIFARE Plus RF
Birden fazla etiket ve kart alınması durumunda yükarıdaki protokollerden en az birini desteklediğinden emin olmamız gerekiyor.
Modül
RC522 ile çalışan birçok modül mevcut tabiki ama bizim bu projede kullancağımız 8 pinli ve pcbnin arka tarafında anten şeması bulunan modüldür.
Şekil 2 – RC522 modülü
Modüller ile birlikte jumper kabloları gelmemektedir ve sizin 7 adet dişi-dişi jumper kablosuna ihtiyacınız olacaktır.
Kurulum
RC522 modülü 8 pine sahiptir ama biz 7 pinini kullanarak Raspberry Pi GPIO pinleri ile bağlantı kuracağız.
Şekil 3 – Pcb üzerindeki bağlantı şeması
RC522 ile Raspberry Pi arasındaki bağlantıyı aşağıdaki görsel gibi gerçekleştirdik:
Şekil 4 – RC522 ve Raspberry Pi arasındaki kablo bağlantısı
Bağlantıların açıklaması ise aşağıdaki tabloda verilmiştir:
RC522 Header | Diagram Colour | Pi Header | Notes |
---|---|---|---|
3.3V | Grey | 1 | 3.3V |
RST | White | 22 | GPIO25 |
GND | Black | 6 | Ground |
IRQ | – | – | Not connected |
MISO | Purple | 21 | GPIO9 |
MOSI | Blue | 19 | GPIO10 |
SCK | Green | 23 | GPIO11 |
SDA | Yellow | 24 | GPIO8 |
Tablo 1 – Bağlantı açıklamaları
SPI aktifleştirmesi
RC522 modülü Raspberry Pi ile bağlantı kurmak için SPI arayüzünü kullanıyor. Raspberry Pi ayarlarında ise bu arayüz normalde kapalıdır ve aktifleştirmek gerekiyor.
sudo raspi-config
SPI Kütüphane Kurulumu
“Spidev” kütüphanesinin kurulumu için:
sudo apt-get install python-spidev python3-spidev
Bu kod hem python 2 hem python 3 için kurulum yapmaktadır.
SPI-PY adlı SPI ile Python arasında entegrasyonu sağlayan “py-spidev” kütüphanesi de kurmak için:
cd ~ git clone https://github.com/lthiery/SPI-Py.git cd SPI-Py sudo python setup.py install sudo python3 setup.py install
RC522 Python Kütüphanesi
SPI entegrasyonu ile RC522 ile bağlantısı için ise :
cd ~ git clone https://github.com/mxgxw/MFRC522-python.git
Örnek Kod
cd MFRC522-python python Read.py
Kod, RFID module’un etiketi okumasını bekler. Etiketi bulduğunda, UID kodunu okur ve ekrana yansıtır. Bu kod sürekli olarak çalışır ve etiketi algıladığında onu ekrana yansıtır.
Şekil 5 – Ekranda görünen etiket kodları
Önerilen Kod
Aşağıdaki kod etiketi okuduktan sonra 2 saniye bekleme süresi vardır. Böylece aynı etiketi kendiniz istemediğiniz sürece bir kereden fazla okutmamış olursunuz.
import time import RPi.GPIO as GPIO import MFRC522 # Create an object of the class MFRC522 MIFAREReader = MFRC522.MFRC522() # Welcome message print("Looking for cards") print("Press Ctrl-C to stop.") # This loop checks for chips. If one is near it will get the UID try: while True: # Scan for cards (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL) # Get the UID of the card (status,uid) = MIFAREReader.MFRC522_Anticoll() # If we have the UID, continue if status == MIFAREReader.MI_OK: # Print UID print("UID: "+str(uid[0])+","+str(uid[1])+","+str(uid[2])+","+str(uid[3])) time.sleep(2) except KeyboardInterrupt: GPIO.cleanup()
Kodu Raspberry Pi üzerinden direk olarak indirebilirsiniz:
wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/rc522_read.py
Ve devamında çalıştırmak için de:
python rc522_read.py
Şekil 6 – Kodun ekran çıkışı
Sonuç
Bu proje ile UID kodunu MIFARE etiketlerinden okutabileceksiniz. Eğer bu projeyi güvenlik amaçlı olarak kullanacaksanız, bu kartların klonu yapılması ve yeni bir UID kod verilebilir olmasına dikkat ediniz. Bu durumda sizin sisteminiz, UID kodların erişime kapalı olması veya fiziki olarak elde edilmesini engelleyerek güvenli hale gelecektir.
Alıntıdır: Samm Blog
İlk Yorumu Siz Yapın