Kurz: Aktualizace zařízení pro Azure IoT Hub s využitím referenční image Raspberry Pi 3 B+
Aktualizace zařízení pro Azure IoT Hub podporuje aktualizace založené na imagích, balíčky a skripty.
Aktualizace imagí poskytují vyšší úroveň spolehlivosti při koncovém stavu zařízení. Obvykle je jednodušší replikovat výsledky aktualizace image mezi předprodukčním prostředím a produkčním prostředím, protože to nepředstavuje stejné problémy jako balíčky a jejich závislosti. Vzhledem k jejich atomické povaze můžete také snadno přijmout model převzetí služeb při selhání A/B.
Tento kurz vás provede kroky k dokončení kompletní aktualizace založené na imagích pomocí služby Device Update pro IoT Hub na kartě Raspberry Pi 3 B+.
V tomto kurzu se naučíte:
- Stáhněte si obrázek.
- Přidejte značku do zařízení IoT.
- Importujte aktualizaci.
- Nasazení aktualizace image
- Monitorujte nasazení aktualizací.
Poznámka
Aktualizace imagí v tomto kurzu byly ověřeny na kartě Raspberry Pi B3.
Požadavky
Pokud jste to ještě neudělali, vytvořte účet a instanci služby Device Update a nakonfigurujte centrum IoT. V tomto kurzu musí být zařízení připojené přes ethernetové připojení.
Soubory v prostředcích si můžete stáhnout na stránce vydaných verzí služby Device Update na GitHubu. Tutorial_RaspberryPi.zip obsahuje všechny požadované soubory pro tento kurz.
Vytvoření zařízení v IoT Hub a získání připojovacího řetězce
Teď přidejte zařízení do IoT Hub. V IoT Hub se pro zařízení vygeneruje připojovací řetězec.
Ze Azure Portal přejděte do centra IoT.
V levém podokně vyberte Zařízení. Pak vyberte Nový.
V části ID zařízení zadejte název zařízení. Ujistěte se, že je zaškrtnuté políčko Automaticky generovat klíče .
Vyberte Uložit. Na stránce Zařízení by zařízení, které jste vytvořili, mělo být v seznamu.
Získejte připojovací řetězec zařízení tak, že přejdete do zobrazení zařízení a vyberete ikonu Kopírovat vedle položky Primární připojovací řetězec.
Vložte někam zkopírované znaky pro pozdější použití v následujících krocích:
Tento zkopírovaný řetězec je připojovací řetězec vašeho zařízení.
Poznámka
Tento kurz používá připojovací řetězec zařízení k ověření a připojení k IoT Hub, aby se usnadnilo nastavení. V produkčních scénářích doporučujeme použít identitu modulu a ke zřízení zařízení využít AIS (IoT Identity Service). Víc se uč
Nastavení Raspberry Pi
Základní soubory imagí a aktualizační soubory poskytujeme v části Assets na stránce vydaných verzí služby Device Update na GitHubu. Tutorial_RaspberryPi.zip obsahuje všechny požadované soubory pro tento kurz. Soubor .wic je základní obrázek, na který můžete blikat na desce Raspberry Pi 3 B+. Soubor swUpdate(.swu), vlastní skript swupdate a manifest jsou soubory aktualizace, které byste naimportovali prostřednictvím služby Device Update pro IoT Hub.
Tato základní image používá sestavení Yocto (založené na verzi 3.4.4) s:
- SWUpdate, která umožňuje aktualizaci duálního oddílu s du
- Agent aktualizace zařízení
Další informace o použitých vrstvách Yocto najdete v tématu Aktualizace zařízení Yocto na GitHubu.
Pomocí svého oblíbeného nástroje pro blikání operačního systému můžete na SD kartu nainstalovat základní image aktualizace zařízení (adu-base-image), která se bude používat v zařízení Raspberry Pi 3 B+. Níže jsou uvedeny pokyny pro použití nástroje bmaptool k blesku na SD kartu.
Použití nástroje bmaptool k zablikání SD karty
bmaptool
Pokud jste to ještě neudělali, nainstalujte nástroj .sudo apt-get install bmap-tools
Vyhledejte cestu pro kartu SD v
/dev
souboru . Cesta by měla vypadat přibližně takto/dev/sd*
: nebo/dev/mmcblk*
. Pomocí nástrojedmesg
můžete najít správnou cestu.Před blikáním odpojte všechny připojené oddíly.
sudo umount /dev/<device>
Ujistěte se, že máte oprávnění k zápisu do zařízení.
sudo chmod a+rw /dev/<device>
Volitelné: Pro rychlejší blikání stáhněte soubor bimap a soubor obrázku a vložte je do stejného adresáře.
Zablikání karty SD.
sudo bmaptool copy <path to image> /dev/<device>
Aktualizace zařízení pro software Azure IoT Hub podléhá následujícím licenčním podmínkám:
Před použitím agenta si přečtěte licenční podmínky. Vaše instalace a používání představují váš souhlas s těmito podmínkami. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte Službu Device Update pro agenta IoT Hub.
Konfigurace agenta aktualizace zařízení v Raspberry Pi
Ujistěte se, že je Raspberry Pi 3 připojený k síti.
Pomocí následujícího příkazu v okně PowerShellu se přes SSH přihlaste k Raspberry Pi 3:
ssh raspberrypi3 -l root
Konfigurační soubory du (du-config.json a du-diagnostics-config.json) musí být na zařízení, aby se služba Device Update pro IoT Hub správně nakonfiguruje.
- Vytvoření nebo otevření
du-config.json
souboru pro úpravy pomocí příkazu:
nano /adu/du-config.json
Po spuštění příkazu by se měl zobrazit otevřený editor se souborem . Pokud jste soubor nikdy nevytvořili, bude prázdný. Teď zkopírujte níže uvedený obsah du-config.json a nahraďte konfigurace požadované pro vaše zařízení. Pak nahraďte ukázkový připojovací řetězec připojovacím řetězcem pro zařízení, které jste vytvořili v předchozích krocích.
du-config.json
{ "schemaVersion": "1.0", "aduShellTrustedUsers": [ "adu", "do" ], "manufacturer": "contoso", "model": "virtual-vacuum-v2", "agents": [ { "name": "main", "runas": "adu", "connectionSource": { "connectionType": "string", "connectionData": "HostName=<hub_name>.azure-devices.net;DeviceId=<device_id>;SharedAccessKey=<device_key>" }, "manufacturer": "contoso", "model": "virtual-vacuum-v2" } ] }
- Po dokončení změn vyberte
Ctrl+X
a ukončete editor. Potom zadejtey
a uložte změny.
- Vytvoření nebo otevření
Teď potřebujete vytvořit
du-diagnostics-config.json
soubor pomocí podobných příkazů.- Začněte vytvořením nebo otevřením
du-diagnostics-config.json
souboru pro úpravy pomocí příkazu:
nano /adu/du-diagnostics-config.json
- Zkopírujte níže uvedený obsah du-diagnostics-config.json a nahraďte všechny konfigurace, které se liší od výchozího sestavení. Ukázkový soubor du-diagnostics-config.json představuje výchozí umístění protokolu pro službu Device Update pro IoT Hub. Tyto výchozí hodnoty je potřeba změnit pouze v případě, že se vaše implementace liší.
du-diagnostics-config.json
{ "logComponents":[ { "componentName":"adu", "logPath":"/adu/logs/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
- Po dokončení změn vyberte
Ctrl+X
a ukončete editor. Potom zadejtey
a uložte změny.
- Začněte vytvořením nebo otevřením
Pomocí následujícího příkazu zobrazte soubory umístěné v adresáři
/adu/
. Měli byste vidět oba konfigurační soubory.du-diagnostics-config.json pro úpravy pomocí:ls -la /adu/
Restartujte proces démon systému Device Update, abyste se ujistili, že se konfigurace použily. V terminálu přihlášeného k
raspberrypi
: Použijte následující příkaz:systemctl start deviceupdate-agent
Pomocí následujícího příkazu zkontrolujte, že je agent aktivní:
systemctl status deviceupdate-agent
Měl by se zobrazit stav Živý a zelený.
Připojení zařízení ve službě Device Update pro IoT Hub
V levém podokně vyberte Zařízení.
Vyberte odkaz s názvem vašeho zařízení.
V horní části stránky vyberte Dvojče zařízení.
V části Ohlášené vlastnosti dvojčete zařízení vyhledejte verzi jádra Linuxu.
U nového zařízení, které neobdrželo aktualizaci ze služby Device Update, hodnota DeviceManagement:DeviceInformation:1.swVersion představuje verzi firmwaru spuštěnou na zařízení. Po instalaci aktualizace zařízení služba Device Update použije hodnotu vlastnosti AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId , která představuje verzi firmwaru spuštěnou v zařízení.
Základní a aktualizační soubory imagí mají v názvu číslo verze.
adu-<image type>-image-<machine>-<version number>.<extension>
Toto číslo verze použijte v pozdější části Import aktualizace.
Přidání značky skupiny Aktualizace zařízení do zařízení
Na webu Azure Portal přejděte do svého centra IoT.
V levém podokně v části Zařízení najděte své zařízení IoT a přejděte na dvojče zařízení nebo dvojče modulu.
Ve dvojčeti modulu agenta aktualizace zařízení odstraňte všechny existující hodnoty značek Aktualizace zařízení tak, že je nastavíte na hodnotu null. Pokud používáte identitu zařízení s agentem Device Update, proveďte tyto změny na dvojčeti zařízení.
Přidejte novou hodnotu značky Device Update, jak je znázorněno na obrázku:
"tags": { "ADUGroup": "<CustomTagValue>" }
Tento snímek obrazovky ukazuje oddíl, do kterého je potřeba přidat značku do dvojčete.
Import aktualizace
Stáhněte si manifest ukázkového kurzu a ukázkovou aktualizaci (soubor .swu) a ukázkový skript A/B z Tutorial_RaspberryPi.zip v části Release Assets pro nejnovějšího agenta.
Přihlaste se k Azure Portal a přejděte do centra IoT pomocí aktualizace zařízení. V levém podokně v části Automatické Správa zařízení vyberte Aktualizace.
Vyberte kartu Aktualizace.
Vyberte + Importovat novou aktualizaci.
Vyberte + Vybrat z kontejneru úložiště. Vyberte existující účet nebo vytvořte nový účet pomocí + Účet úložiště. Pak vyberte existující kontejner nebo vytvořte nový kontejner pomocí + Container. Tento kontejner se použije k vytvoření aktualizačních souborů pro import.
Poznámka
Doporučujeme, abyste při každém importu aktualizace použili nový kontejner, abyste se vyhnuli náhodnému importu souborů z předchozích aktualizací. Pokud nepoužíváte nový kontejner, nezapomeňte před dokončením tohoto kroku odstranit všechny soubory z existujícího kontejneru.
V kontejneru vyberte Nahrát a přejděte na soubory, které jste stáhli v kroku 1. Po výběru všech souborů aktualizací vyberte Nahrát. Pak se výběrem tlačítka Vybrat vraťte na stránku Importovat aktualizaci .
Tento snímek obrazovky ukazuje krok importu. Názvy souborů se nemusí shodovat s názvy použitými v příkladu.
Na stránce Importovat aktualizaci zkontrolujte soubory, které se mají importovat. Potom vyberte Importovat aktualizaci a spusťte proces importu. Pro účely tohoto kurzu naimportujte manifest ukázkového kurzu a ukázkovou aktualizaci (soubor .swu) a ukázkový skript A/B stažený dříve.
Spustí se proces importu a obrazovka se přepne do části Historie importu . Když sloupec Stav označuje, že import proběhl úspěšně, vyberte záhlaví Dostupné aktualizace . Importovaná aktualizace by se teď měla zobrazit v seznamu.
Další informace o procesu importu najdete v tématu Import aktualizace do služby Device Update.
Zobrazení skupin zařízení
Služba Device Update používá k uspořádání zařízení skupiny. Device Update automaticky seřadí zařízení do skupin na základě přiřazených značek a vlastností kompatibility. Každé zařízení patří pouze do jedné skupiny, ale skupiny můžou mít více podskupin pro řazení různých tříd zařízení.
V horní části stránky přejděte na kartu Skupiny a nasazení .
Zobrazte si seznam skupin a graf dodržování předpisů aktualizací. Graf dodržování předpisů aktualizací zobrazuje počet zařízení v různých stavech dodržování předpisů: Při nejnovější aktualizaci, jsou k dispozici nové aktualizace a probíhá Aktualizace. Přečtěte si o dodržování předpisů aktualizací.
Měli byste vidět skupinu zařízení, která obsahuje simulované zařízení, které jste nastavili v tomto kurzu, spolu se všemi dostupnými aktualizacemi pro zařízení v nové skupině. Pokud existují zařízení, která nesplňují požadavky na třídu zařízení skupiny, zobrazí se v odpovídající neplatné skupině. Pokud chcete nasadit nejlepší dostupnou aktualizaci do nové uživatelem definované skupiny z tohoto zobrazení, vyberte Nasadit vedle skupiny.
Další informace o značkách a skupinách najdete v tématu Správa skupin zařízení.
Nasazení aktualizace
Po vytvoření skupiny by se pro vaši skupinu zařízení měla zobrazit nová aktualizace s odkazem na aktualizaci v části Nejlepší aktualizace. Možná budete muset provést aktualizaci jednou.
Další informace o dodržování předpisů najdete v tématu Dodržování předpisů službou Device Update.
Vyberte cílovou skupinu tak, že vyberete název skupiny. Budete přesměrováni na podrobnosti o skupině v části Základy skupiny.
Pokud chcete nasazení zahájit, přejděte na kartu Aktuální nasazení. V části Dostupné aktualizace vyberte odkaz pro nasazení vedle požadované aktualizace. Nejlepší dostupná aktualizace pro danou skupinu je označená zvýrazněním Nejlepší .
Naplánujte nasazení tak, aby se spustilo okamžitě nebo v budoucnu. Potom vyberte Vytvořit.
Tip
Ve výchozím nastavení je počáteční datum a čas 24 hodin od aktuálního času. Pokud chcete, aby nasazení začalo dříve, nezapomeňte vybrat jiné datum a čas.
V části Podrobnosti nasazení se Stav změní na Aktivní. Nasazená aktualizace je označená znakem (nasazení).
Zobrazte si graf dodržování předpisů a podívejte se, že aktualizace právě probíhá.
Po úspěšné aktualizaci zařízení uvidíte, že se graf dodržování předpisů a podrobnosti o nasazení aktualizují tak, aby odrážely totéž.
Monitorování nasazení aktualizace
V horní části stránky vyberte kartu Historie nasazení .
Vyberte odkaz podrobnosti vedle nasazení, které jste vytvořili.
Vyberte Aktualizovat a zobrazte nejnovější podrobnosti o stavu.
Teď jste dokončili úspěšnou kompletní aktualizaci image pomocí služby Device Update pro IoT Hub na zařízení Raspberry Pi 3 B+.
Vyčištění prostředků
Pokud už ho nepotřebujete, vyčistěte účet služby Device Update, instanci, centrum IoT a zařízení IoT.