Übung: Konfigurieren von IoT Edge für ein IoT Hub

Abgeschlossen

Verwenden von Azure Cloud Shell

Starten Sie Azure Cloud Shell im oberen Navigationsbereich des Azure-Portals.

An illustration is showing how to open Azure Cloud Shell.

Sie müssen die Azure IoT-Erweiterung für Azure CLI mit dem folgenden Befehl installieren. Diese Erweiterung verwaltet Azure-Ressourcen wie IoT Hub.

az extension add --name azure-iot

Hinweis

In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacy-Version heißt azure-cli-iot-ext. Es sollte jedoch jeweils nur eine Version installiert sein. Verwenden Sie az extension list, um die installierten Erweiterungen anzuzeigen.

Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

Erstellen einer Ressourcengruppe

Erstellen Sie mit dem folgenden Befehl eine Ressourcengruppe in der Region „eastus2“. Benennen Sie Ihre Ressourcengruppe.

az group create --name <resource-group> --location eastus2

Erstellen eines IoT-Hubs

Mit dem folgenden Code wird ein kostenloser F1-Hub in der Ressourcengruppe erstellt. Ersetzen Sie „{hub_name}“ durch einen eindeutigen Namen für Ihren IoT-Hub und <resource-group> durch den Namen Ihrer Ressourcengruppe.

az iot hub create --resource-group <resource-group> --name {hub_name} --sku F1 --partition-count 2

Registrieren eines IoT Edge-Geräts für den IoT-Hub

Erstellen Sie eine Geräteidentität für Ihr IoT Edge-Gerät.

Da sich IoT-Edge-Geräte anders verhalten und anders verwaltet werden können als typische IoT-Geräte, deklarieren Sie diese Identität für ein IoT-Edge-Gerät mit dem Flag --edge-enabled.

Hinweis

Wenn Sie eine Fehlermeldung erhalten, da bereits ein kostenloser Hub in Ihrem Abonnement vorhanden ist, ändern Sie die SKU auf S1. Jedes Abonnement kann nur über einen kostenlosen IoT Hub verfügen. Sollten Sie eine Fehlermeldung mit dem Hinweis erhalten, dass der IoT-Hub-Name nicht verfügbar ist, ist bereits ein Hub mit diesem Namen vorhanden.

Geben Sie in Azure Cloud Shell den folgenden Befehl ein, um ein Gerät namens „myEdgeDevice“ in Ihrem Hub zu erstellen.

az iot hub device-identity create --hub-name {hub_name} --device-id myEdgeDevice --edge-enabled

Abrufen der Verbindungszeichenfolge für Ihr Gerät

Verwenden Sie den folgenden Befehl, um die Verbindungszeichenfolge für Ihr Gerät abzurufen, die Ihr physisches Gerät mit seiner Identität in IoT Hub verknüpft.

az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name} --output table

Die resultierende Ausgabe sollte in etwa wie folgt aussehen:

HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

Kopieren Sie den Wert des Schlüssels connectionString aus der JSON-Ausgabe, und speichern Sie ihn. Dieser Wert ist die Geräte-Verbindungszeichenfolge. Sie verwenden sie im nächsten Abschnitt zum Konfigurieren der IoT Edge-Runtime.

Bereitstellen des IoT Edge-Geräts

Verwenden Sie den folgenden CLI-Befehl, um Ihr IoT Edge-Gerät basierend auf der vordefinierten Vorlage iotedge-vm-deploy zu erstellen. Kopieren Sie den folgenden Befehl in einen Text-Editor, ersetzen Sie den Platzhaltertext durch Ihre Informationen, und kopieren Sie ihn dann in Ihr Bash- bzw. Cloud Shell-Fenster:

az deployment group create \
--resource-group IoTEdgeResources \
--template-uri "https://aka.ms/iotedge-vm-deploy" \
--parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
--parameters adminUsername='azureuser' \
--parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name
<REPLACE_WITH_HUB_NAME> -o tsv) \
--parameters authenticationType='password' \
--parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"

Stellen Sie sicher, dass Ihr Kennwort (adminPasswordOrKey) mindestens zwölf Zeichen lang ist und drei von vier der folgenden Zeichenarten abdeckt: Kleinbuchstaben, Großbuchstaben, Ziffern und Sonderzeichen.

Das Erstellen und Starten der neuen VM kann ein paar Minuten in Anspruch nehmen. Nach Abschluss der Bereitstellung sollten Sie in der CLI eine Ausgabe im JSON-Format erhalten, die die SSH-Informationen zum Herstellen der Verbindung mit dem virtuellen Computer enthält. Kopieren Sie den Wert des Eintrags Öffentlicher SSH-Schlüssel im Abschnitt outputs.

Wichtig

Das IoT Edge-Spracherkennungsmodul erfordert, dass Ihre virtuelle Maschine über mindestens 8 GB Arbeitsspeicher und 16 GB Festplattenspeicher verfügt. Das Modul schlägt fehl, wenn Sie die in der Bereitstellungsvorlage definierte Standard-VM-Größe verwenden. Ändern Sie die Größe Ihrer VM auf mindestens die Größe D2s_v3. Informationen zum Ändern der Größe virtueller Maschinen finden Sie unter Ändern der Größe einer VM. Weitere Informationen zum Erweitern des Datenträgerspeichers finden Sie unter So erweitern Sie virtuelle Festplatten, die an eine Windows-VM angeschlossen sind.

Anzeigen des Status der IoT Edge-Runtime

Verwenden Sie den folgenden Befehl, um eine Verbindung mit Ihrer VM herzustellen. Ersetzen Sie azureuser, wenn Sie einen anderen als den bei der Bereitstellung der VM vorgeschlagenen Benutzernamen verwendet haben. Ersetzen Sie {DNS name} durch den DNS-Namen Ihres Computers.

ssh {admin username}@{DNS name}

So finden Sie Ihren DNS-Namen:

  1. Navigieren Sie zur erstellten Ressourcengruppe.
  2. Wählen Sie die VM-Ressource.
  3. Auf der Seite Übersicht wird Ihr DNS-Name angezeigt.

Überprüfen der Konfiguration des IoT Edge-Geräts

Überprüfen Sie mithilfe von iotedge-Befehlen, ob der Daemon für die IoT Edge-Sicherheit als Systemdienst ausgeführt wird. Sie benötigen erhöhte Rechte, um iotedge-Befehle auszuführen.

Wichtig

Sie benötigen erhöhte Rechte, um iotedge-Befehle auszuführen.

Führen Sie die folgenden Befehle aus, um den Status des IoT Edge-Geräts zu überprüfen:

sudo systemctl status iotedge

Die resultierende Ausgabe sollte in etwa wie folgt aussehen:

An illustration is showing status of Azure IoT Edge Deamon.

Ihr IoT Edge-Gerät ist jetzt konfiguriert. Es kann nun zum Ausführen von in der Cloud bereitgestellten Modulen verwendet werden.

Sollte eine Problembehandlung für den Dienst erforderlich sein, rufen Sie die Dienstprotokolle ab.

journalctl -u iotedge

Zeigen Sie alle Module an, die auf Ihrem IoT Edge-Gerät ausgeführt werden. Da der Dienst gerade zum ersten Mal gestartet wurde, sollte nur das Modul edgeAgent ausgeführt werden. Das Modul edgeAgent wird standardmäßig ausgeführt und unterstützt Sie beim Installieren und Starten von zusätzlichen Modulen, die Sie auf Ihrem Gerät bereitstellen.

sudo iotedge list