Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
6 Elektronik 06 2021 impulse SoftwareEntwicklung Updates Overthe-Air für Embedded IoT-Geräte Die Software von IoT-Geräten ist oftmals noch mit versteckten Fehlern behaftet Mit OvertheAir-Updates ergeben sich jedoch Möglichkeiten für Entwickler Bugs frühzeitig zu eliminieren Von Dr Johan Kraft Overthe-Air OTA -Updates sind einfach auszuführen Download und Installation erfolgen oft unbemerkt im Hintergrund Zusammen mit Software-Tracing lassen sich mit OTA-Updates Qualität und Zuverlässigkeit von Embedded-IoT-Systemen verbessern Denn trotz aller Mühen der Entwickler weisen die Systeme oft noch Bugs auf Beim Programmieren entstehen pro 1 000 Codezeilen durchschnittlich 120 Bugs wovon ungefähr fünf Prozent also etwa sechs Bugs pro 1 000 Codezeilen bis zum Ausliefern nicht behoben werden Entwickler sollten sich aber nicht darauf verlassen dass Anwender die Fehler melden Zumal Benutzerantworten meist eher vage sind und kaum zum Beheben beitragen Noch schwerer wiegen die Fakten wenn es nicht um Tausende sondern um Millionen von Geräten geht Außerdem treten die unentdeckten Bugs meist nicht sofort auf sondern bereiten lediglich unter ganz bestimmten Bedingungen Probleme Andernfalls hätten Entwickler sie bereits vor dem Ausliefern der Produkte gefunden Mit einem OTA-Update lässt sich zwar das Problem im Feld lösen jedoch benötigen Entwickler zusätzlich eine Art Rückmeldesystem um überhaupt von Fehlern in den ausgelieferten Produkten zu erfahren und das möglichst zügig Beim Entwickeln von Mobileund Cloud-Anwendungen ist die Vorgehensweise schon längst Standard DevOps ab sofort kommt sie ebenso für die Embedded-Entwicklung in Betracht Effizienz des Codes entscheidend Entscheidend für das Aufdecken und Lösen von Fehlern ist ein Zusammenspiel zwischen Software-Tracing Cloud-Management und OTA-Updates In einem System das ohnehin von Ressourcenverknappung geprägt ist muss der Tracing-Code möglichst effizient sein Einerseits muss die Cloud sicher und transparent angebunden sein andererseits sind die richtigen Daten zu übertragen So können Entwickler Fehler schnell und einfach beheben Der Cloud-Dienst muss also zunächst feststellen welche Bugs neu und relevant sind und die Entwickler anschließend darüber informieren Ist das geschehen gilt es die aktualisierte Software per OTA-Update an alle Geräte zu verteilen Seinen Anfang nimmt der Informationsfluss im Fehlerbehandlungscode des IoT-Geräts beispielsweise in den bereits existierenden Sanity Checks und Fault Exception Handlern Mithilfe eines Softwareagenten werden Firmware-Probleme als Warnung in den Cloud-Account eines Kunden hochgeladen Ein solcher Alert kann neben der eigentlichen Fehlermeldung ebenso Zusatzinformationen umfassen die für das betreffende Problem relevant sind zum Beispiel Softwarezustandsvariablen und Inhalte von Hardwareregistern Abhängig davon wie gravierend der Fehler ist wird der Alert entweder sofort oder nach einem Neustart des Geräts hochgeladen sobald die Verbindung zur Cloud wiederhergestellt ist Bild Bestandteil der Warnung kann ebenso ein automatisch aufgezeichneter Trace der jüngsten Softwareereignisse im Gerät sein Hierin sind Bild Sobald die Verbindung zur Cloud hergestellt ist wird der Alarm entweder sofort oder nach Neustart des Geräts hochgeladen abhängig davon wie gravierend der Fehler ist Bild Percepio