Megosztás a következőn keresztül:


Eszközfrissítés IoT Hub és IoT-Plug and Play

A IoT Hub eszközfrissítése az IoT Plug and Play használatával deríti fel és kezeli azokat az eszközöket, amelyek a levegőn túli frissítésre képesek. Az Eszközfrissítés szolgáltatás tulajdonságokat és üzeneteket küld és fogad az eszközökről IoT-Plug and Play interfészek használatával. A IoT Hub eszközfrissítéséhez IoT-eszközökre van szükség a következő interfészek és modellazonosítók implementálásához.

További információk:

Eszközfrissítési alapfelület

A DeviceUpdateCore felület a frissítési műveletek és a metaadatok eszközökre való küldésére és az eszközök frissítési állapotának fogadására szolgál. A DeviceUpdateCore felület két objektumtulajdonságra van felosztva.

A modellben a várt összetevő neve "deviceUpdate" , amikor ez a felület implementálva van. További információ az Azure IoT Plug and Play összetevőiről.

Ügynök metaadatai

Az Eszközfrissítési ügynök ügynök metaadatmezőivel adatokat küld az Eszközfrissítési szolgáltatásoknak.

Name Séma Irány Leírás Példa
deviceProperties Térkép eszközről felhőre A gyártó, a modell és az egyéb eszközinformációkat tartalmazó tulajdonságok halmaza. A részletekért lásd: Eszköztulajdonságok szakasz.
compatPropertyNames Sztring (vesszővel elválasztva) eszközről felhőre Az eszköz jelentett tulajdonságokat, amelyek az eszköz kompatibilitásának ellenőrzésére szolgálnak a frissítés központi telepítésének megcélzásához. Legfeljebb öt eszköztulajdonság lehet. "compatPropertyNames": "manufacturer,model"
lastInstallResult Térkép eszközről felhőre Az ügynök által jelentett eredmény. Tartalmazza az eredménykódot, a kiterjesztett eredménykódot, valamint a fő frissítés és más lépésfrissítések eredményadatait.
resultCode egész szám eszközről felhőre Egy kód, amely az utolsó frissítési művelet eredményével kapcsolatos információkat tartalmazza. A kitöltés sikeres vagy sikertelen. 700
extendedResultCode egész szám eszközről felhőre Egy kód, amely további információkat tartalmaz az eredményről. A kitöltés sikeres vagy sikertelen. 0x80004005
resultDetails sztring eszközről felhőre Ügyfél által definiált ingyenes űrlapsztring további eredményadatok megadásához. Visszakerült az ikerpéldányhoz elemzés nélkül
stepResults map eszközről felhőre Az ügynök által jelentett eredmény, amely tartalmazza az eredménykódot, a kiterjesztett eredménykódot és a lépésfrissítések eredményadatait. "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""}
állapot egész szám eszközről felhőre Egész szám, amely az Eszközfrissítési ügynök aktuális állapotát jelzi. A részletekért lásd az Állapot szakaszt.
munkafolyamat Összetett eszközről felhőre Értékkészlet, amely jelzi, hogy az ügynök jelenleg melyik üzemelő példányon dolgozik, az aktuális üzembe helyezés azonosítója, valamint a szolgáltatástól az ügynöknek küldött újrapróbálkozási kérések nyugtázása. "workflow": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"}
installedUpdateId sztring eszközről felhőre A jelenleg telepített frissítés azonosítója (eszközfrissítésen keresztül). Ez az érték egy sztring, amely rögzíti a JSON frissítésazonosítót vagy null értéket egy olyan eszközhöz, amely soha nem végzett frissítést az Eszközfrissítésen keresztül. installedUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}"

Eszköztulajdonságok

A deviceProperties mező tartalmazza az eszköz gyártói és modelladatait.

Name Séma Irány Description
gyártó sztring eszközről felhőre Az eszköz gyártója, amely a következőn keresztül devicePropertiesjelentve: . Ezt a tulajdonságot két helyről olvassa be a rendszer – először a DeviceUpdateCore felület megpróbálja beolvasni a "aduc_manufacturer" értéket a konfigurációs fájlból. Ha az érték nincs kitöltve a konfigurációs fájlban, alapértelmezés szerint a ADUC_DEVICEPROPERTIES_MANUFACTURER fordítási idő definícióját jelenti. Ez a tulajdonság csak indításkor lesz jelentve.

Alapértelmezett érték: "Contoso".
modell sztring eszközről felhőre Az eszköz eszközmodellje, amely a következőn keresztül devicePropertiesjelentve: . Ezt a tulajdonságot két helyről olvassa be a rendszer – először a DeviceUpdateCore felület megpróbálja beolvasni a konfigurációs fájl "aduc_model" értékét. Ha az érték nincs kitöltve a konfigurációs fájlban, alapértelmezés szerint a ADUC_DEVICEPROPERTIES_MODEL fordítási idő definícióját jelenti. Ez a tulajdonság csak indításkor lesz jelentve.

Alapértelmezett érték: "Videó"
interfaceId sztring eszközről felhőre A szolgáltatás ezt a tulajdonságot használja az eszközfrissítési ügynök által használt felületi verzió azonosítására. Az eszközfrissítési szolgáltatásnak szüksége van a felület azonosítójára az ügynök kezeléséhez és az ügynökkel való kommunikációhoz.

Alapértelmezett érték: "dtmi:azure:iot:deviceUpdate;1" a DU-ügynök 0.8.0-s verzióját használó eszközökhöz.
aduVer sztring eszközről felhőre Az eszközön futó Eszközfrissítési ügynök verziója. Ezt az értéket csak akkor olvassa be a rendszer a buildből, ha ENABLE_ADU_TELEMETRY_REPORTING a fordítási idő alatt 1 (igaz) értékre van állítva. Az ügyfelek dönthetnek úgy, hogy letiltják a verziójelentést a 0 (hamis) értékre állításával. Eszközfrissítési ügynök tulajdonságainak testreszabása.
Dover sztring eszközről felhőre Az eszközön futó kézbesítésoptimalizálási ügynök verziója. A rendszer csak akkor olvassa be az értéket a buildből, ha ENABLE_ADU_TELEMETRY_REPORTING a fordítási idő alatt 1 (igaz) értékre van állítva. Az ügyfelek dönthetnek úgy, hogy kikapcsolják a verziójelentést a 0 (hamis) értékre állításával. A kézbesítésoptimalizálási ügynök tulajdonságainak testreszabása.
Egyéni kompatibilitási tulajdonságok Felhasználó által definiált eszközről felhőre A implementátor definiálhat más eszköztulajdonságokat is a kompatibilitás-ellenőrzéshez a frissítés üzembe helyezése során.

IoT Hub ikereszköz-példa:

"deviceUpdate": {
                "__t": "c",
                "agent": {
                    "deviceProperties": {
                        "manufacturer": "contoso",
                        "model": "virtual-vacuum-v1",
                        "interfaceId": "dtmi:azure:iot:deviceUpdateModel;1",
                        "aduVer": "DU;agent/0.8.0-rc1-public-preview",
                        "doVer": "DU;lib/v0.6.0+20211001.174458.c8c4051,DU;agent/v0.6.0+20211001.174418.c8c4051"
                    },
                    "compatPropertyNames": "manufacturer,model",
                    "lastInstallResult": {
                        "resultCode": 700,
                        "extendedResultCode": 0,
                        "resultDetails": "",
                        "stepResults": {
                            "step_0": {
                                "resultCode": 700,
                                "extendedResultCode": 0,
                                "resultDetails": ""
                            }
                        }
                    },
                    "state": 0,
                    "workflow": {
                        "action": 3,
                        "id": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01",
                        "retryTimestamp": "2022-01-26T11:33:29.9680598Z"
                    },
                    "installedUpdateId": "{\"provider\":\"Contoso\",\"name\":\"Virtual-Vacuum\",\"version\":\"5.0\"}"
                },

Megjegyzés

Az eszköznek vagy modulnak hozzá kell adnia a {"__t": "c"} jelölőt, hogy jelezze, hogy az elem egy összetevőre hivatkozik. További információ: IoT Plug and Play konvenciók.

Állapot

Az Állapot mező az eszközfrissítési ügynök által jelentett állapot, miután műveletet kapott az Eszközfrissítési szolgáltatástól. Az állapot az eszközfrissítési szolgáltatás eszközfrissítési ügynökének küldött műveletre (a részletekért lásd a Művelet szakaszt ) válaszul jelent. Az Eszközfrissítési szolgáltatás és az Eszközfrissítési ügynök közötti kérelmekről az áttekintési munkafolyamatban talál további információt.

Name Érték Leírás
Tétlen 0 Az eszköz készen áll arra, hogy műveletet kapjon az Eszközfrissítés szolgáltatástól. A sikeres frissítés után az állapot visszakerül az Idle állapotba.
DeploymentInprogress 6 Az üzembe helyezés folyamatban van.
Sikertelen 255 Hiba történt a frissítés során.
DownloadSucceeded 2 Sikeres letöltés. Ezt az állapotot csak a 0.7.0-s vagy régebbi ügynökverziójú eszközök jelentik.
InstallSucceeded 4 Sikeres telepítés. Ezt az állapotot csak a 0.7.0-s vagy régebbi ügynökverziójú eszközök jelentik.

Szolgáltatás metaadatai

A szolgáltatás metaadatai olyan mezőket tartalmaznak, amelyeket az Eszközfrissítési szolgáltatások a műveletek és adatok eszközfrissítési ügynökkel való kommunikációjára használnak.

Name Séma Irány Description
action egész szám felhőből eszközre Az ügynök által végrehajtandó műveletnek megfelelő egész szám. A részletekért lásd a Művelet szakaszt.
updateManifest sztring felhőből eszközre A frissítés tartalmának leírására szolgál. Az Importálási jegyzékfájlból jön létre.
updateManifestSignature JSON-objektum felhőből eszközre JSON-web aláírás (JWS) a forrásellenőrzéshez használt JSON-webkulcsokkal.
Fileurls Térkép felhőből eszközre Térkép a FileID -hez DownloadUrl. Megadja az ügynöknek, hogy mely fájlokat töltse le, és a kivonatot, amellyel ellenőrizheti, hogy a fájlok megfelelően lettek-e letöltve.

Művelet

A műveletmező az Eszközfrissítési ügynök által az Eszközfrissítés szolgáltatás utasítása szerint végrehajtott műveleteket jelöli. Az Eszközfrissítési ügynök a kapott művelet feldolgozásának állapotát jelenti. Az Eszközfrissítési szolgáltatás és az Eszközfrissítési ügynök közötti kérelmekről az áttekintési munkafolyamatban talál további információt.

Name Érték Leírás
applyDeployment 3 Alkalmazza a frissítést. Jelzi az eszköznek, hogy alkalmazza az üzembe helyezett frissítést
mégse 255 Állítsa le az aktuális művelet feldolgozását, és lépjen vissza a Idlehelyre, vagy kérje meg az Failed állapotban lévő ügynököt, hogy térjen vissza a következőre Idle: .
letöltés 0 Töltse le a közzétett tartalmat vagy frissítést, valamint minden más szükséges tartalmat. Ezt a műveletet csak a 0.7.0-s vagy régebbi ügynökverziójú eszközökre küldi a rendszer.
Telepíteni 1 Telepítse a tartalmat vagy a frissítést. Ez a művelet általában azt jelenti, hogy meghívja a telepítőt a tartalomhoz vagy a frissítéshez. Ezt a műveletet csak a 0.7.0-s vagy régebbi ügynökverziójú eszközökre küldi a rendszer.
apply 2 Véglegesítse a frissítést. Jelzi a rendszert, hogy szükség esetén újrainduljon. Ezt a műveletet csak a 0.7.0-s vagy régebbi ügynökverziójú eszközökre küldi a rendszer.

Eszközinformációs felület

Az eszközinformációs felület az IoT Plug and Play architektúrájában használt fogalom. Olyan eszköz-felhő tulajdonságokat tartalmaz, amelyek információt nyújtanak az eszköz hardveréről és operációs rendszeréről. A IoT Hub eszközfrissítése a és DeviceInformation.model a DeviceInformation.manufacturer tulajdonságokat használja a telemetriához és a diagnosztikához. További információért tekintse meg az eszközinformációs felület alábbi példáját.

A modellben a várt összetevőnév a deviceInformation , amikor ez a felület implementálva van. Az Azure IoT Plug and Play-összetevők ismertetése

Név Típus Séma Irány Leírás Példa
gyártó Tulajdonság sztring eszközről felhőre Az eszköz gyártójának cégneve. Ez a tulajdonság megegyezhet az eredeti berendezésgyártó (OEM) nevével. Contoso
modell Tulajdonság sztring eszközről felhőre Eszközmodell neve vagy azonosítója. IoT Edge eszköz
swVersion Tulajdonság sztring eszközről felhőre A szoftver verziója az eszközön. A swVersion lehet a belső vezérlőprogram verziója. 4.15.0-122
osName Tulajdonság sztring eszközről felhőre Az eszközön található operációs rendszer neve. Ubuntu Server 18.04
processorArchitecture Tulajdonság sztring eszközről felhőre Az eszközön található processzor architektúrája. ARM64
processorManufacturer Tulajdonság sztring eszközről felhőre Az eszközön található processzor gyártójának neve. Microsoft
totalStorage Tulajdonság sztring eszközről felhőre Az eszközön elérhető teljes tárterület kilobájtban. 2048
totalMemory Tulajdonság sztring eszközről felhőre Az eszközön rendelkezésre álló memória teljes mennyisége kilobájtban. 256

Modellazonosító

A modellazonosító az, hogy az intelligens eszközök hogyan hirdetik meg képességeiket az Azure IoT-alkalmazások számára az IoT-Plug and Play használatával. Ha többet szeretne megtudni arról, hogyan hozhat létre intelligens eszközöket a képességeik Azure IoT-alkalmazásokban való meghirdetéséhez, tekintse meg az IoT Plug and Play eszköz fejlesztői útmutatóját.

A IoT Hub eszközfrissítéséhez az IoT Plug and Play intelligens eszköznek be kell jelentenie egy "dtmi:azure:iot:deviceUpdateModel;1" értékű modellazonosítót az eszközkapcsolat részeként. Megtudhatja, hogyan jelentheti be a modellazonosítót.