Gyakorlat – Az IoT Hub és IoT Edge közötti kommunikáció beállítása
Ez a gyakorlat az Azure CLI-t használja az Azure Cloud Shellben a szükséges parancsok kiadásához.
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-iot
verzió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:
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
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:
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:
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