Aktualizace zařízení pro IoT Hub a ioT technologie Plug and Play
Služba Device Update pro IoT Hub používá ioT technologie Plug and Play ke zjišťování a správě zařízení, která jsou schopná aktualizace přes vzduch. Služba Device Update odesílá a přijímá vlastnosti a zprávy do a ze zařízení pomocí rozhraní ioT technologie Plug and Play.
Další informace:
- Seznamte se s klientem zařízení technologie Plug and Play IoT.
- Podívejte se, jak se implementuje agent Device Update.
Modely aktualizace zařízení
ID modelu je způsob, jakým inteligentní zařízení inzerují své schopnosti do aplikací Azure IoT pomocí technologie Plug and Play IoT. Další informace o tom, jak vytvářet inteligentní zařízení pro inzerování jejich schopností aplikacím Azure IoT, najdete v příručce pro vývojáře zařízení technologie Plug and Play IoT.
Aktualizace zařízení pro IoT Hub vyžaduje, aby inteligentní zařízení IoT technologie Plug and Play oznámilo ID modelu jako součást připojení zařízení. Zjistěte, jak oznámit ID modelu.
Device Update má několik definovaných modelů PnP, které podporují funkce DU. Model aktualizace zařízení dtmi:azure:iot:deviceUpdateContractModel; 3', podporuje základní funkce a používá základní rozhraní aktualizace zařízení k odesílání akcí aktualizace a metadat do zařízení a příjem stavu aktualizace ze zařízení.
Druhý podporovaný model je dtmi:azure:iot:deviceUpdateModel; 3 , který rozšiřuje deviceUpdateContractModel; 3 a také používá další rozhraní PnP, která odesílají vlastnosti zařízení a informace a umožňují diagnostické funkce. Přečtěte si další informace o verzích [Modely a rozhraní aktualizace zařízení] (https://github.com/Azure/iot-plugandplay-models/tree/main/dtmi/azure/iot).
Agent Device Update používá dtmi:azure:iot:deviceUpdateModel; 3, která podporuje všechny nejnovější funkce ve verzi 1.1.0. Tento model podporuje verzi manifestu V5. Starší manifesty budou fungovat s nejnovějšími agenty, ale nové funkce vyžadují použití nejnovější verze manifestu.
Metadata agenta
Agent Device Update používá pole metadat agenta k odesílání informací do služeb Device Update.
Název | Schéma | Směr | Popis | Příklad |
---|---|---|---|---|
deviceProperties | Mapovat | zařízení do cloudu | Sada vlastností, které obsahují informace o výrobci, modelu a dalších zařízeních. | Podrobnosti najdete v části Vlastnosti zařízení. |
compatPropertyNames | Řetězec (oddělený čárkami) | zařízení do cloudu | Zařízení ohlásilo vlastnosti, které slouží ke kontrole kompatibility zařízení pro cílení na nasazení aktualizací. Omezeno na pět vlastností zařízení. | "compatPropertyNames": "manufacturer,model" |
lastInstallResult | Mapovat | zařízení do cloudu | Výsledek hlášený agentem. Obsahuje kód výsledku, rozšířený kód výsledku a podrobnosti o výsledku pro hlavní aktualizaci a další aktualizace kroku. | |
resultCode | integer | zařízení do cloudu | Kód, který obsahuje informace o výsledku poslední akce aktualizace. Je možné ho naplnit buď pro úspěch, nebo neúspěch. | 700 |
extendedResultCode | integer | zařízení do cloudu | Kód, který obsahuje další informace o výsledku. Je možné ho naplnit buď pro úspěch, nebo neúspěch. | 0x80004005 |
resultDetails | string | zařízení do cloudu | Řetězec bezplatného formuláře definovaný zákazníkem, který poskytuje další podrobnosti o výsledku. Vráceno do dvojčete bez analýzy | |
stepResults | map | zařízení do cloudu | Výsledek hlášený agentem obsahující kód výsledku, rozšířený kód výsledku a podrobnosti o výsledku pro aktualizace kroku. | "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""} |
state | integer | zařízení do cloudu | Celé číslo, které označuje aktuální stav agenta aktualizace zařízení. | Podrobnosti najdete v části Stav . |
pracovní postup | complex | zařízení do cloudu | Sada hodnot, které označují, na kterém nasazení agent aktuálně pracuje, ID aktuálního nasazení a potvrzení všech žádostí o opakování odeslaných ze služby do agenta. Všimněte si, že ID pracovního postupu hlásí hodnotu nodeployment po zrušení nasazení. | "workflow": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"} |
installedUpdateId | string | zařízení do cloudu | ID aktuálně nainstalované aktualizace (prostřednictvím služby Device Update). Tato hodnota je řetězec, který zachycuje KÓD JSON ID aktualizace nebo hodnotu null pro zařízení, které nikdy nepřebralo aktualizaci prostřednictvím služby Device Update. | installedUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}" |
Vlastnosti zařízení
Pole DeviceProperties obsahuje informace o výrobci a modelu zařízení.
Název | Schéma | Směr | Popis |
---|---|---|---|
Výrobce | string | zařízení do cloudu | Výrobce zařízení hlášený prostřednictvím deviceProperties . Tato vlastnost se čte z jednoho ze dvou míst – nejprve se rozhraní DeviceUpdateCore pokusí přečíst hodnotu aduc_manufacturer z konfiguračního souboru. Pokud se hodnota v konfiguračním souboru nenaplní, ve výchozím nastavení se pro ADUC_DEVICEPROPERTIES_MANUFACTURER vyhlásí definice doby kompilace. Tato vlastnost je hlášena pouze při spuštění. Výchozí hodnota: Contoso. |
model | string | zařízení do cloudu | Model zařízení hlášený prostřednictvím deviceProperties . Tato vlastnost se čte z jednoho ze dvou míst – nejprve se rozhraní DeviceUpdateCore pokusí přečíst hodnotu "aduc_model" z konfiguračního souboru. Pokud se hodnota v konfiguračním souboru nenaplní, ve výchozím nastavení se pro ADUC_DEVICEPROPERTIES_MODEL vyhlásí definice doby kompilace. Tato vlastnost je hlášena pouze při spuštění. Výchozí hodnota: Video |
contractModelId | string | zařízení do cloudu | Tuto vlastnost používá služba k identifikaci verze základního modelu, kterou používá agent Device Update ke správě a komunikaci s agentem. Hodnota: 'dtmi:azure:iot:deviceUpdateContractModel; 3 pro zařízení používající agenta DU verze 1.1.0. Poznámka: Agenti používající 'dtmi:azure:iot:deviceUpdateModel; 2' musí nahlásit contractModelId jako 'dtmi:azure:iot:deviceUpdateContractModel; 3' jako deviceUpdateModel; 3 je rozšířen z deviceUpdateContractModel; 3 |
aduVer | string | zařízení do cloudu | Verze agenta Device Update spuštěného na zařízení Tato hodnota se načítá z sestavení pouze v případě, že ENABLE_ADU_TELEMETRY_REPORTING je během kompilace nastavena na hodnotu 1 (true). Zákazníci se můžou rozhodnout, že se od generování sestav verzí odhlásí nastavením hodnoty 0 (false). Přizpůsobení vlastností agenta služby Device Update |
Dover | string | zařízení do cloudu | Verze agenta Optimalizace doručení spuštěného na zařízení Hodnota se načte z sestavení pouze v případě, že ENABLE_ADU_TELEMETRY_REPORTING je během kompilace nastavena na hodnotu 1 (true). Zákazníci se můžou rozhodnout odhlásit od generování sestav verzí nastavením hodnoty 0 (false). Přizpůsobení vlastností agenta Optimalizace doručení |
Vlastní vlastnosti kompatibility | Definovaný uživatelem | zařízení do cloudu | Implementátor může definovat další vlastnosti zařízení, které se mají použít pro kontrolu kompatibility při cílení na nasazení aktualizace. |
Příklad dvojčete zařízení ioT Hubu:
"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\"}"
},
Poznámka:
Zařízení nebo modul musí přidat {"__t": "c"}
značku, která označuje, že prvek odkazuje na komponentu. Další informace najdete v tématu Technologie Plug and Play konvence IoT.
Stav
Pole Stav je stav hlášený agentem Device Update (DU) po přijetí akce ze služby Device Update. Stav se hlásí v reakci na akci (viz část Akce s podrobnostmi) odeslaný agentovi Device Update ze služby Device Update. Další informace o požadavcích, které proudí mezi službou Device Update a agentem Device Update, najdete v přehledovém pracovním postupu.
Jméno | Hodnota | Popis |
---|---|---|
Období | 0 | Zařízení je připravené k přijetí akce ze služby Device Update. Po úspěšné aktualizaci se stav vrátí do Idle stavu. |
DeploymentInprogress | 6 | Probíhá nasazení. |
Neúspěšný | 255 | Během aktualizace došlo k chybě. |
DownloadSucceeded | 2 | Úspěšné stažení. Tento stav hlásí jenom zařízení s agentem verze 0.7.0 nebo starší. |
InstalaceSucceeded | 4 | Úspěšná instalace. Tento stav hlásí jenom zařízení s agentem verze 0.7.0 nebo starší. |
Metadata služby
Metadata služby obsahují pole, která služba Device Update používá ke komunikaci akcí a dat agentovi Device Update.
Název | Schéma | Směr | Popis |
---|---|---|---|
action | integer | cloud do zařízení | Celé číslo, které odpovídá akci, kterou má agent provést. Podrobnosti najdete v části Akce . |
updateManifest | string | cloud do zařízení | Používá se k popisu obsahu aktualizace. Vygenerováno z manifestu importu. |
updateManifestSignature | JSON objekt | cloud do zařízení | Webový podpis JSON (JWS) s webovými klíči JSON používanými k ověření zdroje |
Fileurls | Mapovat | cloud do zařízení | Namapovat na FileID DownloadUrl Řekne agentovi, které soubory se mají stáhnout, a hodnotu hash, aby ověřil, že se soubory stáhly správně. |
Akce
Pole akce představuje akce prováděné agentem Device Update podle pokynů služby Device Update. Agent device Update oznámí stav pro zpracování přijaté akce. Další informace o požadavcích, které proudí mezi službou Device Update a agentem Device Update, najdete v přehledovém pracovním postupu.
Jméno | Hodnota | Popis |
---|---|---|
applyDeployment | 3 | Nainstalujte aktualizaci. Signalizuje zařízení pro instalaci nasazené aktualizace. |
Zrušit | 255 | Ukončete zpracování aktuální akce a vraťte se do Idle služby nebo řekněte agentoviFailed , že se má vrátit zpět .Idle |
download | 0 | Stáhněte publikovaný obsah nebo aktualizujte a veškerý další potřebný obsah. Tato akce se odešle jenom do zařízení s agentem verze 0.7.0 nebo starší. |
install | 0 | Nainstalujte obsah nebo aktualizaci. Tato akce obvykle znamená volání instalačního programu pro obsah nebo aktualizaci. Tato akce se odešle jenom do zařízení s agentem verze 0.7.0 nebo starší. |
apply | 2 | Dokončete aktualizaci. V případě potřeby systém signalizuje restartování. Tato akce se odešle jenom do zařízení s agentem verze 0.7.0 nebo starší. |
Rozhraní informací o zařízení
Rozhraní informací o zařízení je koncept používaný v architektuře ioT technologie Plug and Play. Obsahuje vlastnosti typu zařízení-cloud, které poskytují informace o hardwaru a operačním systému zařízení. Služba Device Update pro IoT Hub používá DeviceInformation.manufacturer
telemetrii DeviceInformation.model
a vlastnosti pro telemetrii a diagnostiku. Další informace najdete v tomto příkladu rozhraní informací o zařízení.
Očekávaný název komponenty v modelu je deviceInformation při implementaci tohoto rozhraní. Další informace o komponentách Azure IoT technologie Plug and Play
Name | Type | Schéma | Směr | Popis | Příklad |
---|---|---|---|---|---|
Výrobce | Vlastnost | string | zařízení do cloudu | Název společnosti výrobce zařízení. Tato vlastnost může být stejná jako název původního výrobce zařízení (OEM). | Contoso |
model | Vlastnost | string | zařízení do cloudu | Název nebo ID modelu zařízení | Zařízení IoT Edge |
VerzeSoftwaru | Vlastnost | string | zařízení do cloudu | Verze softwaru na vašem zařízení SwVersion může být verze vašeho firmwaru. | 4.15.0-122 |
NázevOperačníhoSystému | Vlastnost | string | zařízení do cloudu | Název operačního systému v zařízení. | Ubuntu Server 18.04 |
ArchitekturaProcesoru | Vlastnost | string | zařízení do cloudu | Architektura procesoru v zařízení | ARM64 |
processorManufacturer | Vlastnost | string | zařízení do cloudu | Název výrobce procesoru na zařízení. | Microsoft |
totalStorage | Vlastnost | string | zařízení do cloudu | Celkové dostupné úložiště na zařízení v kilobajtech. | 2048 |
totalMemory | Vlastnost | string | zařízení do cloudu | Celková dostupná paměť v zařízení v kilobajtech. | 256 |