Za pomocą modułu RC522 RFID z Raspberry Pi

Using the RC522 RFID Module with the Raspberry Pi

Moduł RC522 RFID Umożliwia Raspberry Pi czytanie i pisanie tagów RFID (identyfikacja częstotliwości radiowej), dzięki czemu jest przydatne do kontroli dostępu, automatyzacji i projektów IoT. Ten przewodnik pokaże, jak łączyć, konfigurować i czytać karty RFID za pomocą Raspberry Pi i Python.


Czego będziesz potrzebować

  1. Raspberry Pi (Każdy model z obsługą SPI, np. Pi 3, Pi 4)
  2. Moduł RC522 RFID
  3. Tag lub karta RFID (Kompatybilny z częstotliwością 13,56 MHz)
  4. Druty chleba i skoczków
  5. Zainstalowany Python na twoim malinowym pi

Krok 1: Okablowanie RC522 do Raspberry Pi

RC522 komunikuje się z Raspberry Pi za pomocą Protokół SPI.

Połączenia (tryb SPI)

PIN RC522 Pin Raspberry Pi Funkcjonować
VCC 3,3 V (pin 1) Zasilacz
GND Uziemienie (pin 6) Grunt
SDA (SS) GPIO8 (pin 24) SPI Chip Select
SCK GPIO11 (pin 23) Zegar SPI
Mosi GPIO10 (pin 19) Wejście danych SPI
Miso GPIO9 (PIN 21) Wyjście danych SPI
RST GPIO25 (PIN 22) Nastawić

Notatka: RC522 działa na 3,3 V.. Do nie Podłącz go do 5 V, ponieważ może uszkodzić moduł.


Krok 2: Włącz interfejs SPI

Używa RC522 SPI (szeregowy interfejs peryferyjny) W celu komunikacji musimy włączyć SPI na Raspberry Pi.

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:

    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> SPI i włącz to.

  3. Uruchom ponownie Raspberry Pi:

    sudo reboot
    
  4. Sprawdź, czy SPI jest włączone:

    ls /dev/spidev*
    

    Powinieneś zobaczyć /dev/spidev0.0 I /dev/spidev0.1.


Krok 3: Zainstaluj wymagane biblioteki

  1. Zaktualizuj swoje Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Zainstaluj biblioteki SPI i RFID:
    sudo apt install -y python3-pip python3-spidev python3-rpi.gpio
    pip3 install mfrc522
    

Krok 4: Kod Pythona do odczytania danych RFID

Oto skrypt Python do odczytania danych tagu/karty RFID za pomocą modułu RC522.

Przykład kodu Pythona

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

Krok 5: Zapisanie danych do znacznika RFID

Możesz także napisać niestandardowy tekst na tag RFID.

Przykład kodu Pythona do pisania danych

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

Krok 6: Zastosowania modułu RC522 RFID

  1. Kontrola dostępu - Użyj kart RFID, aby odblokować drzwi lub przyznać dostęp do obszarów ograniczonych.
  2. Systemy frekwencji - Zaloguj wpisy i wyjścia w szkołach, biurach lub wydarzeniach.
  3. Zarządzanie zapasami - Śledź elementy za pomocą tagów RFID.
  4. IoT i automatyzacja - Wywołaj inteligentne urządzenia domowe lub systemy przemysłowe z uwierzytelnianiem RFID.

Rozwiązywanie problemów

  1. Nie wykryto znacznika RFID

    • Upewnij się, że tag jest w środku 2-3 cm czytelnika.
    • Sprawdź okablowanie i połączenia.
  2. Zezwolenie odmówiono błędu

    • Uruchom skrypt z sudo:
      sudo python3 rfid_read.py
      
  3. Nie znaleziono urządzenia SPI

    • Upewnij się, że SPI jest włączone (ls /dev/spidev* powinien wymienić urządzenia).
    • Spróbuj odbierać SPI przez sudo raspi-config.

Wniosek

. Moduł RC522 RFID jest potężnym narzędziem do integracji identyfikacji i automatyzacji opartej na RFID z projektami Raspberry Pi. Postępując zgodnie z tym przewodnikiem, możesz łatwo odczytać i zapisać dane tagu RFID, umożliwić aplikacje w zakresie kontroli dostępu, bezpieczeństwa i projektów IoT. Eksperymentuj z różnymi przypadkami użycia, aby odblokować pełny potencjał! 🚀

Zostaw komentarz

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.