IoT Device Management leicht gemacht?

Um Internet der Dinge (IoT)Geräte zu managen und Daten bequem über einen Webbrowser anzusehen oder zu verwerten, braucht es Lösungen. Antworten dazu liefern die vielen Cloud Provider. Doch wie kommen die Dinge in die Cloud? By drag and drop? Ein Erfahrungsbericht.

Wieso beschäftige ich mich mit IoT Device Management? Kurz gesagt: Ich will nicht immer über die ST-Link USB Schnittstelle meines Macbooks das Board konfigurieren und schon gar nicht über diese Schnittstelle meine Daten auslesen, sondern dies bequem über einen Cloud-Service tun.

Um mir ein Bild über die möglichen Herausforderungen eines Cloud-Device Managements zu machen, starte ich einen Selbstversuch in sieben Schritten:

1) Welches „Ding“ soll ich für den Versuch nehmen?

Es liegen zwei (IoT) Dinge auf meinem Tisch. Ich entscheide mich gegen den AWS Button und für das Microcontroller Board “STM32L4 DISCO-L475VG-IOT01A”. Im IoT-CAS Studium benutzte ich dieses Board bereits und da es einige Sensoren (z.B. Temperatur, Feuchtigkeit, Magnetometer) und Schnittstellen besitzt, eignet es sich gut für diesen Versuch. Zu diesem Zeitpunkt glaube ich noch, dass ich nun nur noch die passende Cloud auswählen muss.

2) Welche Cloud Provider bieten IoT Device Management an?

Nebst AWS und Azure gibt es viele weitere Cloud Plattformen, welche IoT Services anbieten. Ich habe mich für die Arm Mbed Pelion IoT Platform entschieden, da diese gleich auch eine Cloud IDE/Compiler Umgebung beinhaltet. Der Hauptgrund ist jedoch, dass sie mein Microcontroller Board unterstützt.

3) Welche Konnektivität soll genutzt werden?

Diese Entscheidung war relativ einfach. Das Board hat eine Bluetooth- und eine Wi-Fi Schnittstelle. Die Wi-Fi Schnittstelle passt für diesen Zweck perfekt. Die TLS Verschlüsselung wird vom Provider unterstützt inkl. des Generierens der Zertifikate. Somit ist auch das Identity Management und eine Transport-Verschlüsselung vorhanden.

4) Wie funktioniert die Registrierung in der Cloud?

Das Vorgehen, wie man ein IoT Device in der Arm Mbed Cloud registriert, ist gut dokumentiert. Jedoch wird in einem der Vorgehensschritte erklärt, dass ein zusätzlicher Flash-Speicher benötigt wird. Auf meinem Board ist keiner direkt integriert. Es kann aber ein externer Flash Speicher über ein Breakout Board an das Microprocessor Board angeschlossen werden. Gesagt getan, eine MicroSD Karte und ein Adafruit Micro SD Card Breakout Board gekauft.

Die Teile des Breakout-Boards müssen noch zusammengelötet und die Verkabelung auf das Microprocessor Board muss erstellt werden. Also die Lötstation hervor nehmen, löten und sich mit Pin Belegung und Verkabelung auseinandersetzen.

MicroSD Karte / Breakout Board Lötstation und Breakout Board

5) Wieso braucht es Tests und Code Anpassungen?

Bevor ich den nächsten Schritt im Registrierungsprozess starte, will ich nun wissen, ob ich richtig verkabelt und gelötet habe. Mit dem Programm SDFileSystem_HelloWorld lässt sich die Funktion der Lese- und Schreib-Zugriffe auf die MicroSD Karte überprüfen. Die integrierte IDE Umgebung mit vielen Programm-Beispielen hat sich bewährt. Somit sind nun die Voraussetzungen geschaffen.

Anmerkung: Es wäre einfacher gewesen, ein Microprocessor Board mit integrierter SD-Schnittstelle zu benutzen. (zB. NXP FRDM K64F)

Zusätzlich sind die Wi-Fi Parameter (SSID und Passwort) anzupassen. Danach noch die Zertifikate und API Berechtigungen generieren. Zu guter Letzt wird das Binary erstellt und auf das Board kopiert.

6) War dies nun die letzte Hürde?

Leider nein, denn natürlich funktioniert es nicht auf Anhieb. Ein Fehler im Little-File System ist aufgetreten und muss gelöst werden. Nach einigen Stunden Debugging und Foren lesen kommt die grosse Erleichterung. Es ist kein System-Fehler, sondern beim erstmaligen Laden des Binary muss zusätzlich noch der Reset-Button gedrückt werden.

7) Das IoT Device ist registriert und in der Cloud und nun?

Mein IoT Device ist nun in der Arm Mbed Cloud ersichtlich und Daten können über die API Schnittstelle abgefragt werden. Eigentlich beginnt nun die Analyse der Cloud Services wie Renewal von Zertifikaten und Updates. Aber der erste grosse Schritt ist getan.

arm Mbed Pelion Dashboard

Fazit:

Die Registrierung des IoT Devices in die Arm mbed Pelion Platform ginge sicherlich viel einfacher, wenn man ein geeigneteres Board wählen würde. So oder so sind einige IT-Kenntnisse notwendig um diesen Prozess end-to-end zu verstehen. Mit dem Bottom-Up Ansatz ist zwingend nötig, dass man sich mit der Technologie vom Board, mit Kommunikation, Programmierung / Testing, Security und dem Device-Management der entsprechenden Cloud Lösung auseinandersetzt. Um die Unterschiede zu erkennen, lohnt sich ein Vergleich und eine Top-Down Betrachtung. Denn auch die ganz grossen Cloud Anbieter kochen nur mit Wasser.

Weiterführende Links:

Beitrag teilen

Schreibe einen Kommentar