Sdílet prostřednictvím


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 FileIDDownloadUrl Ř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 Idlesluž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

Další kroky