Sollen darüber hinaus die Repeater einen minimalen Stromverbrauch haben, um beispielsweise über lange Zeit batteriebetrieben und wartungsfrei zu arbeiten, dann gibt es keine einfache und etablierte Lösung mehr.
Das ist eine typische, aber auch besonders spannende Herausforderung für das Entwicklungsteam von IK Elektronik.
So begannen wir bereits vor einigen Jahren, verschiedene technische Möglichkeiten für diese Aufgabe am Markt zu recherchieren, zu testen und auch in Form eigener Software-Protokolle umzusetzen. Als erste Lösung entstand unser interner Funkstandard Variomesh als eigenständiger Softwarestack.
Zusätzlich dazu lief die Recherche nach verfügbaren Lösungen für die geschilderte Aufgabe stets weiter. Neben den technisch notwendigen Eigenschaften wurden Kriterien wie Time-to-Market / Entwicklungszeit, Entwicklungskosten, eventuelle Lizenzkosten und die Möglichkeit, das System bei IK Elektronik anzupassen und weiterzuentwickeln, in die Überlegungen einbezogen.
Wachsende Anforderungen, vorrangig aus den Bereichen Smart Home und Smart Metering, bei der Vernetzung von Sensoren und bei der Realisierung von Schnittstellen zur Cloud, führten schließlich zu einer Intensivierung unserer Aktivitäten – und zu einem interessanten Ergebnis!
Die Aufgabe
Für ein konkretes Entwicklungsprojekt stand für IK Elektronik die Aufgabe, eine Vielzahl batteriebetriebener Sensoren in Gebäuden an ein zentrales Kommunikations-Gateway anzubinden. Das Gateway kommuniziert über eine spezielle Funkfrequenz mit den Sensoren und stellt deren Daten via Mobilfunk oder DSL für eine Cloud zur weiteren Bearbeitung zur Verfügung.
Zusätzlich sollten batteriebetriebene Repeater entwickelt werden, welche ebenso die Funksignale der Sensoren empfangen und gleichzeitig als Netzwerkknoten arbeiten. Sie sollten selbständig eine Verbindung mit benachbarten Repeatern und dem Gateway aufbauen und zuverlässig aufrechterhalten. Zentrale Kundenanforderungen dabei waren eine selbständige, automatische Konfiguration des Netzwerks und der Betrieb der Repeater über mehrere Jahre hinweg ohne Batteriewechsel.
Die Aufgabe war hinsichtlich der Elektronik-, Antennen- und Geräteentwicklung anspruchsvoll, aber für die Experten bei IK Elektronik gängiges Handwerk. Erstmalig setzten wir dabei aber als Kernkomponente für die Funkkommunikation zwischen Repeatern und Gateway Contiki-NG (NG: Next Generation) ein.
Diese Wahl ermöglichte es uns nun, innerhalb kurzer Entwicklungszeiten alle gestellten Aufgaben zu realisieren. Individuelle Designziele konnten berücksichtigt werden und optimal in den Entwicklungsverlauf einfließen. Contiki-NG wurde von unseren Ingenieuren für die spezielle Gerätehardware angepasst und in die Software des neuen Systems eingebettet.
Hinter den Kulissen von Contiki-NG
Contiki-NG ist ein frei verfügbares Betriebssystem. Es basiert auf Contiki-OS, das für 8-bit Computer von Adam Dunkels 2003 erstmalig veröffentlicht wurde und seitdem ständig weiterentwickelt wird.
Contiki-NG eignet sich besonders für Anwendungen im Umfeld des IoT (Internet-of-Things), bei denen nur wenig Ressourcen für die Funk-Datenübertragung zur Verfügung stehen. Es beinhaltet bereits viele notwendige Komponenten und Werkzeuge für Funk- und Netzwerk-Kommunikation.
Der aktuelle Versionsstand 4.8 (Juli 2022) und die Dokumentation sind im zugehörigen Github frei verfügbar.
Dank seiner Cross-Plattform-Architektur und geringen Systemanforderungen kann Contiki-NG auf zahlreichen Mikrocontrollern wie ARM Cortex M3 / M4 und Texas Instruments MSP430 eingesetzt werden.
Für die Entwicklung und Herstellung von sehr kompakten Baugruppen und Geräten mit Funkübertragung existieren auf dem Markt hochintegrierte Schaltkreise, bestehend aus HF-Transceiver, Mikrocontroller und weiteren Peripheriekomponenten wie ADCs und Schnittstellentreiber in einem einzigen Bauteil als SoC (System-On-Chip). Beispiele dafür sind die CC13xx/CC26xx SimpleLink™ MCU Serie von Texas Instruments, die einen großen Bereich an Möglichkeiten für die Sub-GHz- und 2,4GHz-Datenkommunikation abdecken, oder auch die Nordic nRF52-Generationen, die sich ebenfalls für 2,4GHz-Anwendungen eignen. Für diese SoCs sind eine Reihe von Beispielen für Applikations-Codes sowie zahlreiche Treiber für hardware-nahe Programmteile veröffentlicht, die als Ausgangspunkt für Contiki-NG verwendet werden können.
Die Funkkommunikation mit Contiki-NG setzt im Kern auf den IEEE 802.15.4 Standard auf, den auch die genannten SoCs mit zahlreichen Funktionen unterstützen.
Beim Einsatz von Contiki-NG sind insbesondere die Eigenschaften der jeweiligen Funkvernetzung flexibel anpassbar. Die Übertragungsparameter können an die Anzahl der Geräte im Funknetzwerk, an die Übertragungsgeschwindigkeit, die Reichweite sowie die Koexistenz mit anderen Funksystemen und die Gegebenheiten des jeweiligen Einsatzorts angepasst werden.
Dabei spielt die Funkfrequenz für das eigentliche Funkprotokoll keine Rolle. Sie kann individuell je nach physikalischen und technischen Gegebenheiten ausgewählt werden. Gebäudedurchdringung, Antennengrößen oder regulatorische Bestimmungen spielen bei der Auswahl eine Rolle. So sind die in Europa üblichen freien 433MHz- oder 868MHz-Frequenzbänder ebenso nutzbar wie das weltweit lizenzfrei einsetzbare 2,4GHz-Band.
Optimiert für wartungsarmen Batteriebetrieb
Um im Batteriebetrieb langjährige Laufzeiten ohne Batteriewechsel zu erreichen, sind bei der Entwicklung besondere Anforderungen zu meistern. Bei der Hardwareentwicklung ist ein geringer Stromverbrauch in der gesamten Schaltung – vor allem auch im Standby-Betrieb – außerordentlich wichtig. In der Software sind kürzest mögliche Abarbeitungszeiten der Programmprozesse, möglichst lange Tiefschlafphasen für die Elektronik und vorhersagbare Systemabläufe die nötigen Grundbausteine für die Zielerreichung.
Contiki-NG verwendet fast ausschließlich kooperatives Multitasking. Das bedeutet, dass mehrere Prozesse gleichzeitig abgearbeitet werden können. Der Übergang zwischen zwei Prozessen (Kontextwechsel) erfordert jedoch die aktive Abgabe der Rechenzeit durch den laufenden Prozess. Anschließend kann über den Scheduler der nächste wartende Prozess weiterarbeiten. Per Design ergibt sich so eine strukturierte, ereignisgesteuerte und sehr energieeffiziente Softwarearchitektur.
Mit dem Contiki-NG-Modul „Energest“ können zusätzlich alle Software-Prozesse hinsichtlich ihrer Laufzeiten analysiert, optimiert und für die Batteriekalkulation herangezogen werden. Zeiten für CPU, Funkkommunikation und Datenübertragung können damit bereits während der Entwicklung gegen die Designziele abgeglichen und angepasst werden.
Parlez-vous IP?
Diese Frage kann für das kleine, vielseitige Betriebssystem Contiki-NG mit einem klaren „Ja“ beantwortet werden. Geräte im Funknetzwerk können über IPv6-Adressierung und UDP-Datenverbindungen angesprochen werden. Dazu wird lediglich ein Border Router benötigt, welcher die Verbindung zwischen den Netzsegmenten, zum Beispiel Contiki-NG-Funknetzwerk und einem Industrial Gateway, herstellt. Darauf aufbauend kann mit COAP ein leichtgewichtiges Übertragungsprotokoll für IoT-Anwendungen zum Einsatz kommen. Je nach Applikation kann in der Anwendungsschicht nun nach Belieben erweitert werden.
Auch ein Gerätemanagement auf Basis von OMASpecworks / LightweightM2M ist nahtlos integrierbar. Für die nötige Sicherheit bei der Funkübertragung sorgt eine AES-Verschlüsselung. Sie kann mit weiteren modernen Transportverschlüsselungsverfahren wie DTLS kombiniert werden. Alle weiteren Teilnehmer im Funknetzwerk werden durch das RPL (routing protocol for lossy and low-power networks) vernetzt.
Der Clou
Für unsere Anwendung war besonders wichtig, dass das Anlernen der Geräte und die Bildung des Netzes mit Contiki-NG automatisch erfolgen. Routen zur optimalen Verbindung zwischen den Repeatern und dem Gateway werden dynamisch gefunden. Das Funknetzwerk konfiguriert sich also selbständig und passt sich auch während des Betriebes stets optimal an die sich ändernden Übertragungsbedingungen an.
Unser Fazit
Dieses Entwicklungsprojekt endete mit der erfolgreichen Bereitstellung eines leistungsfähigen, wartungsarmen und stromsparenden Systems für den Empfang, die Verarbeitung und die Weiterleitung von Funksignalen in Gebäuden. Bei der Entwicklung der Funkelektronik wurden geeignete SoCs eingesetzt. Für die Embedded Software der entstandenen Geräte war Contiki-NG ein wichtiger und zentraler Bestandteil.
Die sehr komplexe Entwicklung konnte in einer kurzen Entwicklungszeit, mit überschaubaren Entwicklungsressourcen und mit nur zwei Musterzyklen erfolgreich beim Kunden vorgestellt werden.