Folosind modulul RFID RC522 cu Raspberry Pi

Using the RC522 RFID Module with the Raspberry Pi

Ul Modul RFID RC522 permite Raspberry Pi să citească și să scrie etichete RFID (Radio Frequency Identification), făcându-l util pentru controlul accesului, automatizare și proiecte IoT. Acest ghid vă va arăta cum să conectați, să configurați și să citiți carduri RFID folosind Raspberry Pi și Python.


De ce veți avea nevoie

  1. Zmeura Pi (orice model cu suport SPI, de exemplu, Pi 3, Pi 4)
  2. Modul RFID RC522
  3. Etichetă RFID sau card (compatibil cu frecvența de 13,56 MHz)
  4. Breadboard și Jumper Wires
  5. Python instalat pe Raspberry Pi

Pasul 1: Cablarea RC522 la Raspberry Pi

RC522 comunică cu Raspberry Pi folosind indicatorul Protocolul SPI.

Conexiuni (mod SPI)

RC522 Pin Raspberry Pi Pin Funcție
VCC 3.3V (Pin 1) Sursa de alimentare
GND Sol (Pin 6) Pământ
SDA (SS) GPIO8 (Pin 24) SPI Chip Select
SCK GPIO11 (Pin 23) Ceasul SPI
MOSI GPIO10 (Pin 19) Intrarea datelor SPI
MISO GPIO9 (Pin 21) Ieșire de date SPI
RST GPIO25 (Pin 22) Resetare

Notă: RC522 funcționează la 3.3V. Nu faceți nu conectați-l la 5V, deoarece poate deteriora modulul.


Pasul 2: Activați interfața SPI

RC522 folosește SPI (Interfață periferică serială) pentru comunicare, așa că trebuie să activăm SPI pe Raspberry Pi.

  1. Deschideți instrumentul de configurare Raspberry Pi:

    sudo raspi-config
    
  2. Navigați la Opțiuni de interfață > SPI și activați-l.

  3. Reporniți Raspberry Pi:

    sudo reboot
    
  4. Verificați dacă SPI este activat:

    ls /dev/spidev*
    

    Ar trebui să vedeți /dev/spidev0.0 și /dev/spidev0.1.


Pasul 3: Instalați bibliotecile necesare

  1. Actualizați-vă Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instalați bibliotecile SPI și RFID:
    sudo apt install -y python3-pip python3-spidev python3-rpi.gpio
    pip3 install mfrc522
    

Pasul 4: Cod Python pentru a citi datele RFID

Iată un script Python pentru a citi datele etichetei/cardului RFID folosind modulul RC522.

Exemplu de cod Python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    print("Place your RFID tag or card near the reader...")
    id, text = reader.read()
    print(f"RFID Tag ID: {id}")
    print(f"Stored Text: {text}")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

Pasul 5: Scrierea datelor pe o etichetă RFID

De asemenea, puteți scrie text personalizat pe o etichetă RFID.

Exemplu de cod Python pentru scrierea datelor

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    text = input("Enter text to write to the RFID tag: ")
    print("Place your RFID tag near the reader...")
    reader.write(text)
    print("Data written successfully!")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

Pasul 6: Aplicații ale modulului RFID RC522

  1. Controlul accesului – Utilizați carduri RFID pentru a debloca ușile sau pentru a acorda acces în zone restricționate.
  2. Sisteme de prezență – Înregistrați intrările și ieșirile din școli, birouri sau evenimente.
  3. Managementul stocurilor – Urmăriți articolele folosind etichete RFID.
  4. IoT și automatizare – Declanșați dispozitive inteligente pentru casă sau sisteme industriale cu autentificare RFID.

Depanare

  1. Eticheta RFID nu a fost detectată

    • Asigurați-vă că eticheta este în 2-3 cm al cititorului.
    • Verificați cablajul și conexiunile.
  2. Eroare permisiune refuzată

    • Rulați scriptul cu sudo:
      sudo python3 rfid_read.py
      
  3. Nu s-a găsit niciun dispozitiv SPI

    • Asigurați-vă că SPI este activat (ls /dev/spidev* ar trebui să listeze dispozitivele).
    • Încercați să reactivați SPI prin sudo raspi-config.

Concluzie

Raportul Modul RFID RC522 este un instrument puternic pentru integrarea identificării și automatizării bazate pe RFID în proiectele Raspberry Pi. Urmând acest ghid, puteți citi și scrie cu ușurință date de etichetă RFID, permițând aplicații în proiecte de control al accesului, securitate și IoT. Experimentați diferite cazuri de utilizare pentru a-i debloca întregul potențial! 🚀

Lasă un comentariu

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.