Gateway
Hardware Gateway
Das Gateway enthält einen Mikrocontroller- mit RF-Modul, und wird entweder über einen USB/UART-Schnittstelle oder Over The Air (OTA) also drahtlos programmiert.
Das Gateway besitzt neben USB auch BLE und somit die gleichen Schnittstellen wie der Sensor-Stick, sowie zusätzlich WLAN zur Übertragung der Messdaten an einen Online-Speicher (Cloud-Plattform). Für die WLAN-Schnittstelle wird ein vorzertifiziertes Modul mit integriertem TCP/IP-Stack verwendet. Dieses unterstützt eine Datenübertragung nach 802.11 b/g/n/e/i und bietet Sicherheitsfeatures nach WPA/WPA2 PSK.
Eine Mini-USB-Schnittstelle dient auch zur Kommunikation mit einem PC. Dies geschieht mit Hilfe eines USB nach UART Umsetzers, der PC-seitig einen virtuellen COM-Port zur Verfügung stellt.
Als Controller-/RF-Modul wird ein vorzertifiziertes Modul mit integrierter BLE-Antenne verwendet. Im Gegensatz zu einer diskret aufgebauten Schaltung hat dies den Vorteil, dass weniger diskrete Bauteile benötigt werden und ein geringerer Fertigungs- und Logistikaufwand entsteht. Gleichzeitig wird durch die Vorzertifizierung das FCC- und BLE-Listung sowie die CE-Kennzeichnung vereinfacht.
Um ausreichend Rechenleistung zur Verfügung zu haben, wird ein Ultra-Low-Power (ULP) Mikrocontroller aus der ARM-Cortex-M4F-Familie mit 512kB FLASH und 64kB RAM und einer Crypto-Engine sowie Nahfeldkommunikation (NFC) eingesetzt. Diesem stehen bis zu 32Mbit interner Messdatenspeicher sowie eine Micro-SD-Karte zur Seite. Damit sind auch Anwendungen wie Echtzeitdatenanalyse, FFT-Berechnungen, Auswerten von großen Datenmengen, wie beispielsweise gestreamten Audio-Daten möglich.
Der drahtgebundene Datenaustausch mit den Sensor-Sticks erfolgt über eine serielle Schnittstelle (UART). Hierfür stehen zwei Standard-USB-Steckverbinder Typ A zur Verfügung. Das Registrieren eines Sensor-Sticks (Pairing und Schlüsselaustausch) am Gateway erfolgt durch Anstecken an einen der Typ A USB-Steckplätze. Dies stellt eine relativ sichere und schwer zu manipulierende Möglichkeit dar, um ein System zu konfigurieren.
Ein Arduino®-Uno kompatibler Formfaktor stellt zudem eine einfache Erweiterungsmöglichkeit dar. So lassen sich viele gängige Arduino-Shields verwenden. Dadurch ist es beispielsweise sehr einfach möglich eine Mobilfunk-Anbindung oder einen anderen Funkstandard wie ISM (868 MHz), LoRa oder Enocean usw. nachzurüsten. Weiterhin verfügt das Gateway über eine externe I2C-Schnittstelle die auf einen Seeedstudio Grove-Stecker geführt ist.
Die Spannungsversorgung des Gateways erfolgt über Mini-USB. Dabei kann sowohl ein PC zur Versorgung dienen, als auch ein USB-Steckernetzteil oder eine hinreichend große USB-Power Bank.
Ein passendes Gehäuse ist ebenfalls erhältlich und vereinfacht so die Transportierbarkeit und den festen Einbau des Gateways.
https://www.binder-elektronik.de/das-kit/gateway#sigProId7f3b55d64d
Firmware Gateway
Das Gateway bildet das zentrale Gerät (Host), das von den Sensor-Sticks umgeben ist. Dabei ist das Gateway permanent im Empfangsmodus, während sich die Sensor-Sticks zur Minimierung der Stromaufnahme im Ruhezustand befinden. Eine
Datenübertragung wird dabei vom Sensor-Stick initiiert. Die Hauptaufgabe des Gateways ist es, Daten der Sensormodule über die entsprechenden Schnittstellen entgegen zu nehmen, aufzubereiten, ggf. zu komprimieren und zu fusionieren und anschließend über die WLAN-Schnittstelle an den Cloud-Dienst zu übertragen.
Die Abbildung 11 zeigt den Datenfluss innerhalb des Gateways.
Dazu werden die Datenpakete der Sensor-Sticks empfangen und in FIFO-Speicher geschrieben. Im WLAN-Puffer werden jeweils die Messwerte eines Sensor-Sticks zusammengeführt (z.B. Temperatur, Feuchte, Druck und UVI) und über die WLAN-Schnittstelle an den Cloud-Dienst übertragen.
Zur drahtlosen Datenübertragung vom Sensor-Sticks zum Gateway wird ein BLE-konformes Beacon-Protokoll benutzt. Dabei wird eine zu Blue-Tooth kompatible 2,4 GHz-Funk-Hardware verwendet. Ein Netzwerk ist dabei sternförmig aufgebaut. Um Energie zu sparen senden die Sensor-Sticks Ihre Messdaten als non-connectable undirected advertising Pakete aus. Dabei werden Datenpakete mit max. 31 Byte Länge übertragen.
Die Firmware unterteilt sich in die Initialisierung und die eigentliche Programmaus-führung. Bei der Initialisierung wird die Peripherie konfiguriert und Puffer- und FIFO-Speicher angelegt. Dabei werden zuerst die empfangenen Daten entschlüsselt, autentifiziert und verifiziert. Im nächsten Schritt werden die dekodierten Daten zu einem Datenpaket zusammengesetzt. Dann wird das Datenpaket entweder an einen angeschlossenen PC oder in den WLAN-Puffer übertragen.
Die Kommunikation zwischen Controller und dem WLAN-Modul nutzt den AT-Befehlssatz. Zur Datenübertragung wird eine verschlüsselte TCP-Verbindung mit dem Cloud-Dienst aufgebaut. Nach beendeter Übertragung geht die Firmware wieder in den Grundzustand und signalisiert der darüber liegenden Software, dass eine weitere Übertragung möglich ist.
Web-Oberfläche und PC-Software
Um die Sensormodule an einem PC verwenden zu können, wurde eine Visualisierung mit der graphischen Programmierumgebung LabVIEW von NATIONAL INSTRUMENTS erstellt. Über das LabVIEW-IV kann auch zusätzlich vom PC aus jeder angeschlossenen Sensor-Sticks konfiguriert werden. Dazu muss er direkt am Gateway angesteckt sein. So lassen sich dann auch die Sicherheitseinstellungen übermitteln und ein Pairing von Gateway und Sensor-Sticks vornehmen.
Über eine Web-Oberfläche, können die in der Cloud aufgezeichneten Messdaten dargestellt werden . Die eingebundenen Diagramme werden dabei vom Cloud-Dienst bereitgestellt. Um auf die Daten überhaupt zugreifen zu können ist ebenso wie beim Hochladen der Daten ein API-Schlüssel erforderlich, der vom Cloud-Dienst bereitgestellt werden muss bzw. bei Anmeldung / Registrierung vergeben wird.