Entwicklung von intelligenten Anwendungen auf der Grundlage von Bluetooth Low Energy mit Bluetooth Mesh – 1. Teil
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2018-03-21
Anmerkung des Herausgebers: Der 1. Teil dieser zweiteiligen Artikelserie stellt die Architektur und die Möglichkeiten des Protokolls Bluetooth Mesh 1.0 im Detail vor. Der Protokollstack wurde als Ergänzung der Firmware von Bluetooth Low Energy (Bluetooth LE, BLE) konzipiert. Er führt zum ersten Mal den offenen Standard für Maschennetzwerke und Bluetooth Low Energy zusammen. Darüber hinaus führt dieser Artikel die Stärken und Schwächen von Bluetooth Mesh aus, sodass Entwickler Bluetooth Mesh mit alternativen drahtlosen Technologien mit geringem Energieverbrauch vergleichen und feststellen können, ob es eine gute Wahl für ihre Wireless-Anwendungen ist. Im 2. Teil wird die Integration von Bluetooth Mesh in BLE-Designs mit ICs und Entwicklungskits aus dem DigiKey-Sortiment beschrieben.
Maschennetzwerke sind eine wesentliche Anforderung von Funktechnologien mit geringem Energieverbrauch, die auf intelligente Anwendungen für Heim und Industrie abzielen, da damit Reichweitenbegrenzungen überwunden und die Skalierbarkeit vereinfacht werden sowie ein Zuwachs bei der Robustheit erzielt wird. Entwickler, die Bluetooth Low Energy (Bluetooth LE, BLE) einsetzen wollten, waren allerdings wegen der mangelnden Unterstützung für Maschennetzwerke frustriert.
Die fehlende Unterstützung hat sie dazu gezwungen, für intelligente Heimanwendungen zu anderen Technologien wie Zigbee oder Thread zu greifen, obwohl Bluetooth Low Energy eigentlich perfekt ist und hervorragend unterstützt wird. (Siehe DigiKey-Artikel „Vergleich energiesparender drahtloser Technologien“.)
Die Bluetooth SIG (Special Interest Group) hat sich jetzt durch Einführung der zusätzlichen Spezifikation Bluetooth Mesh 1.0 dieser Schwäche angenommen. Die Spezifikation setzt keine zusätzliche Hardware voraus und ist auf allen Bluetooth-LE-Chips (v4.0, 4.1, 4.2 und 5) einsatzfähig. Einige Hersteller unterstützen Bluetooth Mesh 1.0 bereits mit eigenen Firmware-Implementierungen der Spezifikation und zugehörigen Entwicklungstools.
Bevor sich Entwickler allerdings auf Maschennetzwerke unter der neuen Spezifikation stürzen, sollten sie sich damit vertraut machen, inwiefern sich die Mesh-Implementierung der Bluetooth SIG von alternativen Technologien unterscheidet. Wichtig wäre eine Abwägung zwischen Einfachheit, Energieverbrauch und Flexibilität, denn diese Unterschiede beeinflussen die Auswahl und das Vorgehen bei der Entwicklung.
In diesem Artikel wird die Spezifikation behandelt und die Architektur von Bluetooth Mesh für Entwickler erläutert. Es werden die Funktionscharakteristika und die Eignung für Smart Home und Anwendungen wie intelligente Beleuchtung beschrieben. Am Schluss werden einige geeignete Designtools für Bluetooth Mesh sowie unterstützende Hardware- und Softwarelösungen vorgestellt.
Die Vorzüge von Maschennetzwerken
Bluetooth Low Energy sollte ursprünglich das „klassische“ Bluetooth durch Erweiterung der Funktechnologie auf Peripherie mit geringer Batteriekapazität ergänzen. Beispiele für derartige Peripheriebausteine sind Sportsensoren wie Brustgurte zur Messung der Herzfrequenz oder drahtlos gesteuertes Spielzeug. Jeder Peripheriebaustein kommuniziert über einen eigenen Kanal mit einem Überwachungsgerät, z. B. mit einem Smartphone, und bildet eine sternförmige Netzwerktopologie.
Zum Teil wegen der Interoperabilität mit Smartphones hat sich Bluetooth Low Energy schnell in anderen Sektoren wie Smart Home z. B. für die Beleuchtungssteuerung verbreitet. Bei dieser Art von Anwendungen machten sich die Nachteile von sternförmigen Netzwerken schnell bemerkbar.
Bluetooth-LE-Lösungen können z. B. nur eine begrenzte Anzahl von gleichzeitigen Verbindungen (typisch acht) bewältigen. Lichtinstallationen mit einer darüber hinaus gehenden Anzahl von Lampen können nicht mit einem einzigen Befehl gesteuert werden, was zu Latenzen führt. Weiterhin können sich in großen Häusern Lampen an weit entfernten Standorten außerhalb der Reichweite des Controllers befinden.
In einem Maschennetzwerk kommuniziert nicht ein zentrales Gerät mit einzelnen Geräten an der Peripherie, sondern eine Nachricht wird von einem Punkt des Netzwerks zu allen anderen über bidirektionale Kanäle weitergeleitet, die mehrere Knoten miteinander verbinden. Auf diese Weise haben Maschennetzwerke erhebliche Vorzüge, da Dutzende von miteinander verbundenen Geräten simultan gesteuert werden können. Dadurch werden Reichweitenbegrenzungen überwunden und Redundanzen erzeugt. (Abbildung 1)
Abbildung 1: Topologie eines Maschennetzwerks. Eine Nachricht kann von einem Punkt des Netzwerks zu jedem anderen über bidirektionale Kanäle zwischen mehreren Knoten weitergeleitet werden. (Bildquelle: Silicon Labs)
Der Bluetooth-Mesh-Stack
Seit seiner Einführung als Teil der Bluetooth-Kernspezifikation Version 4.0 wurde Bluetooth Low Energy durch die Versionen 4.1, 4.2 und 5 überarbeitet. Bluetooth 5 führte Verbesserungen bezüglich Reichweite, Durchsatz, Broadcast und Koexistenz ein. (Siehe DigiKey-Artikel „Mit Bluetooth 4.1, 4.2 und 5 kompatible Bluetooth-Low-Energy-SoCs und -Tools stellen sich den Herausforderungen des Internets der Dinge“.)
Da es sich um die neueste Produkteinführung handelte, wäre zu erwarten gewesen, dass es sich bei Bluetooth Mesh 1.0 nur um ein Upgrade von Bluetooth 5 handelt, aber dies ist nicht der Fall. Jeder herkömmliche Bluetooth-LE-Chip (nach 4.0, 4.1, 4.2 oder 5) kann so verändert werden, dass er durch ein einfaches Firmware-Upgrade für Bluetooth Mesh eingesetzt werden kann. So können Installationen vor Ort von der neuen Technologie profitieren.
Der Schlüssel zu dieser Rückwärtskompatibilität ist die Tatsache, dass Bluetooth Mesh kein integraler Bestandteil des Bluetooth-LE-Stacks ist – es ist vielmehr eine separate neue Einheit mit sieben Schichten (Abbildung 2.)
Abbildung 2: Bluetooth Mesh umfasst einen aus sieben Schichten bestehenden Stack, der das Bluetooth-LE-Protokoll ergänzt. (Bildquelle: Bluetooth SIG)
Wenn der Bluetooth-Mesh-Knoten eine Nachricht empfängt, reicht er diese in der Schichthierarchie aufsteigend von dem zugrunde liegenden BLE-Stack über die Trägerschicht zur Netzwerkschicht hoch. Die Netzwerkschicht führt verschiedene Überprüfungen durch, um entscheiden zu können, ob die Nachricht an die Transportschicht übergeben oder verworfen wird.
Beachten Sie, dass die Spezifikation von Bluetooth Mesh eine völlig neue Host-Schicht definiert, die einige Konzepte mit der Host-Schicht von Bluetooth Low Energy gemeinsam hat, aber mit dieser nicht kompatibel ist. Dies unterscheidet sich etwas von konkurrierenden Technologien wie Zigbee oder Thread, die von Anfang an Maschennetzwerke umfassten (Abbildung 3).
Abbildung 3: Anordnung des Bluetooth-Mesh-Stacks (hellblau) innerhalb des Bluetooth-LE-Protokolls (dunkelblau). Die Bluetooth-Mesh-Spezifikation definiert eine völlig neue Host-Schicht, die einige Konzepte mit der Host-Schicht von Bluetooth Low Energy gemeinsam hat, aber nicht mit ihr kompatibel ist. (Bildquelle: Nordic Semiconductor)
Bluetooth-Mesh-Knoten
In Bluetooth Mesh werden vier Arten von Netzwerkknoten verwendet:
Relaisknoten empfangen Pakete und leiten sie durch das Netzwerk weiter. Ein Nachteil von Relaisknoten besteht darin, dass sie ständig bereit sein müssen, was den Energieverbrauch beträchtlich erhöht. Dies stellt keinen Nachteil für Anwendungen wie intelligente Beleuchtung dar, die mit Netzstrom gespeist werden, aber es ist ein Problem für nicht mit Netzstrom gespeiste Knoten, z. B. für im Netzwerk integrierte Schalter.
Energieeffiziente Knoten (Low Power Nodes, LPNs) übernehmen die üblichen energiesparenden Eigenschaften von Bluetooth Low Energy (d. h. sie verbringen lange Zeitintervalle im Ruhemodus) und können daher lange Zeit mit Batterien oder über Energy Harvesting betrieben werden. Jeder LPN ist mit einem mit Netzstrom betriebenen Partnerknoten (Friend Node) verbunden, der aktiv bleibt und an den LPN gerichtete Nachrichten zwischenspeichert. Wenn der LPN in den Empfangsmodus wechselt (nach einem festgelegten Zeitplan), empfängt er die zwischengespeicherten Nachrichten, führt die entsprechenden Operationen aus und kehrt in den energiesparenden Ruhemodus zurück.
Proxy-Knoten ermöglichen Geräten, die über keinen Bluetooth-Mesh-Stack verfügen, eine Verbindung mit einem Bluetooth-Mesh-Netzwerk herzustellen. Dies ist beispielsweise dann von Nutzen, wenn ein Verbraucher ein intelligentes Beleuchtungsnetzwerk mit einem veralteten Smartphone steuern möchte. Die Interaktion findet sowohl über den Knoten als auch über die GATT-Schnittstelle (Generic Attribute Profile) statt (Abbildung 4).
Abbildung 4: Die vier bei Bluetooth Mesh vorkommenden Knotentypen. Alle Lampen und Schalter in der Abbildung mit Ausnahme der Lampe ganz links sind vom Netz gespeiste Relaisknoten. (Bildquelle: Ericsson)
Der Temperatursensor ist ein batteriegespeister LPN, der periodisch Nachrichten von seinem von der Lampe ganz links gebildeten Partnerknoten erhält. Das Smartphone bildet einen Proxy-Knoten, der statt des Bluetooth-Mesh-Stacks die GATT-Schnittstelle von Bluetooth Low Energy verwendet.
Bevor ein neuer Knoten am Routine-Maschenbetrieb teilnehmen kann, muss er von einem „Provisionierer“ bereitgestellt werden. Hierbei handelt es sich um ein vertrauenswürdiges Gerät, das Zugriff auf alle Knoten im Netzwerk hat. Dem neuen Knoten wird eine Adresse, ein Netzwerk- und ein Geräteschlüssel zugewiesen. Nach der Bereitstellung wird mit dem Geräteschlüssel ein sicherer Kanal zur Konfiguration des neuen Knotens aufgebaut. Bluetooth Mesh unterstützt bis zu 32.000 Knoten.
Die Architektur von Bluetooth Mesh
Bluetooth Mesh setzt zum Senden von Nachrichten über das Netzwerk eine „Flutungstechnik“ ein. Jedes Paket wird per Broadcast an jeden Knoten im Netzwerk gesendet, bis es das oder die Ziele erreicht. Eine Meldung kann für einen einzelnen Knoten, für eine Gruppen von Knoten oder für alle Knoten bestimmt sein.
Gruppen von Knoten werden über eine Gruppenadresse angesprochen, die ein Netzwerkelement definiert, z. B. die Leuchten in einem einzelnen Raum. Daneben definiert die Spezifikation vier feste Gruppenadressen.: All-proxies (alle Proxys), All-friends (alle Partner), All-relays (alle Relais) und All-nodes (alle Knoten), über die jeweils alle Knoten eines Typs angesprochen werden können. (Beachten Sie, dass die Gruppe der LPNs keine eigene Adresse hat, da diese von Partnerknoten abhängen.)
Aufgrund der Wahl einer Flutungsarchitektur und einer Gruppenadressierung eignet sich Bluetooth Mesh für Anwendungen für das intelligente Heim. So kann sich z. B. ein „EIN“-Befehl eines Schalters in einem Flutungsmaschennetz schnell durch ein intelligentes Beleuchtungsnetzwerk verbreiten. Jeder Knoten empfängt den Befehl und verhält sich dementsprechend. Die Leuchten in der Zielgruppe schalten sich nahezu gleichzeitig ein. Die minimale Latenz in diesem Netzwerk ist weitaus geringer als beispielsweise die Latenz in einem sternförmigen Netzwerk, in dem das zentrale Gerät an jede mit ihm verbundene Leuchte einen einzelnen Befehl übermittelt.
In typischen Anwendungsfällen wird über die Advertising-Kanäle von Bluetooth Low Energy die Anwesenheit eines Bluetooth-Geräts angekündigt und nach weiteren Geräten gesucht, die kommunizieren möchten. Sobald die Geräte miteinander gekoppelt sind, geht die Kommunikation auf einen der 37 Kanäle mit voller Bandbreite über und der Durchsatz erhöht sich.
Bluetooth Mesh verringert dagegen den Aufwand und reduziert die Latenz, indem nach Kopplung nicht auf Kanäle mit voller Bandbreite gewechselt wird, sondern die Übertragung von Informationen weiterhin über die Advertising-Kanäle stattfindet.
Der Nachteil dieser Regelung ist eine geringere Bandbreite des Netzwerks und ein Überlastungsrisiko, da der Datenverkehr über nur drei Frequenzen mit reduziertem Durchsatz abgewickelt wird. Zur Vermeidung einer Überlastung kommen zwei Mechanismen zum Einsatz. Der erste ist ein TTL-Zähler (“Time-To-Live”), der definiert, wie oft ein bestimmtes Paket weitergeleitet werden darf (ein typischer Wert wäre drei Schritte). Der zweite ist ein Paket-Cache, das Pakete aufnimmt, die bereits das gesamte Maschennetz durchlaufen haben. In diesem Fall wird angenommen, dass eine weitere Übertragung nicht erforderlich ist.
Die Entwickler können auch eine optionale Weiterleitungsfunktion zur Erhaltung der Bandbreite einsetzen, bei der Knoten Pakete empfangen können, diese aber nicht weiterleiten. Der Nachteil ist eine geringere Flexibilität.
Bluetooth Mesh: verwendet „Modelle“ anstelle von „Profilen“
Bluetooth Mesh folgt der Architektur der Bluetooth-Technologie durch die Verwendung von GATT-Profilen, mit denen viele Anwendungsfälle eine gemeinsame Informationsstruktur erhalten. Im Stack von Bluetooth Mesh heißen diese Profile allerdings „Modelle“.
Ein Modell stellt ein bestimmtes Verhalten bzw. einen „Dienst“ dar und definiert eine Reihe von Zuständen und Nachrichten, die auf der Grundlage dieser Zustände agieren. Die Standardmodelle decken typische Anwendungsfälle wie Gerätekonfiguration, Sensormessung und Beleuchtungssteuerung ab. Die Hersteller können auch kundenspezifische Modelle erstellen.
Die Modelle sind innerhalb eines Knotens in Elementen angeordnet, die im Maschennetz jeweils als virtuelle Entität mit einer eindeutigen Adresse auftreten. Jede eingehende Nachricht wird von einem Modell in einem Element behandelt (Abbildung 5).
Abbildung 5: Jeder Netzwerkknoten (Maschengerät) umfasst in Elementen angeordnete Modelle. Jedes Element verfügt über eine eindeutige Adresse, und die Modelle innerhalb eines Elements behandeln die eingehenden Nachrichten. (Bildquelle: Nordic Semiconductor)
Modelle kommunizieren über ein „Veröffentlichen und Abonnieren“-System miteinander. Die Veröffentlichung sendet eine Nachricht und für Knoten wird ein Abonnement für Nachrichten konfiguriert, die an bestimmte Adressen zur Weiterverarbeitung gesendet werden.
Der Lichtschalter ganz links in Abbildung 6 (Switch 1, Schalter 1) veröffentlicht für die Adresse der Gruppe „Kitchen (Küche)“. Die Knoten „Light 1 (Leuchte 1)“, „Light 2 (Leuchte 2)“ und „Light 3 (Leuchte 3)“ abonnieren die Adresse von „Kitchen (Küche)“ und erhalten daher für diese Adresse veröffentlichte Nachrichten, verarbeiten diese und handeln dementsprechend (führen beispielsweise „Ein“- oder „Aus“-Befehle aus). Beachten Sie, dass „Light 3 (Lampe 3)“ ebenfalls die Adresse von „Dining Room (Esszimmer)“ abonniert hat und daher sowohl von „Switch 2 (Schalter 2)“ als auch von „Switch 1 (Schalter 1)“ gesteuert werden kann.
Abbildung 6: Modelle kommunizieren über ein „Veröffentlichen und Abonnieren“-System miteinander. Ein Modell kann mehr als einen Veröffentlicher abonnieren. (Bildquelle: Bluetooth SIG)
(Beachten Sie, dass Modelle ein kompliziertes Thema sind. Den Lesern wird empfohlen, zu Einzelheiten, die über den Inhalt dieses Artikels hinausgehen, Referenz 1 zu Rate zu ziehen.)
Entwicklung mit Bluetooth Mesh
Einige Hersteller für Bluetooth Low Energy haben standardkonforme Bluetooth-Mesh-Stacks eingeführt. Da Bluetooth Mesh das etablierte Protokoll von Bluetooth Low Energy ergänzt, sind Entwickler, die von Bluetooth Mesh profitieren möchten, nicht gezwungen, einen ausgereiften und bewährten BLE-Stack durch einen neuen zu ersetzen. Mit der Bluetooth-Mesh-Firmware stehen nun alle Merkmale dieser Technologie für neue und vorhandene Entwicklungen zur Verfügung, ohne dass viel neuer Programmcode geschrieben werden muss.
Nordic Semiconductor hat z. B. kürzlich das nRF5 SDK für Mesh in die Produktlinie seiner Entwicklungskits aufgenommen. Das Software-Entwicklungskit umfasst eine Auswahl von Treibern, Bibliotheken und Beispielen und ist unter mehreren integrierten Entwicklungsumgebungen (IDEs) und Compilern wie CMake und SEGGER Embedded Studio lauffähig.
Der kompilierte Code läuft auf dem Entwicklungskit nRF52 DK, das auf dem Chip nRF52832 des Unternehmens basiert.
In der Nordic-Dokumentation wird die Entwicklung eines Maschennetzwerks mit klaren Anweisungen zur Kompilierung des Mesh-Stacks, zur Bereitstellung des Maschennetzwerks, zum Aufbau des Netzwerks und zur Erstellung von neuen Modellen ausführlich erläutert.
In Abbildung 7 unten wird ein neues Gerät (eine Lampe) mithilfe des nRF5 SDK für Mesh bereitgestellt und konfiguriert. In dieser Abbildung signalisiert die Lampe dem Provisionierer, dass sie ein Netzwerk sucht, dem sie beitreten kann. Der Provisionierer validiert den Beacon der Lampe und fordert sie zum Beitritt zum Netzwerk auf. Wenn die Authentifizierung erfolgreich ist, erhält das Gerät die erforderlichen Schlüssel zum Beitritt zum Netzwerk und zur Vorbereitung der Konfiguration. Dann erhält die Lampe den Anwendungsschlüssel für „home automation (Heimautomatisierung)“. Der Veröffentlichungsstatus des „OnOff Server (EinAusServer)“ (der die Lampe steuert) wird festgelegt und schließlich wird ein Abonnement der „light group (Gruppe Licht)“ hinzugefügt.
Abbildung 7: Bereitstellung und Konfiguration einer Lampe in einem Netzwerk mit dem nRF5 SDK für Mesh von Nordic Semiconductor. (Bildquelle: Nordic Semiconductor)
Silicon Labs bietet mit seinem Bluetooth Starter-Kit EFR32 Blue Gecko ebenfalls Bluetooth Mesh an. Das Unternehmen empfiehlt, drei oder vier dieser Kits zu erwerben, um einen Prototyp eines Maschennetzwerks aufzubauen. Die Kits basieren auf dem Bluetooth-LE-SoC EFR32MG1 des Unternehmens. Neben der Hardware werden ein Bluetooth SDK und ein Bluetooth Mesh SDK benötigt, die von der Website des Unternehmens heruntergeladen werden können.
Zum Loslegen mit der Bluetooth-Mesh-Technologie von Silicon Labs ist die Simplicity Studio IDE erforderlich. Die Entwicklungstools umfassen vorkompilierte Demos, Anwendungshinweise und Beispiele. Für die Bereitstellung, Konfiguration und Steuerung von Bluetooth-Mesh-Knoten von einem Smartphone aus steht eine Android-App zur Verfügung.
STMicroelectronics verfolgt mit einem SDK, der die Entwicklung von vernetzten Geräten auf der Grundlage des Bluetooth-LE-SoCs BlueNRG-2 des Unternehmens ermöglicht, einen ähnlichen Ansatz wie Nordic Semiconductor und Silicon Labs.
Fazit
Mit Bluetooth Mesh sind nun Maschennetzwerke für Bluetooth Low Energy verfügbar, ohne dass für Anwendungen für das intelligente Heim proprietäre Mesh-Firmware erforderlich ist.
Die Technologie wiegt den leicht erhöhten Energieverbrauch und den geringen Flexibilitätsverlust durch Einfachheit auf. Ein wesentlicher Vorteil besteht darin, dass die Technologie nicht nur mit den neuesten Bluetooth-5-Produkten,sondern mit sämtlichen Bluetooth-LE-Chips kompatibel ist
Die Hersteller von Bluetooth-LE-Chips haben begonnen, Software-Entwicklungskits für Bluetooth Mesh herauszubringen, um die ausgereifte Hardware und Protokoll-Firmware zu ergänzen.
Der 2. Teil dieses Artikel behandelt die Integration von Bluetooth Mesh in Bluetooth Low Energy mit verfügbarer Hardware, Firmware und Entwicklungskits detailliert.
Referenz
- „Bluetooth Mesh Networking/An Introduction for Developers (Bluetooth-Mesh-Netzwerke/Eine Einführung für Entwickler)“, Bluetooth SIG, August 2017.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.