RFID RC522-tags lezen & schrijven

Radio-Frequency IDentification of RFID is een technologie om van een korte afstand informatie op te slaan in en af te lezen van zogenaamde RFID-tags. Dit kunnen bijvoorbeeld chipkaarten (bankpas) of chiptags (sleutelhangers of onderhuids bij huisdieren) zijn die gebruikmaken van NFC (Near-Field Communicatie), maar ook kledinglabels met tags vallen hieronder.

Toepassing
Een van de mooiste toepassingen van een RFID-kaart is de toegangscontrole. Toegangskaarten of -tags kunnen worden uitgelezen met een Pi RFID-module (RC522) en zo kan bijvoorbeeld toegang worden verleend door bijvoorbeeld een elektrisch deurslot te openen.

In deze tutorial laat ik zien hoe je RFID-tags leest en schrijft met de RC522 en de Raspberry Pi. NFC is een verwante technologie, waarvan je de verschillen hier kunt vinden. Zowel RFID als NFC zenden uit op een frequentie van 13,56 MHz, daarom zijn de modules uitwisselbaar met elkaar.

Daar gaan we…

Verbind de RFID-RC522 module als volgt met de Raspberry Pi.

Aansluittabel RC522 module en de Raspberry Pi
Bedradingsschema RC522 module en de Raspberry Pi

Activeren SPI
Klik hier om SPI te activeren.

Als SPI ingeschakeld is moeten we de Raspberry Pi opnieuw opstarten met:

sudo reboot

Om te controleren of SPI de module ziet:

lsmod | grep spi

De spi_bcm2835 interface is zichtbaar. De SPI connectie is gelukt!

Raspberry Pi voorbereiden

Allereerst updaten we alle pakketten en systeemonderdelen

sudo apt-get update

sudo apt-get upgrade

Installeer nu de Python 3 pakketten:

sudo apt-get install python3-dev python3-pip

Installeer pip3 met:

sudo pip3 install spidev

Installeer vervolgens de MFRC522 bibliotheek

sudo pip3 install mfrc522

Maak een map aan met de voorbeeld scripts

mkdir ~/pi-rfid

Ga in deze map staan

cd ~/pi-rfid

Schrijven naar de ID-Tag

Kopieer de code hieronder, plak het in je favoriete editor en sla het op als RFID_write.py.

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    text = input("New data: ")
    print ("Houd tag bij de RC522-module om te schrijven")
    reader.write(text)
    print ("De informatie is in de tag opgeslagen")

finally:
    GPIO.cleanup()

Start het programma:

sudo python3 RFID_write.py

Het script vraagt om de data die naar de RFID tag geschreven moet worden. Geef hier een waarde naar keus in, zoals ‘Hallo Wereld!’ of een naam zoals ‘Jan Jansen’.

De ID-Tag uitlezen

Kopieer de code hieronder, plak het in je favoriete editor en sla het op als RFID_read.py.

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

print ("Houd tag bij de lezer")

try:
    id, text = reader.read()
    print (id)
    print (text)

finally:
    GPIO.cleanup()

Start het programma met:

sudo python3 RFID_read.py

Wat je moet weten over RFID tags
Sommige RFID-tags kunnen worden herschreven, andere niet, het hangt af van de toepassing waarvoor de tags zijn gemaakt. Aangezien RFID-tags een interne microchip hebben, kan deze worden geprogrammeerd om herschrijfverzoeken te accepteren of te weigeren, dit helpt bij de beveiliging en voorkomt dat door kwaadwillende gegevens worden gewijzigd op tags die bijvoorbeeld worden gebruikt voor toegang tot de deur.

Het project heeft een simpele interface en een eenvoudige bediening

De software werkt erg betrouwbaar en is rechttoe rechtaan. Hierdoor is de interface eenvoudig in allerlei complexe projecten onder te brengen.

Mocht je nog vragen of opmerkingen hebben, plaats dan hieronder een reactie.

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*