Effiziente Over-the-Air-Updates (OTA) für IoT-Geräte: Azure setzt neue Standards in der sicheren Aktualisierung von Software
Die steigende Anzahl von IoT-Geräten bei unseren Kunden und der zunehmende Bedarf an Firmware-Updates über Over-the-Air (OTA) haben uns dazu bewegt, eine nachhaltige sowie sichere Möglichkeit zu evaluieren und umzusetzen, die wir in unseren Kundenprojekten anwenden können. Das hier vorgestellte Konzept basiert auf Microsoft Azure IoT. Dieses ermöglicht uns, für jedes Projekt eine initiale Cloud-Infrastruktur aufzubauen, welche mehrere Anwendungsfälle abdecken kann. So kann zum Beispiel durch die Analyse der Daten die Post-Market Surveillance für ausgerollte Geräte sichergestellt werden. Darüber hinaus können die an die Cloud-Infrastruktur gesendeten Daten im Nachgang durch unterschiedlichste Algorithmen weiterverarbeitet werden.
IoT-Geräte müssen oftmals mit Energie sparsam umgehen und verwenden daher Kommunikationsprotokolle, die möglichst wenig Sendeleistung und Rechenpower benötigen. Viele Geräte verfügen über eine Funktechnologie, die nicht mit dem TCP/IP-Protokoll kompatibel ist, wie zum Beispiel Bluetooth, ZigBee, Thread oder LoRa. Auch solche Geräte sollten über Over-the-Air aktualisiert werden können. Der Einsatz verschiedener Nicht-TCP/IP-Funktechnologien stellt somit eine Herausforderung für Cloud-Lösungen dar.
Die Cloud-Lösung im Überblick
Unsere hier vorgestellte Lösung basiert auf der Azure Cloud Plattform und benötigt vier verschiedene Services, die von Microsoft zur Verfügung gestellt werden. Die Geräte können dabei über verschiedene Funktechnologien (mit oder ohne TCP) mit der Cloud verbunden und aktualisiert werden. Um Nicht-TCP/IP-Funktechnologien abzudecken, wird ein Gateway benötigt, das die gewünschten Pakete in TCP-Pakete umwandelt.
Die grösste Herausforderung besteht darin, den IoT-Mikrocontroller mit der Cloud zu verbinden, da jedes Gerät eine TCP-Implementierung benötigt. Viele Cloud-Provider bieten hierfür ein Real Time Operating System (RTOS) an, welches die Verbindung zur Cloud bereits implementiert hat. So ist FreeRTOS ein sehr beliebtes und weit verbreitetes RTOS, das im Jahr 2017 von Amazon (AWS) aufgekauft wurde und heute alle Bibliotheken für die Anbindung an die Amazon-Cloud mitliefert. Ebenso stellt Microsoft mit Azure RTOS ein weiteres etabliertes RTOS sowie einen Software-Wrapper für FreeRTOS-Geräte zur Verfügung. Somit ist die vorgestellte Lösung sowohl mit FreeRTOS als auch mit Azure RTOS umsetzbar.
Durchführung der Firmware-Updates
Der Betreiber kann das Update über das Azure Portal starten (1). Anschliessend holt sich der Service «Azure Device Update» die gewünschte Firmware-Datei mit der entsprechenden Manifest-Datei (2) aus dem Cloud-Speicher. Die Manifest-Datei enthält wichtige Informationen über die Vorgehensweise, wie das Update auf dem Zielgerät installiert werden soll. Sobald dies erfolgreich war, sendet der Service das entsprechende Update-Kommando über den «Azure IoT Hub» an die jeweiligen Geräte (3). Der Inhalt des Kommandos enthält die URL und die jeweilige JSON Web Signature für den Download der neuen Firmware- sowie Manifest-Datei (4). In der Manifest-Datei ist der Hash-Schlüssel enthalten, mit dem die Echtheit der Firmware-Datei überprüft werden kann. Zum Schluss lädt das jeweilige Gerät die neue Firmware-Datei herunter und führt seine implementierten Over-the-Air-Funktionen aus (5, 6).
Vorteile der Cloud-Lösung
Für sichere und performante Medizinprodukte während ihres gesamten Lifecycles stellen sich einige Herausforderungen:
- Unabhängig von Funktechnologie: Die verwendeten Technologien ermöglichen es, die Cloud-Lösung mit allen verschiedenen Funktechnologien zu erweitern.
- Erweiterbarkeit/Anbindung weiterer Services: Durch den «Infrastructure as Code»-Aufbau kann die Lösung problemlos mit weiteren Services ergänzt werden. Beispielsweise können Microservices für die Anwendung im Bereich QA (Post-Market Surveillance) hinzugefügt werden.
- Nachhaltig und sicher: Mit der Nutzung aktueller Azure Services ist die Lösung auch in den nächsten Jahren noch einsetzbar und wird von Microsoft nach höchsten Sicherheitsstandards kontinuierlich weiterentwickelt.
- Time-to-Market: Durch den Einsatz dieses bewährten Frameworks kann der Fokus voll auf die Funktionalität gelegt werden, wodurch ein schnellerer Markteintritt erzielt werden kann.
- Kosten: Die verwendeten Cloud-Lösungen ermöglichen eine kurzfristige Minimierung und Skalierung der Kosten. Die Kosten werden, je nachdem welcher Service benutzt wird, über die Anzahl Meldungen oder Anzahl Geräte verrechnet. Zusätzlich können monatliche Grundgebühren anfallen. Für die Updates wird eine monatliche Grundgebühr von CHF 65.– erhoben. Für jedes Gerät wird eine zusätzliche Gebühr von CHF 0,064 pro Monat berechnet.
Die erwähnten Vorteile ermöglichen es uns, ohne grössere Mehraufwände auf die Wünsche und Anforderungen unserer Kunden einzugehen und das verwendete Setup passt hervorragend zu unserer agilen Arbeitsweise. Zudem kann unsere Lösung über ein Skript in der Azure-Cloud provisioniert werden, so dass wir für jedes Projekt die initiale Cloud-Infrastruktur einrichten und mit weiteren Services erweitern können.
Möchten auch Sie von der flexiblen und zuverlässigen Azure IoT-Lösung profitieren oder benötigen Sie Unterstützung für Ihre IoT Cloud-Infrastruktur? Dann zögern Sie nicht, uns zu kontaktieren. Wir unterstützen gerne von der Konzipierung über die Entwicklung bis zur Wartung und stehen unseren Kunden als Partner über den gesamten Produktlebenszyklus zur Verfügung.
______________________________________________________________________________
Autor:
Burak Kizilkaya, Embedded Software Engineer
Wir sind für Sie da – senden Sie uns Ihre Anfrage!
gemeinsames entwickeln! Wir setzen Ihre Ideen in die Tat um und begleiten Ihre Vorhaben bis zur Marktreife. Nehmen Sie jetzt Kontakt mit unseren Experten auf.