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:
- Az IoT Plug and Play eszközügyfél ismertetése.
- Tekintse meg az Eszközfrissítési ügynök implementálásának módját.
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 deviceProperties jelent: . 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 deviceProperties jelent: . 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 Idle mű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 |