Keyless / RFID Smart-City-Usecase Teil 2

Written by Marvin Siegert

Keyless / RFID Smart-City-Usecase Teil 2

Monday, 01 Aug 2016 00:00

Im ersten Teil dieser Blogbeitragsserie „Keyless / RFID Smart-City-Usecase“ wurde der Anwendungsfall und die genauen Anforderungen an den Usecase beschrieben. In diesem Beitrag wollen wir uns auf die technischen Details konzentrieren und genauer auf die verwendeten Technologien schauen.

RFID

Hauptbestandteil des Showcases ist das automatische Identifikationsverfahren RFID (Radio Frequency IDentification). Dabei handelt es sich um eine kontaktlose Kommunikationstechnik, die Informationen zur Identifikation von Personen, Tieren und Waren überträgt.

In unserem Fall wollen wir eine Person, vor dem automatischen Öffnen der Tür, identifizieren. Dazu wurde am Legohaus ein kleines RFID Lesegerät befestigt, welches aus einer Steuerplatine und einer Kupferspule besteht. Als Identifizierungsmerkmal hat jeder Hausbewohner ein RFID-Transponder (auch Tag genannt). Auf jedem Transponder sind Daten abgespeichert, so lassen sich dort auch eineindeutige Zugangsschlüssel hinterlegen.

Wenn das Lesegerät angesteuert wird, erzeugt es über die Kupferspule (Antenne) ein elektromagnetisches Feld. Kommt ein Transponder in den Bereich des Magnetfeldes, wird sein Mikrochip mit Energie versorgt und er kann kontaktlos Daten an das Lesegerät übermitteln. Sobald der Transponder das Magnetfeld verlässt, bricht die Verbindung ab und der Transponder ist wieder inaktiv.

Bei der Auswahl der richtigen Transponder sind einige Merkmale zu berücksichtigen. Neben den bei uns verwendeten inaktiven readonly Transponder (nur lesend), gibt es auch Transponder die mehrmals wiederbeschreibbar sind (write/read) und welche, die nur einmal beschreibbar sind (write once, read many). Diese 3 Arten von Tags existieren auch als aktive Transponder mit eigener Energiequelle.

Reichweite, Stabilität und Übertragungsgeschwindigkeit sind hauptsächlich von der ausgewählten Frequenz abhängig. So hat die Ultra High Frequenz (UHF) von 689 Megahertz, die in der europäischen Automobilindustrie verwendet wird, eine deutlich höhere Reichweite als die in unserem Showcase verwendete 125 kHz Frequenz. Zudem ist sie deutlich stabiler wenn bspw. Metall in die Nähe des Magnetfeldes kommt. Das oben gezeigte Schaubild zeigt ein paar Beispiele für Einsatzorte der verschiedenen Frequenzen.

MQTT

Als zweite Möglichkeit unsere Tür zu öffnen haben wir eine Webapp erstellt. Dazu wurde das Framework Ionic eingesetzt, mit dem die App zusätzlich als „Native“-App für alle gängigen Betriebssysteme kompiliert und in den App-Stores zu Verfügung gestellt werden kann.
Da in unserem Showcase mit einer Frequenz von 125 kHz gearbeitet wird, konnte für die Kommunikation mit dem Raspberry Pi nicht der NFC Sensor eines Smartphones verwendet werden (NFC hat eine Frequenz von 13,56 MHz). Deshalb wurde die Kommunikation von Smartphone zu Raspberry mittels MQTT umgesetzt.

Eine WebApp, die im Browser läuft, ist standardmäßig erstmal nicht Realtimefähig. Das können Browser nur über das Websocket-Protokoll. Websockets bauen über eine einzelne TCP Verbindung einen Kommunikationskanal auf, in dem Client und Server gleichzeitig kommunizieren können (Vollduplex). Zudem kann mittels TLS die Websocket-Verbindung abgesichert werden.
In diesem Kommunikationskanal können nun Messages per MQTT-Protokoll übertragen werden. Dabei muss darauf geachtet werden, dass der MQTT Broker so konfiguriert ist, dass er auch über Websockets kommunizieren kann.

Die Unterstützung von Websockets ist noch nicht bei allen MQTT Brokern Standard. In unserem Showcase verwenden wir einen Mosquitto Broker in der Version 1.4 – Die erste Version, die Websockets unterstützt.
Um die Tür zu öffnen haben wir das Topic „legohaus/opendoor/{code}“ angelegt. Der Raspberry meldet sich am Broker auf das Topic an (subscribe) und die App sendet die Messages mit dem eingegebenen Pin Code (publish).

Der Raspberry entscheidet dann, ob der Pin zu einem Bewohner des Hauses gehört und öffnet dem Bewohner die Tür.