kdw
Joined: 05 May 2006 Posts: 1497
|
Posted: 19.01.2022, 11:41 Post subject: Funktionsbausteine … |
|
|
Hallo Forum.
Eine BLE-basierte SSB-Anwendung besteht aus den drei elementaren Funktionsbausteinen Device, Collector und Agent. Diese Bausteine übernehmen innerhalb einer Applikation eine vordefinierte Rolle:
SSB Device: Das SSB Device bildet einen Datenendpunkt mit einer 2,4-GHz-Bluetooth-Low-Energy- (BLE-) Funkschnittstelle. Im einfachsten Fall werden von einer solchen Funktionseinheit lediglich Sensordaten per Broadcast verschickt (also an alle, die sich in Funkreichweite befinden und zuhören). In dieser GAP-basierten Betriebsart (GAP = Generic Access Profile, ein spezieller BLE-Dienst gemäß Bluetooth-Standard) führt das SSB Device periodisch Messungen mit der jeweils zur Verfügung stehenden Sensorik durch und verschickt die Messdaten als BLE-Advertising-Datenpakete per SSB-Protokoll (SSB ADV Data). Da Advertising Broadcasts auf Grund der Bluetooth-Standard-Spezifikationen nur bis zu 31 Bytes Nutzdaten enthalten können, verteilt das SSB-Protokoll die Sensordaten bei Bedarf auf mehrere Advertising-Fragmente, die über eine Sequenznummer miteinander verkettet werden. Neben GAP ist ein SSB Device optional auch für GATT-Funktionen nutzbar (GATT = Generic Attribute Profile, ein weiterer standardkonformer BLE-Dienst). Dabei entsteht eine Client-Server-Verbindung für den bidirektionalen Datenaustausch zwischen dem SSB Device als Peripheral und einem sogenannten Central Device.
SSB Collector: Der SSB Collector ist ein zentraler Datensammelpunkt für die sternförmige Architektur eines SSB-Sensornetzwerks. Er empfängt über eine 2,4-GHz-BLE-Funkschnittstelle die einzelnen Advertising-Broadcast-Fragmente des SSB-Protokolls (SSB ADV Data) aller SSB Devices in Funkreichweite, extrahiert die Nutzdaten und erzeugt daraus zunächst ein JSON-Objekt (SSB JSON). Neben der BLE-Funkschnittstelle besitzt der SSB Collector auch einen direkten MQTT-basierten Dateneingang für SSB-JSON-Objekte. Diese JSON-Daten mit den SSB-Fragmenten werden anschließend zu einem vollständigen Datenblock zusammengesetzt. Dabei wird eine Sequenznummernprüfung der SSB-Daten durchgeführt, um mehrfach empfangene SSB-Fragmente auszufiltern bzw. Replay-Attacken zu erkennen und zu verhindern. Im Anschluss daran erfolgt über den zum jeweiligen SSB Device gehörenden 128-Bit Data Key eine Datenauthentisierung. Ist diese Prüfung erfolgreich, werden die einzelnen Sensordatenelemente extrahiert und das ausgangsseitige Sensor-JSON-Objekt erzeugt, das anderen Anwendungen zur Verfügung steht.
SSB Agent: Ein SSB Agent ist ein Schnittstellen- und Datenwandler. Auf der einen Seite besitzt er eine 2,4-GHz-BLE-Funkschnittstelle für die Verbindung zu den SSB Devices in Funkreichweite. Die gegenüberliegende Seite bildet ein WLAN- oder Ethernet-LAN-Interface. Sie dient als MQTT-Client-Verbindung zum SSB Collector. Datentechnisch wandelt der SSB Agent die empfangenen Advertising-Broadcast-Fragmente des SSB-Protokolls (SSB ADV Data) in SSB-JSON-Objekte (SSB JSON) um und überträgt diese JSON-Objekte per MQTT an den SSB Collector. Funktional dient der SSB Agent zur Vergrößerung der BLE-Funkreichweite in einer SSB-Anwendung. Durch eine integrierte mDNS-Funktion (mDNS = Multicast DNS: spezieller Dienst, um an Hand eines Hostnames die IP-Adresse eines Rechners zu ermitteln) findet ein SSB Agent den SSB Collector in einem WLAN- bzw. LAN-Netzwerk automatisch.
VG KDW |
|