Kapitel 2

Konzept-Beschreibung

Die folgende Abbildung zeigt die Kommunikationsstruktur und den Aufbau der einzelnen Komponenten. Das Schaubild soll helfen, der folgenden Konzept-Beschreibung besser folgen zu können.

System Schaubild

2.1 Beacon Line

Beacon Line ist eine BLE (Bluetooth Low Energy) Infrastruktur und basiert auf einem Gateway mit bis zu 20 Ankern, welche über ein Twisted-Pair-Kabel (Cat 5) seriell miteinander verbunden und stromversorgt werden.

2.2 Anker

Jeder Anker enthält ein Bluetooth Low Energy Modul, das für die Funkkommunikation zuständig ist. Die Firmware wurde als HCI-Controller (Host Controller Interface) implementiert und ermöglicht alle BLE Rollen (Central, Observer und Broadcaster) und Funktionalitäten.

2.3 Gateway

Das Gateway ermöglicht die Kommunikation zwischen den Ankern und den Bline-Servern über TCP/IP. Das Gateway als TCP-Server bekommt seine IP-Adresse dynamisch von einem DHCP Server und ist erreichbar über die IP-Adresse oder Hostname (BLGD-MAC). Die MAC-Adresse ist auf dem Gehäuse des Gateways abgebildet (z.B. BLGD-8C8E7601441E). Um mit dem Gateway zu kommunizieren wird ein “.local” an den Hostnamen (MAC-Adresse) gehängt, also bei diesem Beispiel: BLGD-8C8E7601441E.local

2.4 HCI

Das HCI ist eine standardisierte Bluetooth-Schnittstelle zum Senden von Befehlen, Empfangen von Ereignissen und zum Senden und Empfangen von Daten. Gemäß Bedeutung von HCI wird dieses verwendet, um die Host- und Controller-Geräte zu überbrücken. Der Nutzer hat mit dieser Ebene keinen Kontakt. Es sind nur die Beacon Line Schnittstellen zugänglich.

2.5 Bline-Server

Die Software wurde für die Linux, Windows und macOS entwickelt. Der Bline-Server deckt auf einer Seite die HCI Host Role ab und auf andere Seite bietet es eine RESTful API für die Kommunikation mit den Ankern und ein TCP Port zum Folgen der Observer-Daten. Diese Dokumentation erklärt die RESTful API und Observer-Daten über TCP.

2.6 RESTful API

Representational State Transfer (REST) ist ein Paradigma für die Softwarearchitektur, die eine einheitliche Schnittstelle zwischen getrennten Komponenten in einer HTTP-fähigen Client-Server-Architektur beschreibt.

2.7 OpenAPI

Die OpenAPI Specification (vormals Swagger Specification) ist ein Standard zur Beschreibung von REST-konformen Programmierschnittstellen (API).