rfid reader

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 fziki olarak elde edilmesini engelleyerek güvenli hale gelecektir.

5 3 votes
Article Rating
Subscribe
Bildir
guest

3 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
Richard
Richard
3 yıl önce

Görsel linkleri geçerliliğini yitirmiş. Yenilemenizi öneririm.

Ali Birkan BAYRAM
Ali Birkan BAYRAM
2 yıl önce

Hocam verilen kütüphane hatalar ile dolu olduğu için bence bir yenileseniz çok iyi olur