Raspberry Pi - RFID

Deze handleiding laat u zien hoe u RFID/NFC kunt gebruiken met Raspberry Pi. Het RFID/NFC-systeem bestaat uit twee componenten: een reader en een tag. Twee van de populairste RFID/NFC-lezers zijn de RC522 en PN532. In deze handleiding gebruiken we de RC522 RFID/NFC-lezer, die betaalbaar en eenvoudig in gebruik is.

De RC522 RFID/NFC-lezer kan:

Deze tutorial richt zich op:

Hardware Benodigd

1×Raspberry Pi 5
1×RFID/NFC RC522 Kit (lezer + tags)
1×RFID Sleutelhanger
1×RFID Kaart
1×Jumperdraden
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over het RFID-RC522 Module

RFID-RC522 Module Pinout

Het RFID-RC522 module heeft 8 pinnen, waarvan sommige gewone pinnen zijn en anderen gedeeld worden tussen drie communicatie-modi: SPI, I2C en UART. Er kan slechts één communicatiemodus tegelijk worden gebruikt. De pinnen zijn:

  • GND pin: Deze moet verbonden worden met GND (0V).
  • VCC pin: Deze moet verbonden worden met VCC (3,3V).
  • RST pin: Dit is een reset- en power-down pin. Als deze pin laag wordt, wordt een harde power-down geactiveerd. Bij een opgaande flank wordt het module gereset.
  • IRQ pin: Dit is een interrupt-pin die de microcontroller kan waarschuwen wanneer een RFID-tag in de buurt komt.
  • MISO/SCL/TX pin: Werkt als MISO in SPI-modus, als SCL in I2C-modus en als TX in UART-modus.
  • MOSI pin: Werkt als MOSI in SPI-modus.
  • SCK pin: Werkt als SCK in SPI-modus.
  • SS/SDA/RX pin: Werkt als SS in SPI-modus, als SDA in I2C-modus en als RX in UART-modus.
RFID-RC522 pinout

※ Notiz:

  • De pin-indeling kan verschillen per fabrikant. Het is belangrijk de labels op het module te gebruiken, zoals te zien is in de afbeelding hierboven van DIYables.
  • Verbind de VCC pin nooit met een 5V pin, want dit kan het module beschadigen.
  • De MFRC522 bibliotheek ondersteunt alleen SPI-modus, daarom richt deze handleiding zich op SPI-communicatie.

Hoe RFID/NFC Werkt

RFID/NFC bestaat uit twee componenten: reader en tag:

  • De reader bestaat uit een radiofrequentiemodule en een antenne die een hoogfrequent elektromagnetisch veld produceert.
  • De tag is meestal een passief apparaat dat geen stroomvoorziening nodig heeft. Het bevat een microchip die informatie opslaat en verwerkt, en een antenne om signalen te verzenden en ontvangen. De tag slaat informatie op, waaronder de UID (Unique ID) en andere data.

De tag moet dichtbij de reader worden gehouden om de informatie uit te lezen. Het uitleesproces is als volgt:

  • De reader genereert een elektromagnetisch veld dat elektronstroom opwekt in de antenne van de tag, waarmee de chip van stroom wordt voorzien.
  • De chip in de tag reageert door de gevraagde informatie terug te sturen naar de reader via een radiosignaal.
  • De reader detecteert dit signaal en zet het om in data.
  • Raspberry Pi leest de data van de reader uit.

Bedradingsschema tussen RFID-RC522 Module en Raspberry Pi

Raspberry Pi RFID RC522 bedradingsschema

This image is created using Fritzing. Click to enlarge image

Bedradingsschema van RFID/NFC RC522 Module en Raspberry Pi

RC522 RFID Reader Raspberry Pi
SS Pin 24 (GPIO8)
SCK Pin 23 (GPIO11)
MOSI Pin 19 (GPIO10)
MISO Pin 21 (GPIO9)
IRQ Niet aangesloten (kan open blijven)
GND Elke GND Pin
RST Pin 31 (GPIO12)
VCC Pin 1 of Pin 16 (3,3V)

Raspberry Pi RFID/NFC Code

Snel Starten

  • Zorg dat u Raspbian of een ander Raspberry Pi-compatibel besturingssysteem geïnstalleerd heeft op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
  • Zorg dat uw Raspberry Pi internettoegang heeft indien u libraries moet installeren.
  • Gebruikt u de Raspberry Pi voor het eerst? Bekijk dan hoe u de Raspberry Pi installeert.
  • Verbind uw PC met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS of met PuTTY op Windows. Bekijk hoe u uw PC met Raspberry Pi verbindt via SSH.
  • Controleer of u de RPi.GPIO library geïnstalleerd heeft. Zo niet, installeer deze dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
sudo apt-get install python3-pip python3-dev git sudo pip3 install spidev
  • Controleer of u de mfrc522 library geïnstalleerd heeft. Zo niet, installeer deze met:
sudo pip3 install mfrc522
  • Maak een Python scriptbestand aan met de naam rc522_rfid.py en voeg onderstaande code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/tutorials/raspberry-pi/raspberry-pi-rfid import RPi.GPIO as GPIO import MFRC522 # Define the SPI and RST pins for the RC522 module SPI_PORT = 0 SPI_DEVICE = 0 RST_PIN = 12 # Create an instance of the MFRC522 class MIFAREReader = MFRC522.MFRC522() # Function to read the UID from an RFID card and print it in hexadecimal format def read_uid(): # Scan for cards (status, TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL) # If a card is found if status == MIFAREReader.MI_OK: # Get the UID of the card (status, uid) = MIFAREReader.MFRC522_Anticoll() if status == MIFAREReader.MI_OK: # Convert the UID bytes to a hexadecimal string uid_hex = ''.join(['{:02X}'.format(val) for val in uid]) print("UID (Hex): " + uid_hex) # Setup GPIO and initialize the RC522 module GPIO.setmode(GPIO.BOARD) GPIO.setup(RST_PIN, GPIO.OUT) GPIO.output(RST_PIN, GPIO.HIGH) MIFAREReader.MFRC522_Init() try: print("Press Ctrl+C to exit.") while True: read_uid() except KeyboardInterrupt: print("\nExiting the program.") GPIO.cleanup()
  • Sla het bestand op en voer het Python script uit via de volgende opdracht in de terminal:
python3 rc522_rfid.py
  • Houd verschillende RFID/NFC tags tegen de RFID-RC522 module.
  • Controleer de UID in de Serial Monitor.
PuTTY - Raspberry Pi
Press Ctrl+C to exit. UID (Hex): 12AB34CD UID (Hex): 567890EF

Het script loopt oneindig door totdat u Ctrl + C in de terminal indrukt.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten om het aansluiten en programmeren van het RFID-RC522 module met Raspberry Pi eenvoudig te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!