{"id":420,"date":"2018-06-17T21:33:27","date_gmt":"2018-06-17T21:33:27","guid":{"rendered":"https:\/\/www.wpvs.de\/iot-2018\/?p=420"},"modified":"2021-05-14T10:07:05","modified_gmt":"2021-05-14T08:07:05","slug":"integration-des-rfid-moduls","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2018\/projekt-fahrtenbuch\/integration-des-rfid-moduls\/","title":{"rendered":"Fahrtenbuch (3): Integration und Test des RFID-Moduls"},"content":{"rendered":"<p>Der Fahrer soll sich vor Antritt der Fahrt unter Verwendung eines RFID-Chips am Raspi anmelden. Dadurch soll die anstehende Fahrt eindeutig einem Fahrer zugeordnet werden k\u00f6nnen. Zum Einsatz kommt dabei das Modul RFID-RC522.<span id=\"productTitle\" class=\"a-size-large\"><\/span> Zu Testzwecken wird das RFID-Modul zun\u00e4chst in Verbindung mit dem Betriebssystem Raspbian Stretch Lite (Kernel 4.14.34+) verwendet.<\/p>\n<p>Zun\u00e4chst muss das Serial Peripheral Interface (SPI) installiert bzw. aktiviert werden. Das SPI ist ein synchrones Datenbus-System mit dem digitale Schaltungen nach dem Master-Slave-Prinzip untereinander kommunizieren k\u00f6nnen.<\/p>\n<p>Konfigurationsdatei von Raspbian aufrufen \u00fcber:<\/p>\n<p><code>sudo raspi-config<\/code><\/p>\n<p>Unter Interfacing Options SPI aktivieren<\/p>\n<p>Anschlie\u00dfend wird die SPI-Bibliothek f\u00fcr Python von Github heruntergeladen.<\/p>\n<p><code>git clone https:\/\/github.com\/lthiery\/SPI-py.git<\/code><\/p>\n<p>und mit folgendem Befehl installiert:<\/p>\n<p><code>sudo python setup.py install<\/code><\/p>\n<p>Nachdem die Installation der Bibliothek zur Ansteuerung abgeschlossen ist, k\u00f6nnen die Pins des Raspi mit dem RFID-RC522 verbunden werden. Die Pin-Belegung wird nachfolgenden vorgestellt:<\/p>\n<hr \/>\n<p>Raspberry Pi\u00a0\u00a0\u00a0\u00a0 -&gt; RFIC-RC522<\/p>\n<p>GPIO8\u00a0 (Pin24) -&gt; SDA (Pin1)<br \/>\nGPIO11 (Pin23) -&gt; SCK (Pin2)<br \/>\nGPIO10 (Pin19) -&gt; MOSI (Pin3)<br \/>\nGPIO9 (Pin21)\u00a0\u00a0 -&gt; MISO (Pin4)<br \/>\nnicht belegt -&gt; IRQ (Pin5)<br \/>\nGND (Pin25) -&gt; GND (Pin6)<br \/>\nGPIO25 (Pin22) -&gt; RST (Pin7)<br \/>\n3.3V (Pin17) -&gt; 3.3V (Pin8)<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-421\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Raspi-RFID-RC522-300x211.png\" alt=\"\" width=\"360\" height=\"253\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Raspi-RFID-RC522-300x211.png 300w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Raspi-RFID-RC522.png 640w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/p>\n<hr \/>\n<p>Die SPI-Bibliothek beinhaltet bereits ein Beispiel zum Auslesen eines RFID-Chips. Dieses Python-Skript wurde an die notwendigen Bed\u00fcrfnisse zum Auslesen eines Schl\u00fcssels angepasst. Nachfolgend wird der Code vorgestellt:<\/p>\n<hr \/>\n<p><code>import RPi.GPIO as GPIO<\/code><br \/>\n<code>import MFRC522<\/code><br \/>\n<code>import signal<\/code><\/p>\n<p><code>#Variable zur Ueberwachung bis ein Chip eingelesen wird<br \/>\n<\/code><code>continue_reading = True<\/code><\/p>\n<p><code># Erzeuge ein Objekt der Klasse MFRC522<\/code><br \/>\n<code>MIFAREReader = MFRC522.MFRC522()<\/code><\/p>\n<p><code># Hinweis, dass das Modul aktiv ist und verwendet werden kann<\/code><br \/>\n<code>print \"RFID Reader is active\"<\/code><br \/>\n<code>print \"Press Ctrl-C to stop.\"<\/code><\/p>\n<p><code># Warte auf einen Chip<\/code><br \/>\n<code>while continue_reading:<\/code><\/p>\n<p><code># Einlesen eines Chips<\/code><br \/>\n<code>(status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)<\/code><\/p>\n<p><code># Auslesen der UID des Chips<\/code><br \/>\n<code>(status,uid) = MIFAREReader.MFRC522_Anticoll()<\/code><\/p>\n<p><code># UID gefunden, Chip auslesen,anzeigen und Schleife verlassen<\/code><br \/>\n<code>if status == MIFAREReader.MI_OK:<\/code><\/p>\n<p><code># Print UID<\/code><br \/>\n<code>print \"Card read UID: %s,%s,%s,%s\" % (uid[0], uid[1], uid[2], uid[3])<\/code><br \/>\n<code>continue_reading = False<\/code><\/p>\n<hr \/>\n<p>N\u00e4chste Schritte sind das Zusammenf\u00fchren des RFID-Moduls mit dem GSM\/GPS-Moduls und der RGB-LED.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Fahrer soll sich vor Antritt der Fahrt unter Verwendung eines RFID-Chips am Raspi anmelden. Dadurch soll die anstehende Fahrt eindeutig einem Fahrer zugeordnet werden k\u00f6nnen. Zum Einsatz kommt dabei das Modul RFID-RC522. Zu Testzwecken wird das RFID-Modul zun\u00e4chst in<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/420"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/comments?post=420"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/420\/revisions"}],"predecessor-version":[{"id":633,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/420\/revisions\/633"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/media?parent=420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/categories?post=420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/tags?post=420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}