IoT Edge-kompatibilis Linux rendszerű virtuális gép üzembe helyezése
Az IoT Edge-konfiguráció teszteléséhez telepítenie kell az IoT Edge-futtatókörnyezetet egy virtuális gépen (VM).
Mielőtt valódi IoT Edge-eszközöket helyez üzembe az áruházaiban, ellenőriznie kell, hogy az eszközök a várt módon fognak-e működni. A forgatókönyv teszteléséhez azt tervezi, hogy üzembe helyezi az IoT Edge-futtatókörnyezetet egy Azure Linux rendszerű virtuális gépen, majd telepíti az IoT Edge-modulokat erre a virtuális gépre.
Itt áttekinthet néhány alapvető IoT Edge-fogalmat, megtudhatja, hogyan csatlakozik egy IoT Edge-eszköz egy IoT Central-alkalmazáshoz, és hogyan helyezi üzembe az IoT Edge-modulokat az IoT Edge-futtatókörnyezetben.
Mi az IoT Edge-futtatókörnyezet?
Az Azure IoT Edge-futtatókörnyezet egyéni és felhőbeli logikák is használatát is lehetővé teszi az IoT Edge-eszközökön. A futtatókörnyezet az IoT Edge-eszközön található, és felügyeleti és kommunikációs műveleteket hajt végre. A futtatókörnyezet:
- Telepíti és frissíti a számítási feladatokat az eszközön.
- Fenntartja Azure IoT Edge biztonsági szabványait az eszközön.
- Biztosítja az IoT Edge-modulok folyamatos futását.
- Jelenti a modulok állapotát a felhőnek a távoli monitorozáshoz.
- Kezeli az alsóbb rétegbeli eszközök és az IoT Edge-eszközök, az IoT Edge-eszközök moduljai, az IoT Edge-eszközök és a felhő, valamint az IoT Edge-eszközök közötti kommunikációt.
Mik azok az IoT Edge-modulok?
Az IoT Edge-modulok olyan végrehajtási egységek, amelyek az üzleti logikát a peremhálózaton futtatják. A modulok Docker-kompatibilis tárolókként vannak implementálva. Több modul konfigurálható úgy, hogy kommunikáljanak egymással, létrehozva egy adatfeldolgozási folyamatot. Kifejleszthet egyedi modulokat, vagy egy modulba csomagolhat bizonyos Azure-szolgáltatásokat is, amelyek elemzéseket nyújtanak offline és a peremhálózaton is. Mivel a modulok Docker-tárolókban futnak, ugyanúgy viselkednek, akár virtuális gépen, akár valós eszközön vannak telepítve.
A következő leckében telepíti az IoT Edge-futtatókörnyezetet, és üzembe helyez egy egyéni modult, amely összegyűjti a környezeti adatokat az IoT Centralnak való küldéshez. Az IoT Central-operátor ezután az alkalmazás irányítópultjai telemetriai adatainak megtekintésével figyelheti az áruházak környezeti feltételeit.
Hogyan csatlakozik egy IoT Edge-eszköz az IoT Centralhoz?
Az IoT Edge-eszközök, mint más eszközök, az IoT Hub Device Provisioning Service (DPS) használatával csatlakoznak az IoT Central-alkalmazáshoz. Az előző leckében, amikor hozzáadott egy eszközt az IoT Central-alkalmazáshoz, feljegyezte a hatókör azonosítóját, az eszközazonosítót és az eszközkulcsot. Ezeket az értékeket hozzáadja az IoT Edge-konfigurációs fájlhoz az IoT Edge-eszközön. A TOML-fájl vonatkozó szakasza a következőhöz hasonlóan néz ki. Az registration_id
eszköz azonosítója:
[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "YOUR_ID_SCOPE"
[provisioning.attestation]
method = "symmetric_key"
registration_id = "YOUR_DEVICE_ID"
symmetric_key = { value = "YOUR_DEVICE_KEY" }
A következő leckében az IoT Edge-eszközhöz használt üzembehelyezési szkript szerkessze a konfigurációs fájlt.
Hogyan helyezi üzembe az IoT Central a modulokat egy IoT Edge-futtatókörnyezetben?
Az előző leckében, amikor létrehozta az eszközsablont a környezeti érzékelőhöz, feltöltött egy üzembehelyezési jegyzékfájlt a sablonba. Amikor az IoT Edge-futtatókörnyezet csatlakozik az IoT Central-alkalmazáshoz, letölti az üzembehelyezési jegyzékfájlt. A futtatókörnyezet az üzembehelyezési jegyzékben szereplő információk alapján határozza meg, hogy mely modulokat telepítse és hogyan konfigurálja. A modulok letölthetők egy tárolóregisztrációs adatbázisból, például az Azure Container Registryből vagy a Docker Hubból.
A használt üzembehelyezési jegyzék telepíti a két szükséges rendszermodult és edgeAgent
edgeHub
egy egyéni SimulatedTemperatureSensor
modult. Ez az egyéni modul környezeti és gépi telemetriát küld az IoT Centralnak, és két tulajdonsága van, a SendData és a SendInterval, amelyekkel egy operátor konfigurálhatja a modult:
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.4",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.4",
"createOptions": "{}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
}
}