
Een leuke toepassing is het lezen van een RFID tag (of kaart) met de Raspberry Pi. Je kunt bij het accepteren van de ID bijvoorbeeld via de GPIO-poort een relais en een deurslot openen of een lamp (LED) aan laten gaan.
Kosten
Bij een bekende Aziatische online shopkost de reader (incl. USB kabel) zo’n € 2,50. Een RFID-tag (kaart of druppel) koop je al voor een paar dubbeltjes.
Het technische principe
Het principe is erg eenvoudig. De reader genereert een inductieveld van 125 MHz of 13,56 KHz en is in staat het chip ID van de tag uit te lezen die in het veld gehouden wordt. Je kunt dus alleen tags of kaarten uitlezen die met dezelfde veldfrequentie werken. Let dus op wat je aanschaft, de reader en de tags moeten van dezelfde veldfrequentie gebruik maken.
De reader als toetsenbord
De reader wordt met de meegeleverde USB kabel met de Raspberry Pi verbonden en reageert als een toetsenbord. Het voordeel hiervan is dat de tag input een datastring is van tien cijfers, hetgeen eenvoudig in het programma te verwerken is. Je kunt de reader ook op je pc testen. In het programma Notepad zal na het inlezen van een tag een tien cijfernummer te zien zijn. Na het inlezen van de reader wordt er automatisch een ENTER meegegeven.
Het programma TagReader
Omdat ik al een programma in Python geschreven had om verenigingspassen met een magneetstrip uit te lezen, heb ik deze code gebruikt om de RFID-tags uit te lezen. Ik heb onnodige code eruit gehaald, maar heb wel de LED indicatoren en de relaisaansturing laten zitten zodat je bijvoorbeeld een lamp of deurslot kunt schakelen.
GPIO functies
Je kunt de tagreader uitbreiden door er relais en indicatie leds op aan te sluiten.
– GPIO17 = relais 1 (geldig ID)
– GPIO27 = relais 2 (ongeldig ID – optioneel)
– GPIO16 = led (groen = geldig ID)
– GPIO21 = led (rood = ongeldig ID)
– GPIO20 = led (oranje = programma status)
De bestanden
• Naast het hoofdprogramma worden er automatisch een aantal logbestanden (autorisatie.log en logboek.log) door het programma aanmaakt.
• Daarnaast heeft het programma een lijst (genaamd lijst) nodig waarin de ID-nummers staan die herkend moeten worden. In de lijst kun je de ID-nummers koppelen aan personen.
• Tot slot worden het aantal gelezen ID’s geteld in counter.log, deze moet je zelf even aanmaken. Dit doe je door in de map waarin het hoofdprogramma staat, achter de prompt van Raspbian het commando nano counter.log
in te voeren waarna de editor opstart. Geef nu een startwaarde in, bijvoorbeeld 0 (nul) en sla het bestand op met Ctrl-o, Ctrl-x en [Enter].
Hieronder zie je de werking van de software.
Have A Nice Day!
Laat een reactie achter