Übung: Konfigurieren von IoT Edge für ein IoT Hub
Verwenden von Azure Cloud Shell
Starten Sie Azure Cloud Shell im oberen Navigationsbereich des Azure-Portals.
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:
- Navigieren Sie zur erstellten Ressourcengruppe.
- Wählen Sie die VM-Ressource.
- 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:
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