Internet of Things mit Bluetooth LE - Teil 1

Ob Smart Home in der Küche, für Beleuchtung, Klimatisierung, Sensorik, zum Öffnen der Haustüren, die mit Widgets konfigurierbare Uhr, die Waage, gar die Zahnbürste oder eine vielzahl an Spielzeug — das Internet of Things (IoT) bietet unzählige Möglichkeiten für interessante Produkte und neue Möglichkeiten mit Dingen zu interagieren. Eine Technologie um diese Interaktionen zu ermöglichen ist Bluetooth LE.

 

von: Felix Lieb
Senior Developer,
fl@next-munich.com

 

Inhaltsverzeichnis

Internet of Things

Die englische Wikipedia beschreibt IoT in ihrem Eröffnungssatz eigentlich ganz schön:

The Internet of things (IoT) describes the network of physical objects—a.k.a. "things"—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet.

https://en.wikipedia.org/wiki/Internet_of_things, Stand: 23.6.2021

Geräte, welche wir zuvor nicht als Geräte mit Computern wahrgenommen haben - aber in der Regel schon welche eingebaut hatten - werden nun auch mit Kommunikationsfähigkeiten ausgestattet. Diese dienen zum Einen zum Abstimmen von Funktionen zwischen den Geräten, wie bspw. das Anschalten von Licht, wenn ein Sensor auslöst, und zum Anderen der Interaktion mit den Benutzern.

Ist der Sensor klein, hat er in der Regel kein Benutzerinterface (UI). Hier ist für die Interaktion bspw. eine App hilfreich, die es den Benutzern ermöglich den Sensor bequem zu konfigurieren. So könnte ein Sensor Helligkeit, Bewegung und Schall erkennen und so konfiguriert werden, dass er nur bei Bewegung in der Dunkelheit oder bei einem Geräusch auslöst, welches die Lautstärke der sich öffnenden Haustüre hat.

Bei kleineren Geräten, wie solchen Sensoren, wurden solche Einstellungen oft umständlich über Knöpfe und Drehregler gemacht: "Halten Sie Knopf "A" 3 Sekunden gedrückt, drücken Sie dann Knopf "B" einmal und stellen über den Drehregler die gewünschte Helligkeit ein." Bei größeren Geräten, wie beispielsweise Telefonanlagen, gab es häufig serielle Schnittstellen, für die ein RS232-Kabel gebraucht wurde. Da wurde dann gerne mal das uralte Windows-Laptop aufgehoben, welches noch mit Windows XP lief und eine RS232-Schnittstelle hatte. — Es gibt auch sicherheitsrelevante Einschränkungen, bspw. in Sensorik für Industrieanlagen. Wenn hier die Geräte versiegelt sein müssen, ist es aufwendig, diese zu öffnen, um ein Kabel anzuschließen.

Mittels Netzwerkkommunikation und/oder drahtloser Kommunikation eröffnen sich vielfältige neue Möglichkeiten, die zur Entstehung des Internet of Things beigetragen haben.

Drahtlos

Es gibt verschiedene Möglichkeiten, drahtlos mit einem IoT-Device zu Kommunizieren. Welche der Möglichkeiten am besten geeignet ist, hängt davon ab, welche Daten wie häufig über welche Distanz ausgetauscht werden müssen. Geht es nur um wenige Informationen, wie bspw. einen kurzen Text, einen Code oder ein Wifi-Passwort, welches über kurze Distanzen von wenigen Zentimetern abgerufen werden soll, liegt NFC (Near Field Communication) nahe. Werden größere Datenmengen, wie Bilder oder Videos ausgetauscht und die Entfernung kann einige 10 Meter betragen, gar über Stockwerke gehen, bietet sich Wifi an. Hier ist direkte Kommunikation mit dem IoT-Device möglich oder das IoT-Device befindet sich im selben Wifi-Netzwerk, wie bspw. das Smartphone oder Tablet. Ist das IoT-Device weit weg und eine drahtlose Verbindung auch über Wifi nicht möglich, gibt es noch die Möglichkeit Mobilfunk zu verwenden, um das IoT-Device mit dem Internet zu verbinden und so erreichbar zu machen.

Wird das IoT-Device in dem Raum gesteuert, in dem man sich befindet und ist nicht weiter als 10 Meter entfernt, wird Bluetooth LE interessant. Die Grundidee von Bluetooth LE ist es, Peripheriegeräte ohne Kabel "anschließen" zu können und für die Kommunikation nur wenig Energie zu benötigen. Hier ist der Datenaustausch optimiert auf eine relativ hohe Frequenz sehr kleiner Datenmengen. Bluetooth LE stellt damit die gängigste und einfachste Lösung dar, mit IoT-Devices drahtlos zu kommunizieren.

Bluetooth LE

Central & Peripheral

Bluetooth LE ist gedacht als kabelloser Standard zum "Anschließen" von Peripheriegeräten. Daher ist es auch technisch aufgeteilt in jenes Gerät, an welches angeschlossen wird, "Central" genannt und das Peripheriegerät, bspw. eine Tastatur, "Peripheral" genannt. Welches Gerät, welche Rolle übernimmt ist dabei nicht festgelegt, sowohl Android, als auch iOS unterstützen die Nutzung von Bluetooth LE als Central und auch als Peripheral. Am gängigsten ist jedoch, dass das Smartphone die Rolle der Central übernimmt.

Der für den Benutzer spürbare Unterschied ist, dass nur eine Central erstmalig Verbindung zu einem Peripheral aufnehmen kann. Umgekehrt kann ein Peripheral keinen erstmaligen Verbindungsaufbau anstoßen. Peripherals müssen also auf eine Verbindung durch einen Central warten bevor sie kommunizieren können.

Für die Implementierung in Apps ist der größte Unterschied, dass eine App, welche sich als Central verhält, nach Peripherals mit bestimmten Eigenschaften suchen kann, während eine App, welche sich als Peripheral verhält, sich mit bestimmten Eigenschaften anbieten kann.

Services & Characteristics

Die Eigenschaften, nach denen eine Central suchen und mit denen sich ein Peripheral anbieten kann, werden in "Characteristics" beschrieben, welche in "Services" gruppiert werden können. Sowohl Services, als auch Characteristics werden vom Hersteller mit UUIDs, "Universally Unique IDs" benannt, so dass diese, bspw. für ein Modell oder eine Produktreihe eindeutig und sprachunabhängig sind.

Um nun in der IoT-App nur jene Geräte zu suchen, welche zur App passen, werden UUIDs von Services und Characteristics verwendet um die in der Umgebung gefundenen Geräte zu filtern. Ein IoT-Device wiederum, verwendet diese UUIDs um sich als solches anzubieten. Der Zustand der Sichtbarkeit und des Anbietens eines Peripherals wird "Advertisement" genannt. Der Zustand der Suche einer Central nach sich anbietenden Peripherals wird "Discovery" genannt.

Read, Write & Notify

Hat eine Central eine Verbindung zu einem Peripheral hergestellt, kann sie nun die Characteristics des Peripherals nutzen. Bluetooth LE nutzt hier keinen klassischen Datenaustausch im Sinne von "Senden" und "Empfangen", sondern beschreibt einen Zustand, welcher sich aus der Summe der Services und Characteristics ergibt und gelesen und verändert werden kann.

So kann ein Peripheral beispielsweise nur lesbare Sensordaten, wie Temperatur, Helligkeit oder Füllstände anbieten, welche eine Central auslesen und, als App, dem Benutzer anzeigen kann. Darüber hinaus gibt es auch schreibbare Werte, welche geändert werden können, beispielsweise zur Steuerung des Peripherals. So könnte ein Gerät, welches sich im Standby befindet und diesen Zustand über eine änderbare Characteristic anbietet, durch die Änderung dieses Wertes durch die App angeschaltet werden.

Neben dem aktiven Lesen des Wertes einer Characteristic gibt es auch die Möglichkeit, dass ein Peripheral einer Central mitteilt, wenn sich der Wert einer Characteristic geändert hat. Dieser Modus der Mitteilung wird "Notify" genannt.

IoT Beispiel: Kaffeevollautomat

Ein Kaffeevollautomat könnte beispielsweise folgende Services und Characteristics anbieten:

  • Service "Füllstände" mit den (read-only) Characteristics
    • Kaffeebohnen
    • Milchpulver
    • Kakaopulver
    • Wasserstand
  • Service "Steuerung" mit den (read & write) Characteristics
    • Zubereitung starten
    • Wartungsmodus anschalten
    • Reinigungsprogramm starten
  • Service "Zustand" mit den (read & notify) Charakteritics
    • Betriebszustand (Standby, Zubereitung, Wartung, Reinigung, Fehler)
    • Verbleibende Zeit im aktuellen Zustand
    • Fehlercode

Fazit

Einige Entwicklungen der letzten Jahre machen das Internet of Things (IoT) zu einem spannenden und, im Vergleich zu anderen "Hype"-Technologien, zu einem im Alltag nutzbaren Thema. Die breite Verfügbarkeit von Bluetooth LE-fähigen Smartphones, Tablets und Computern, die stark gestiegene Leistungsfähigkeit und Modularität von Embedded Systems, die stark gestiegene Leistungsdichte von Akkus, die allgegenwärtige Verfügbarkeit des Internets und nicht zuletzt die Etablierung des Bluetooth LE-Standards machen Lösungen und Produkte vielfältiger Art möglich.

Unsere IoT Referenzen

 

Hier geht's zu Internet of Things mit Bluetooth LE - Teil 2