Gyakorlat – Az IoT Hub és IoT Edge közötti kommunikáció beállítása

Befejeződött

Ez a gyakorlat az Azure CLI-t használja az Azure Cloud Shellben a szükséges parancsok kiadásához.

An illustration is showing how to connect azure Cloud Shell.

Az Azure IoT-bővítmény telepítése

Az Azure IoT-bővítményt hozzá kell adnia az Azure CLI Cloud Shell-példányához is.

az extension add --name azure-iot

Megjegyzés:

Ez a cikk az Azure IoT-bővítmény legújabb, úgynevezett azure-iotverzióját használja. Az örökölt verzió neve azure-cli-iot-ext. Egyszerre csak egy verziót kell telepítenie. A telepített bővítmények megtekintéséhez használja a parancsot az extension list.

A bővítmény régi verziójának eltávolítására használható az extension remove --name azure-cli-iot-ext .

A bővítmény új verziójának hozzáadására használható az extension add --name azure-iot .

Erőforráscsoport létrehozása

Hozzon létre egy „IoTEdgeResources” erőforráscsoport az alábbi paranccsal:

az group create --name IoTEdgeResources --location eastus2

Az eredményül kapott kimenetnek az alábbihoz hasonlónak kell lennie:

An illustration showing the creation of a resource group.

IoT Hub létrehozása

Az alábbi kód egy ingyenes F1 szintű központot hoz létre az "IoTEdgeResources" erőforráscsoportban. A {hub_name} szöveg helyére írjon be egy egyedi nevet az IoT Hubnak.

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

Megjegyzés:

Ha hibaüzenetet kap, mert az előfizetése már tartalmaz egy ingyenes központot, akkor módosítsa az SKU-t S1-re. Mindegyik előfizetés csak egy ingyenes IoT-központtal rendelkezhet. Ha hibaüzenet jelenik meg, hogy az IoT Hub neve nem érhető el, az azt jelenti, hogy valaki más már rendelkezik ezzel a névvel.

IoT Edge-eszköz regisztrálása

Az Azure Cloud Shellben a következő utasításokat követve hozza létre a „myEdgeDevice” nevű eszközt a központjában.

Eszközazonosító létrehozása

Mivel az IoT Edge-eszközök másként viselkednek, mint a hagyományos IoT-eszközök, és kezelésük is másként történik, ezért ezt az identitást IoT Edge-eszközként kell deklarálnia az --edge-enabled jelölővel.

Fontos

Ha hibajelzést kap az „iothubowner” szabályzatkulcsokról, ellenőrizze, hogy a Cloud Shell az azure-iot bővítmény legújabb verzióját futtatja-e.

Az alábbi parancs létrehozza az eszközazonosítót:

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

An illustration is showing that creating device identity.

A kapcsolati sztring lekérése

Ha szeretné lekérni a fizikai eszközt az IoT Hubban tárolt identitásával összekötő kapcsolati sztringet az eszközhöz, használja a parancsot:

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

Az eredményül kapott kimenetnek az alábbihoz hasonlónak kell lennie:

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

Másolja le a connectionString kulcs értékét a JSON-kimenetből, és mentse. Ez az érték az eszköz kapcsolati sztringje. Erre a következő szakaszban, az IoT Edge-futtatókörnyezet konfigurálásához lesz szükség.

Az IoT Edge-eszköz üzembe helyezése

Az IoT Edge-eszközt az alábbi CLI-paranccsal hozhatja létre az előre összeállított iotedge-vm-deploy sablon alapján. Másolja a következő parancsot egy szövegszerkesztőbe, cserélje le a helyőrző szöveget az adataira, majd másolja a bash vagy a Cloud Shell ablakba:

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

Győződjön meg arról, hogy a jelszónak (adminPasswordOrKey) legalább 12 karakter hosszúnak kell lennie, és a következők közül háromnak kell lennie: kisbetűk, nagybetűk, számjegyek és speciális karakterek.

Az új virtuális gép létrehozása és elindítása néhány percet is igénybe vehet. Az üzembe helyezés befejezése után JSON formátumú kimenetet kell kapnia a parancssori felületen, amely tartalmazza a virtuális géphez való csatlakozáshoz szükséges SSH-adatokat. Másolja ki a kimenetek szakasz nyilvános SSH-bejegyzésénekértékét:

An illustration is showing the public ssh.

Az IoT Edge-futtatókörnyezet állapotának megtekintése

Használja a következő parancsot a virtuális géphez való csatlakozásra. Cserélje le azureuser , ha a virtuális gép üzembe helyezése során javasolttól eltérő felhasználónevet használt. Cserélje le {DNS name} a gép DNS-nevére.

ssh {admin username}@{DNS name}

Annak ellenőrzése, hogy az IoT Edge-eszköz konfigurálva van-e

Az iotedge paranccsal ellenőrizheti, hogy az IoT Edge biztonsági démonja rendszerszolgáltatásként fut-e.

Fontos

Az iotedge-parancsok futtatásához megemelt jogosultsági szint szükséges.

Futtassa az alábbi parancsokat az IoT Edge-eszköz állapotának teszteléséhez:

sudo systemctl status iotedge

Az eredményül kapott kimenetnek az alábbihoz hasonlónak kell lennie:

An illustration is showing status of Azure IoT Edge Deamon.

An illustration is showing the list of modules running on the virtual device.

Ezzel konfigurálta az IoT Edge-eszközt. Az eszköz készen áll a felhőben üzembe helyezett modulok futtatására.

Ha hibaelhárításra van szükség, kérje le a szolgáltatás naplóit.

journalctl -u iotedge

Tekintse meg az IoT Edge-eszközön futó összes modult. Mivel első alkalommal indította el ezt a szolgáltatást, csak az edgeAgent modulnak szabad futnia. Az edgeAgent modul alapértelmezés szerint fut, és segít az eszközön üzembe helyezendő további modulok telepítésében és elindításában.

sudo iotedge list