Øvelse – Konfigurer kommunikation mellem IoT Hub og IoT Edge

Fuldført

I denne øvelse bruges Azure CLI i Azure Cloud Shell til at køre de påkrævede kommandoer.

Skærmbillede, der viser, hvordan du opretter forbindelse til Azure Cloud Shell.

Installér Azure IoT-udvidelse

Føj Azure IoT-udvidelsen til Cloud Shell-forekomsten azure-kommandolinjegrænsefladen.

az extension add --name azure-iot

Seddel

I denne artikel bruges den nyeste version af Azure IoT-udvidelsen kaldet azure-iot. Den ældre version kaldes azure-cli-iot-ext. Du bør kun have én version installeret ad gangen. Kør for at kontrollere, az extension listhvilke udvidelser der er installeret.

Kør az extension remove --name azure-cli-iot-ext for at fjerne den ældre version af udvidelsen.

Kør az extension add --name azure-iot for at tilføje den nye version af udvidelsen.

Opret en ressourcegruppe

Opret en ressourcegruppe med navnet "IoTEdgeResources" ved at køre følgende kommando:

az group create --name IoTEdgeResources --location eastus2

Outputtet ligner følgende:

Skærmbillede af oprettelsen af en ressourcegruppe.

Opret en IoT-hub

Følgende kode opretter en gratis F1-niveauhub i ressourcegruppen "IoTEdgeResources". Erstat {hub_name} med et entydigt navn til din IoT-hub.

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

Seddel

Hvis du får vist en fejl, fordi der allerede er én gratis hub i dit abonnement, skal du ændre SKU'en til S1. Hvert abonnement kan kun have én gratis IoT-hub. Hvis du får vist en fejl om, at IoT-hubnavnet ikke er tilgængeligt, betyder det, at en anden allerede har en hub med dette navn.

Registrer en IoT Edge-enhed

I Azure Cloud Shell skal du følge disse trin for at oprette en enhed med navnet "myEdgeDevice" i din hub.

Opret en enhedsidentitet

IoT Edge-enheder fungerer og administreres anderledes end almindelige IoT-enheder. Brug flaget --edge-enabled til at deklarere denne identitet som en IoT Edge-enhed.

Vigtig

Hvis du får vist en fejl om "iothubowner policy keys", skal du sikre dig, at din Cloud Shell kører den nyeste version af azure-iot udvidelsen.

Følgende kommando opretter enhedsidentiteten:

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

En illustration viser, at der oprettes enhedsidentitet.

Hent forbindelsesstrengen

Hvis du vil hente forbindelsesstrengen for din enhed, som forbinder din fysiske enhed med dens identitet i IoT Hub, skal du bruge denne kommando:

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

Outputtet ligner følgende:

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

Kopiér værdien af nøglen connectionString fra JSON-outputtet, og gem den. Denne værdi er enhedsforbindelsesstrengen, som bruges til at konfigurere IoT Edge-kørsel i næste afsnit.

Udrul IoT Edge-enheden

Brug denne CLI-kommando til at oprette din IoT Edge-enhed baseret på den færdigbyggede skabelon til iotedge-vm-deploy . Kopiér kommandoen til en teksteditor, erstat pladsholderteksten med dine oplysninger, og indsæt den derefter i dit bash- eller Cloud Shell-vindue:

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>"

Sørg for, at adgangskoden (adminPasswordOrKey) er mindst 12 tegn lang og indeholder tre af følgende: små bogstaver, store bogstaver, cifre og specialtegn.

Det kan tage et par minutter at oprette og starte den nye virtuelle maskine. Når installationen er fuldført, modtager du JSON-formateret output i kommandolinjegrænsefladen, der indeholder SSH-oplysningerne for at oprette forbindelse til den virtuelle maskine. Kopiér værdien af den offentlige SSH-posti outputafsnittet :

Skærmbillede, der viser den offentlige SSH.

Få vist kørselsstatus for IoT Edge

Brug denne kommando til at oprette forbindelse til den virtuelle maskine. Erstat azureuser , hvis du brugte et andet brugernavn under vm-installationen. Erstat <DNS-name> med computerens DNS-navn.

ssh <admin-username>@<DNS-name>

Kontrollér, om IoT Edge-enheden er konfigureret

Hvis du vil kontrollere, at IoT Edge-sikkerheds-daemon kører som en systemtjeneste, skal du bruge iotedge kommandoer.

Vigtig

Du skal have administratorrettigheder for at køre iotedge kommandoer.

Kør følgende kommando for at kontrollere status for IoT Edge-enheden:

sudo systemctl status iotedge

Det resulterende output skal ligne dette:

Skærmbillede, der viser status for Azure IoT Edge-daemon.

Skærmbillede, der viser listen over moduler, der kører på den virtuelle enhed.

Din IoT Edge-enhed er nu konfigureret. Den er klar til at køre cloududrullede moduler.

Hent tjenestelogfilerne for at foretage fejlfinding af tjenesten.

journalctl -u iotedge

Få vist alle de moduler, der kører på din IoT Edge-enhed. Da tjenesten lige er startet for første gang, er det kun edgeAgent-modulet , der kører. EdgeAgent-modulet kører som standard og hjælper med at installere og starte yderligere moduler, som du installerer på din enhed.

sudo iotedge list