Sdílet prostřednictvím


Technologie Plug and Play IoT ve službě Azure Device Update pro IoT Hub

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. Tento článek popisuje, jak 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 najdete v příručce pro vývojáře zařízení ioT technologie Plug and Play a postupu sestavení agenta aktualizace zařízení.

Modely aktualizace zařízení

Inteligentní zařízení používají ID modelů IoT technologie Plug and Play k inzerování možností aplikacím Azure IoT. Služba Device Update vyžaduje, aby inteligentní zařízení IoT technologie Plug and Play oznámilo ID modelu jako součást připojení zařízení. Další informace najdete v tématu Oznámení ID modelu.

Služba Device Update má několik definovaných modelů ioT technologie Plug and Play, které podporují funkce služby Device Update. Model **dtmi:azure:iot:deviceUpdateContractModel;3** Device Update podporuje základní funkce služby Device Update a používá základní rozhraní služby Device Update k odesílání akcí aktualizací a metadat zařízením a přijímání stavu aktualizace ze zařízení.

Druhý podporovaný model je **dtmi:azure:iot:deviceUpdateModel;3**, který rozšiřuje **deviceUpdateContractModel;3** a také používá rozhraní ioT technologie Plug and Play, která odesílají informace o vlastnostech zařízení a umožňují diagnostické funkce. Informace o těchto a dalších verzích najdete v tématu Azure IoT technologie Plug and Play Modely aktualizace zařízení.

Agent Device Update používá **dtmi:azure:iot:deviceUpdateModel;3** všechny nejnovější funkce ve verzi Device Update 1.1.0. Tento model podporuje manifest importu verze 5.0. Starší manifesty fungují s nejnovějšími agenty, ale nové funkce vyžadují nejnovější verzi manifestu.

Metadata agenta

Agent Device Update používá k odesílání informací do služeb Device Update následující pole metadat agenta.

Název Schéma Směr Popis
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 Až pět vlastností, které slouží ke kontrole kompatibility zařízení pro cílení na nasazení aktualizace.
Příklad: compatPropertyNames: manufacturer, model
lastInstallResult Mapovat zařízení do cloudu Výsledek hlášený agentem, který 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.
Příklad: 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.
Příklad: 0x80004005
resultDetails string zařízení do cloudu Řetězec volného formuláře zadaný uživatelem, který poskytuje další podrobnosti o výsledku. Vrátí se do dvojčete bez analýzy.
stepResults map zařízení do cloudu Výsledek hlášený agentem, který obsahuje kód výsledku, rozšířený kód výsledku a podrobnosti o výsledku pro aktualizace kroku.
Příklad: "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 agent aktuálně pracuje, ID aktuálně nainstalovaného nasazení a potvrzení všech žádostí o opakování odesílaných ze služby do agenta. ID workflow hlásí "nodeployment" hodnotu po zrušení nasazení.
Příklad: "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ého nasazení služby Device Update. Tato hodnota zaznamenává KÓD JSON ID aktualizace nebo null pro zařízení, které nikdy nemělo aktualizaci prostřednictvím aktualizace zařízení.
Příklad: "installedUpdateID": "{\"provider\":\"contoso\",\"name\":\"image-update\",\"version\":\"1.0.0\"}"

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.

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.
Rozhraní DeviceUpdateCore se nejprve pokusí přečíst aduc_manufacturer hodnotu z konfiguračního souboru. Pokud hodnota není naplněna v konfiguračním souboru, rozhraní ve výchozím nastavení hlásí definici kompilátoru pro ADUC_DEVICEPROPERTIES_MANUFACTURER. 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. Rozhraní DeviceUpdateCore se nejprve pokusí přečíst aduc_model hodnotu z konfiguračního souboru. Pokud hodnota není naplněna v konfiguračním souboru, rozhraní ve výchozím nastavení hlásí definici kompilátoru pro ADUC_DEVICEPROPERTIES_MODEL. Tato vlastnost je hlášena pouze při spuštění.
Výchozí hodnota: Video
contractModelId string zařízení do cloudu Vlastnost, pomocí které služba identifikuje základní verzi modelu, pomocí které agent Device Update spravuje a komunikuje s agentem.
Hodnota: dtmi:azure:iot:deviceUpdateContractModel;3 pro zařízení používající agenta Device Update verze 1.1.0.
Poznámka: Agenti, kteří používají dtmi:azure:iot:deviceUpdateModel;2 , musí hlásit contractModelId jako dtmi:azure:iot:deviceUpdateContractModel;3, protože 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 v době kompilace nastavena na 1 hodnotu (true). Pokud chcete zasílání sestav verzí zrušit, můžete nastavit hodnotu na 0 hodnotu (false). Další informace naleznete v tématu Postup sestavení agenta aktualizace zařízení.
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 v době kompilace nastavena na 1 hodnotu (true). Pokud chcete zasílání sestav verzí zrušit, můžete nastavit hodnotu na 0 hodnotu (false). Další informace naleznete v tématu Přizpůsobení vlastností agenta Optimalizace doručení.
Vlastní vlastnosti kompatibility Definované uživatelem zařízení do cloudu Jiné uživatelem definované vlastnosti zařízení, které se mají použít pro kontrolu kompatibility při cílení na nasazení aktualizace.

State

Pole stavu je stav hlášený agentem Aktualizace zařízení v reakci na akci odeslanou agentovi Aktualizace zařízení ze služby Device Update. Další informace o požadavcích, které proudí mezi službou Device Update a agentem Device Update, najdete v pracovním postupu agenta.

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 Došlo k úspěšnému stažení. Tento stav hlásí jenom zařízení s agentem verze 0.7.0 nebo starší.
InstalaceSucceeded 4 Došlo k úspěšné instalaci. Tento stav hlásí jenom zařízení s agentem verze 0.7.0 nebo starší.

Akce

Pole akce představuje akci, kterou má agent Aktualizace zařízení provést podle pokynů služby Device Update. Agent Device Update hlásí stav pro zpracování akce, kterou obdrží. Další informace o požadavcích, které proudí mezi službou Device Update a agentem Device Update, najdete v pracovním postupu agenta.

Jméno Hodnota Popis
applyDeployment 3 Nainstalujte nasazenou aktualizaci.
zrušit 255 Ukončete zpracování aktuální akce a vraťte se do Idleslužby nebo řekněte agentoviFailed, že se má vrátit zpět .Idle
download 0 Stáhněte publikovaný obsah nebo aktualizaci 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, obvykle zavolat instalační program pro obsah nebo aktualizaci. Služba Device Update odešle tuto akci jenom na zařízení s agentem verze 0.7.0 nebo starší.
apply 2 Dokončete aktualizaci restartováním v případě potřeby. Služba Device Update odešle tuto akci jenom na 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í Popisuje obsah aktualizace. Vygenerováno z manifestu importu.
updateManifestSignature JSON objekt cloud do zařízení Webový podpis JSON (JWS) s webovými klíči JSON, které se mají použít k ověření zdroje.
fileUrls Mapovat cloud do zařízení Namapovat na FileIDDownloadUrl Řekne agentovi, které soubory se mají stáhnout, a hodnotu hash, aby ověřil, že se soubory stahují správně.

Rozhraní informací o zařízení

Rozhraní informací o zařízení je koncept používaný v architektuře ioT technologie Plug and Play. Rozhraní obsahuje vlastnosti typu zařízení-cloud, které poskytují informace o hardwaru a operačním systému zařízení. Služba Device Update používá DeviceInformation.manufacturer vlastnosti a DeviceInformation.model telemetrii a diagnostiku. Příklad rozhraní informací o zařízení najdete v tématu https://devicemodels.azure.com/dtmi/azure/devicemanagement/deviceinformation-1.json.

Při implementaci tohoto rozhraní je očekávaný název komponenty v modelu deviceInformation. Další informace najdete v průvodci modelováním technologie Plug and Play IoT.

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í. Výrobce může být stejný jako název výrobce původního 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