Tkinter – RFID tag lezen

Tkinter geeft een mooi jasje aan een Python script. In deze tutorial laat ik zien hoe je een RFID kaart of -tag met behulp van een script uitleest, de gelezen waarde wordt vergeleken met een .csv-lijst en vervolgens is de corresponderende naam die op de lijst staat in het venster te zien.

Installeren van GPIOzero
Allereerst updaten we de Raspberry Pi met: sudo apt update

We moeten de gpiozero bibliotheek laden voor ons script. Gpiozero is standaard in Raspbian beschikbaar. Mocht dit niet voor jou het geval zijn of twijfel je, installeer dan het pakket voor Python 2 en Python 3 met:

sudo apt install python-gpiozero python3-gpiozero

Kaartlezer aansluiten
Sluit nu de USB kaartlezer (125KHz of 13,56MHz) aan op de USB poort van de Raspberry Pi, start de code op en lees een RFID kaart of -tag (label) die geschikt is voor de lezer. De hieronder getoonde RFID kaart/tag-lezer leest de data en geeft automatisch een ENTER. De interface werkt als een toetsenbord en heeft geen extra software nodig.

USB RFID kaart-/labellezer

Database
Het script heeft een lijst nodig met daarin de ID-nummers en de naam die bij de kaart of tag hoort. De lijst wordt gebruikt om de gelezen waarde in op te zoeken en de corresponderende naam te printen. De lijst is in .csv-formaat. De lijst heet Database.csv, maar mag natuurlijk ook anders heten, een echte database is het niet. Mocht je de naam willen veranderen, pas de naam in het script dan ook even aan. De voorbeeldlijst wordt samen met het script gedownload.

Hieronder zie je het .csv-bestand en hoe deze opgebouwd is. Je kunt deze overnemen en de kaartnummers aanpassen naar de nummers die jouw kaarten/tags hebben.

Database.csv

Python3 script
Het script betreft een Python 3 versie en zal in de terminal opgestart moeten worden in de (grafische) desktop van de Raspberry. PuTTY werkt hier niet. Wil je remote werken, VNC-Viewer is hier geschikt voor.

python3 TkinterRfidGui.py

Het script kun je zelf naar believen uitbreiden. Er is al een LED functie opgenomen, deze zou je kunnen uitbreiden met een relais om bijvoorbeeld een deur te openen.

Have A Nice Day!