İçeriğe geç

Raspberry Pi ile (RC522) RFID Etiketi Okuma

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 HeaderDiagram ColourPi Header Notes
3.3VGrey13.3V
RSTWhite22GPIO25
GNDBlack 6Ground
IRQNot connected
MISOPurple21GPIO9
MOSIBlue19GPIO10
SCKGreen23GPIO11
SDAYellow24GPIO8

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

Kategori:ElektronikRaspberry Pi

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir