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


Eszközfrissítés az IoT Hubhoz és az IoT Plug and Play-hez

Az IoT Hub eszközfrissítése az IoT Plug and Play használatával felderíti és felügyeli a levegőn túli frissítésre képes eszközöket. 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-felületek használatával.

További információk:

Eszközfrissítési modellek

A modellazonosító az, hogy az intelligens eszközök hogyan hirdetik képességeiket az Azure IoT-alkalmazásokban az IoT Plug használatával, és Play.To további információ arról, hogyan hozhat létre intelligens eszközöket az Azure IoT-alkalmazások képességeinek meghirdetéséhez, látogasson el az IoT Plug and Play eszköz fejlesztői útmutatójára.

Az IoT Hub eszközfrissítéséhez az IoT Plug and Play intelligens eszköznek be kell jelentenie egy modellazonosítót az eszközkapcsolat részeként. Megtudhatja, hogyan jelenthet be modellazonosítót.

Az Eszközfrissítés több olyan PnP-modellel rendelkezik, amelyek támogatják a DU-funkciókat. Az eszközfrissítési modell( 'dtmi:azure:iot:deviceUpdateContractModel; 3', támogatja az alapvető funkciókat, és az eszközfrissítési alapfelülettel frissítési műveleteket és metaadatokat küld az eszközöknek, és fogadja az eszközök frissítési állapotát.

A másik támogatott modell a dtmi:azure:iot:deviceUpdateModel; 3 , amely kibővíti a deviceUpdateContractModel; 3 és más PnP-adaptereket is használ, amelyek eszköztulajdonságokat és információkat küldenek, és lehetővé teszik a diagnosztikai funkciókat. További információ az [Eszközfrissítési modellek és interfészek verziói] () szolgáltatásrólhttps://github.com/Azure/iot-plugandplay-models/tree/main/dtmi/azure/iot.

Az Eszközfrissítési ügynök a dtmi:azure:iot:deviceUpdateModel; 3, amely az 1.1.0-s kiadás összes legújabb funkcióját támogatja. Ez a modell támogatja a V5 jegyzékverziót. A régebbi jegyzékek a legújabb ügynökökkel működnek, de az új funkciókhoz a legújabb jegyzékverziót kell használni.

Ü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.

Név 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 készlete. Részletekért tekintse meg az Eszköztulajdonságok szakaszt.
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": "gyártó,modell"
lastInstallResult Térkép eszközről felhőre Az ügynök által jelentett eredmény. Eredménykódot, kiterjesztett eredménykódot, valamint a fő frissítés és egyéb lépésfrissítések eredményadatait tartalmazza.
resultCode egész szám eszközről felhőre Az utolsó frissítési művelet eredményével kapcsolatos információkat tartalmazó kód. 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 húr eszközről felhőre Ügyfél által definiált ingyenes űrlapsztring további eredményadatok megadásához. Vissza az ikerpéldányhoz elemzés nélkül
stepResults térkép 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 Az eszközfrissítési ügynök aktuális állapotát jelző egész szám. 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. Vegye figyelembe, hogy a munkafolyamat-azonosító "csomópont-üzembe helyezés" értéket jelent az üzembe helyezés megszakítása után. "munkafolyamat": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"}
installedUpdateId húr eszközről felhőre A jelenleg telepített frissítés azonosítója (az eszközfrissítésen keresztül). Ez az érték egy JSON frissítésazonosítót vagy null értéket rögzítő sztring 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.

Név Séma Irány Leírás
manufacturer húr eszközről felhőre Az eszköz gyártója, amely a következőn keresztül devicePropertiesjelent: . Ez a tulajdonság két helyről olvasható be – először a DeviceUpdateCore felület megpróbálja beolvasni a konfigurációs fájlból a "aduc_manufacturer" értéket. Ha az érték nincs feltö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 a rendszerindításkor jelenik meg.

Alapértelmezett érték: "Contoso".
modell húr eszközről felhőre Az eszköz eszközmodellje, amely a következőn keresztül devicePropertiesjelent: . Ez a tulajdonság két helyről olvasható be – 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 feltö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 a rendszerindításkor jelenik meg.

Alapértelmezett érték: "Videó"
contractModelId húr eszközről felhőre Ezt a tulajdonságot a szolgáltatás használja az eszközfrissítési ügynök által az ügynök kezelésére és az ügynökkel való kommunikációra használt alapmodell-verzió azonosítására.
Érték: 'dtmi:azure:iot:deviceUpdateContractModel; 3' a DU-ügynök 1.1.0-s verzióját használó eszközök esetén.
Megjegyzés: A "dtmi:azure:iot:deviceUpdateModel; 2" a contractModelId azonosítót "dtmi:azure:iot:deviceUpdateContractModel; 3' deviceUpdateModel; 3 kiterjesztve a deviceUpdateContractModel; 3
aduVer húr eszközről felhőre Az eszközön futó Eszközfrissítési ügynök verziója. Ez az érték csak akkor olvasható be 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. Eszközfrissítési ügynök tulajdonságainak testreszabása.
Dover húr eszközről felhőre Az eszközön futó kézbesítésoptimalizálási ügynök verziója. Az érték csak akkor lesz beolvasva 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 az érték 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, a kompatibilitás-ellenőrzéshez használandó eszköztulajdonságokat a frissítés központi telepítése során.

IoT Hub-ikereszköz- példa:

"deviceUpdate": {
                "__t": "c",
                "agent": {
                    "deviceProperties": {
                        "manufacturer": "contoso",
                        "model": "virtual-vacuum-v1",
                        "contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;3",
                        "aduVer": "DU;agent/1.1.0",
                        },
                    "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\"}"
                },

Feljegyzé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 (DU) ügynök által jelentett állapot, miután műveletet kapott az Eszközfrissítési szolgáltatástól. Az állapotot az eszközfrissítési szolgáltatásból az eszközfrissítési ügynöknek küldött műveletre (a részletekért lásd a Művelet szakaszt) válaszul jelenti a rendszer. Az Eszközfrissítési szolgáltatás és az Eszközfrissítési ügynök között folyó kérelmekről további információt az áttekintési munkafolyamatban talál.

Név szerint Érték Leírás
Tétlen 0 Az eszköz készen áll arra, hogy műveletet fogadjon az Eszközfrissítési 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óra használnak.

Név Séma Irány Leírás
művelet egész szám felhőből eszközre Az ügynök által végrehajtandó műveletnek megfelelő egész szám. Részletekért lásd a Művelet szakaszt.
updateManifest húr felhőből eszközre A frissítés tartalmának leírására szolgál. Az Importálási jegyzékből jön létre.
updateManifestSignature JSON-objektum felhőből eszközre JSON-webes aláírás (JWS) a forráshitelesítéshez használt JSON-webkulcsokkal.
Fileurls Térkép felhőből eszközre Térkép: FileID 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ési szolgáltatás utasításának megfelelően végrehajtott műveleteket jelöli. Az Eszközfrissítési ügynök jelentést küld a fogadott művelet feldolgozásának állapotról . Az Eszközfrissítési szolgáltatás és az Eszközfrissítési ügynök között folyó kérelmekről további információt az áttekintési munkafolyamatban talál.

Név szerint É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 gombra 255 Állítsa le az aktuális művelet feldolgozását, és térjen vissza a Idleművelethez, vagy kérje meg az Failed állapotban lévő ügynököt, hogy térjen vissza a művelethez Idle.
letöltés 0 Töltse le a közzétett tartalmat vagy frissítést, valamint a szükséges egyéb tartalmakat. Ezt a műveletet csak a 0.7.0-s vagy régebbi ügynökverziójú eszközökre küldi a rendszer.
telepítés 0 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. Szükség esetén a rendszer újraindítását jelzi. 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ában használt fogalom. Az eszközről a felhőbe irányuló tulajdonságokat tartalmaz, amelyek információt nyújtanak az eszköz hardveréről és operációs rendszeréről. Az IoT Hub eszközfrissítése a telemetria és DeviceInformation.model a DeviceInformation.manufacturer diagnosztika tulajdonságait használja. További információké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
manufacturer Tulajdonság húr eszközről felhőre Az eszköz gyártójának cégneve. Ez a tulajdonság megegyezhet az eredeti berendezés gyártójának (OEM) nevével. Contoso
modell Tulajdonság húr eszközről felhőre Eszközmodell neve vagy azonosítója. IoT Edge-eszköz
swVersion Tulajdonság húr 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 húr eszközről felhőre Az eszköz operációs rendszerének neve. Ubuntu Server 18.04
processorArchitecture Tulajdonság húr eszközről felhőre Az eszközön található processzor architektúrája. ARM64
processorManufacturer Tulajdonság húr eszközről felhőre Az eszközön található processzor gyártójának neve. Microsoft
totalStorage Tulajdonság húr eszközről felhőre Az eszközön elérhető teljes tárterület kilobájtban. 2048
totalMemory Tulajdonság húr eszközről felhőre Az eszközön elérhető memória teljes mennyisége kilobájtban. 256

Következő lépések