Använda RC522 RFID -modulen med Raspberry Pi

Using the RC522 RFID Module with the Raspberry Pi

De RC522 RFID -modul Tillåter Raspberry Pi att läsa och skriva RFID (radiofrekvensidentifiering) -taggar, vilket gör det användbart för åtkomstkontroll, automatisering och IoT -projekt. Den här guiden visar hur du ansluter, konfigurerar och läser RFID -kort med Raspberry Pi och Python.


Vad du behöver

  1. Hallon (Varje modell med SPI -stöd, t.ex. PI 3, PI 4)
  2. RC522 RFID -modul
  3. RFID -tagg eller kort (Kompatibel med 13,56 MHz -frekvens)
  4. Breadboard och jumpertrådar
  5. Python installerad på din Raspberry Pi

Steg 1: Kopplar RC522 till Raspberry Pi

RC522 kommunicerar med Raspberry Pi med SPI -protokoll.

Anslutningar (SPI -läge)

RC522 -stift Hallon pi Fungera
Vcc 3.3V (stift 1) Strömförsörjning
Gard Mark (stift 6) Jord
SDA (SS) GPIO8 (stift 24) SPI Chip Select
Säck GPIO11 (stift 23) Spi -klocka
Mosi GPIO10 (stift 19) SPI -datainmatning
Miso GPIO9 (stift 21) SPI Data Output
Först GPIO25 (stift 22) Återställa

Notera: RC522 arbetar vid 3.3V. Do inte Anslut den till 5V, eftersom den kan skada modulen.


Steg 2: Aktivera SPI -gränssnittet

RC522 använder SPI (serieperifert gränssnitt) För kommunikation, så vi måste aktivera SPI på Raspberry Pi.

  1. Öppna Raspberry PI -konfigurationsverktyget:

    sudo raspi-config
    
  2. Navigera till Gränssnittsalternativ> SPI och aktivera det.

  3. Starta om Raspberry Pi:

    sudo reboot
    
  4. Kontrollera att SPI är aktiverat:

    ls /dev/spidev*
    

    Du borde se /dev/spidev0.0 och /dev/spidev0.1.


Steg 3: Installera obligatoriska bibliotek

  1. Uppdatera din Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installera SPI- och RFID -biblioteken:
    sudo apt install -y python3-pip python3-spidev python3-rpi.gpio
    pip3 install mfrc522
    

Steg 4: Python -kod för att läsa RFID -data

Här är ett Python -skript för att läsa RFID -tagg/kortdata med RC522 -modulen.

Python -kodexempel

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()

Steg 5: Skriva data till en RFID -tagg

Du kan också skriva anpassad text till en RFID -tagg.

Python -kod Exempel för att skriva data

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()

Steg 6: Tillämpningar av RC522 RFID -modulen

  1. Åtkomstkontroll - Använd RFID -kort för att låsa upp dörrar eller ge åtkomst till begränsade områden.
  2. Närvarosystem - loggposter och utgångar i skolor, kontor eller evenemang.
  3. Lagerhantering - Spåra objekt med RFID -taggar.
  4. IoT och automatisering - Trigger Smart Home -enheter eller industriella system med RFID -autentisering.

Felsökning

  1. RFID -tagg inte upptäckt

    • Se till att taggen är inom 2-3 cm av läsaren.
    • Kontrollera ledningarna och anslutningarna.
  2. Tillstånd nekad fel

    • Köra manuset med sudo:
      sudo python3 rfid_read.py
      
  3. Ingen SPI -enhet hittades

    • Se till att SPI är aktiverat (ls /dev/spidev* ska lista enheter).
    • Försök att återaktivera SPI via sudo raspi-config.

Slutsats

De RC522 RFID -modul är ett kraftfullt verktyg för att integrera RFID-baserad identifiering och automatisering i Raspberry PI-projekt. Genom att följa den här guiden kan du enkelt läsa och skriva RFID -taggdata, vilket möjliggör applikationer inom åtkomstkontroll, säkerhet och IoT -projekt. Experimentera med olika användningsfall för att låsa upp sin fulla potential! 🚀

Lämna en kommentar

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.