Installation der Azure IoT Edge Runtime auf Raspberry Pi 3

Wenn wir einen Raspberry Pi mit installierter Docker-Runtime haben, können wir auch die Azre IoT Edge Runtime installieren. Damit machen wir unseren Raspberry Pi zu einem Test-Device für den Azure IoT-Hub.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Installieren der IoT-Edge Runtime Pakete

Die eigentlichen Pakete der IoT-Edge Runtime werden über folgenden Befehl geholt:

sudo pip install -U azure-iot-edge-runtime-ctl

Sollte folgende Fehlermeldung erscheinen

2017-11-19 15_20_15-pi@raspberrypi_ ~

müssen ein paar Zwischenschritte eingefügt werden:

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

2017-11-19 15_21_59-pi@raspberrypi_ ~

und die eigentliche Installation dann mit y bestätigt werden

2017-11-19 15_22_54-pi@raspberrypi_ ~

Um sicherzustellen, dass alle Vorbedingungen erfüllt sind, setzen wir auch noch folgenden Befehl ab:

sudo pip install cryptography

2017-11-19 15_24_25-pi@raspberrypi_ ~

Im Normalfall sollte dieser nicht nötig sein und mit folgender Rückmeldung anzeigen, dass diese Vorbedingung schon installiert ist.

2017-11-19 15_27_06-pi@raspberrypi_ ~

Jetzt starten wir den zweiten Versuch, die Azure IoT Edge Pakete zu installieren, indem wir den folgenden Befehl erneut eingeben:

sudo pip install -U azure-iot-edge-runtime-ctl

2017-11-19 15_28_49-pi@raspberrypi_ ~

Das Laden der Pakete dauert jetzt einige Minuten. Zeit für einen Kaffee oder Tee…

Nach einigen Minuten meldet sich der SSH-Client mit erneuter Eingabeaufforderung.

2017-11-19 15_33_45-pi@raspberrypi_ ~

Schritt 2: Device Informationen aus Azure IoT-Hub eingeben

Dazu müssen wir die Connection-String Informationen des entsprechenden Devices im Azure IoT-Hub zur Verfügung haben. Sollte noch kein Device im Azure IoT-Hub angelegt sein, dies bitte jetzt tun die Connection-String Informationen des Devices notieren. Ich habe eine Anleitung in einem weiteren Blogeintrag zur Verfügung gestellt.

Wenn wir den Device Connection-String zur Verfügung haben, kann dieser in unserem IoT-Edge Device (unser Raspberry Pi) gespeichert werden. Dies geschieht durch folgendes Kommando, das wir per SSH-Client an unseren Raspberry Pi senden.

sudo iotedgectl setup --connection-string "{device connection string}" --auto-cert-gen-force-no-passwords

sudo iotedgectl setup --connection-string "HostName=chp-blog-we.azure-devices.net;DeviceId=blog01;SharedAccessKey=yrNME32CnRp+bF03jtEwWrBCT7nQXo3rgC1vgxUBRok=" --auto-cert-gen-force-no-passwords

2017-11-19 16_13_45-pi@raspberrypi_ ~

Nachdem wir nun auch den Connection-String unserem Device bekannt gemacht haben und dieses jetzt weiß, wohin es senden kann, kommen wir nun zum letzten Schritt.

Schritt 3: Aktivieren des IoT-Edge Devices

Durch den folgenden Befehl wird zum Schluss die IoT-Edge Runtime auf unserem Raspberry Pi gestartet.

sudo iotedgectl start

2017-11-19 16_17_22-pi@raspberrypi_ ~

Der nun startende Vorgang kann wieder ein paar Minuten dauern. Es wird jetzt ein benötigter Standard-Container, der azureiotedge-agent in der Version 1.0-preview geladen.

2017-11-19 16_21_18-pi@raspberrypi_ ~

Nachdem dies fertiggestellt ist können wir uns diesen geladenen Standard-Container ansehen, indem wir folgenden Befehl absetzen:

 sudo docker ps

2017-11-19 16_22_04-pi@raspberrypi_ ~

Im folgenden Bild wird der in der Docker-Runtime gestartete Container azureiotedge:1.0-preview angezeigt.

2017-11-19 16_23_00-pi@raspberrypi_ ~

Somit ist eine Kommunikation zwischen IoT-Edge-Device (Raspberry Pi) und dem IoT-Hub möglich.

Schritt 4: Verifizierung im Azure IoT-Hub

Zurück im Azure Portal, gehen wir in die Konfiguration unseres IoT-Hubs, genauer gesagt in die Device Details unseres IoT-Edge Devices.

2017-11-19 16_27_16-Microsoft Edge

Hier sehen wir, dass unser Device jetzt im Zustand Connected ist.

Somit haben wir eine Verbindung zwischen IoT-Hub in der Azure-Cloud und unserem IoT-Edge-Device (Raspberry Pi) hergestellt. Nun ist es möglich eigene IoT-Edge Module an das Device zu senden.

Referenzen

https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

 

One Reply to “Installation der Azure IoT Edge Runtime auf Raspberry Pi 3”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s