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.
- Vytvořte skupinu zařízení.
- 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.
Stažení image
Ukázkové obrázky poskytujeme v části Prostředky na stránce vydaných verzí služby Device Update na GitHubu. Soubor .gz je základní image, na které můžete blikat na desce Raspberry Pi 3 B+. Soubor swUpdate je aktualizace, kterou byste pro IoT Hub naimportovali prostřednictvím služby Device Update.
Flash SD kartu s obrázkem
Pomocí oblíbeného nástroje pro flash operačního systému nainstalujte základní image aktualizace zařízení (adu-base-image) na SD kartu, která se bude používat v zařízení Raspberry Pi 3 B+.
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.
Vytvoření zařízení nebo modulu 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.
V Azure Portal spusťte IoT Hub.
Vytvořte nové zařízení.
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.
Pomocí jedné ze dvou možností získejte připojovací řetězec zařízení:
- Možnost 1: Použití agenta aktualizace zařízení s identitou modulu: Na stejné stránce Zařízení vyberte nahoře Možnost Přidat identitu modulu . Vytvořte nový modul Device Update s názvem IoTHubDeviceUpdate. Zvolte další možnosti, které platí pro váš případ použití, a pak vyberte Uložit. Vyberte nově vytvořený modul. V zobrazení modulu vyberte ikonu Kopírovat vedle položky Primární připojovací řetězec.
- Možnost 2: Použití agenta Aktualizace zařízení s identitou zařízení: V zobrazení zařízení vyberte 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í.
Příprava konfigurací v zařízení pro službu Device Update pro IoT Hub
Aby se služba Device Update pro IoT Hub správně nakonfigurovali, musí být v zařízení dva konfigurační soubory. Prvním souborem du-config.json
je soubor , který musí existovat na adrese /adu/du-config.json
. Druhým souborem du-diagnostics-config.json
je soubor, který musí existovat na adrese /adu/du-diagnostics-config.json
.
Tady jsou dva příklady souborů du-config.json
a du-diagnostics-config.json
:
Příklad du-config.json
{
"schemaVersion": "1.0",
"aduShellTrustedUsers": [
"adu",
"do"
],
"manufacturer": "fabrikam",
"model": "vacuum",
"agents": [
{
"name": "main",
"runas": "adu",
"connectionSource": {
"connectionType": "string",
"connectionData": "HostName=example-connection-string.azure-devices.net;DeviceId=example-device;SharedAccessKey=M5oK/rOP12aB5678YMWv5vFWHFGJFwE8YU6u0uTnrmU="
},
"manufacturer": "fabrikam",
"model": "vacuum"
}
]
}
Příklad du-diagnostics-config.json
{
"logComponents":[
{
"componentName":"adu",
"logPath":"/adu/logs/"
},
{
"componentName":"do",
"logPath":"/var/log/deliveryoptimization-agent/"
}
],
"maxKilobytesToUploadPerLogPath":50
}
Konfigurace agenta aktualizace zařízení v Raspberry Pi
Ujistěte se, že je Raspberry Pi 3 připojený k síti.
Podle těchto pokynů přidejte podrobnosti o konfiguraci:
Nejprve se přes SSH přihlaste k počítači pomocí následujícího příkazu v okně PowerShellu:
ssh raspberrypi3 -l root
Vytvořte nebo otevřete
du-config.json
soubor pro úpravy pomocí: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 obsah du-config.json z předchozího příkladu 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.
Po dokončení změn stiskněte Ctrl+X a ukončete editor. Potom zadejte y , aby se změny uložily.
Teď potřebujete vytvořit
du-diagnostics-config.json
soubor pomocí podobných příkazů. Začněte vytvořením nebo otevřenímdu-diagnostics-config.json
souboru pro úpravy pomocí příkazu:nano /adu/du-diagnostics-config.json
Zkopírujte obsah du-diagnostics-config.json z předchozího příkladu 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. Stačí je změnit pouze v případě, že se vaše implementace liší.
Po dokončení změn stiskněte Ctrl+X a ukončete editor. Potom zadejte y , aby se změny uložily.
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 adu-agent
Pomocí následujícího příkazu zkontrolujte, že je agent aktivní:
systemctl status adu-agent
Měli byste vidět, že se stav vrátí jako ž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í.
Pokud se ke službě Device Update připojujete přímo pomocí identity zařízení IoT, vyberte v horní části stránky možnost Dvojče zařízení. Jinak vyberte modul, který jste vytvořili, a vyberte jeho dvojče.
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 do zařízení
Přihlaste se k Azure Portal a přejděte do centra IoT.
V levém podokně v části Zařízení najděte své zařízení IoT a přejděte k dvojčeti zařízení nebo dvojčeti modulu.
Ve dvojčeti modulu agenta aktualizace zařízení odstraňte všechny existující hodnoty značek služby Device Update tak, že je nastavíte na hodnotu null. Pokud používáte identitu zařízení s agentem Aktualizace zařízení, proveďte tyto změny ve dvojčeti zařízení.
Přidejte novou hodnotu značky Device Update, jak je znázorněno níže:
"tags": { "ADUGroup": "<CustomTagValue>" }
Import aktualizace
Stáhněte si ukázkový manifest kurzu (Kurz Import Manifest_Pi.json) a ukázkovou aktualizaci (adu-update-image-raspberrypi3-0.6.5073.1.swu) z části Prostředky vydané verze pro nejnovější agenty.
Přihlaste se k Azure Portal a přejděte do centra IoT pomocí služby Device Update. 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í + Kontejner. Tento kontejner se použije k rozfázování souborů aktualizací 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 k souborům, 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 Import aktualizace .
Tento snímek obrazovky ukazuje krok importu. Názvy souborů se nemusí shodovat s názvy souborů 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.
Spustí se proces importu a obrazovka se přepne do části Historie importu . Když sloupec Stav indikuje, že import proběhl úspěšně, vyberte záhlaví Dostupné aktualizace . Importovaná aktualizace by se teď měla zobrazit v seznamu.
Přečtěte si další informace o importu aktualizací.
Vytvoření skupiny aktualizací
V horní části stránky přejděte na kartu Skupiny a nasazení .
Vyberte Přidat skupinu a vytvořte novou skupinu.
V seznamu vyberte značku IoT Hub a Třídu zařízení. Pak vyberte Vytvořit skupinu.
Po vytvoření skupiny se aktualizuje graf dodržování předpisů aktualizací a seznam skupin. 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, dostupné nové aktualizace a probíhající Aktualizace. Přečtěte si o dodržování předpisů pro aktualizace.
Měli byste vidět nově vytvořenou skupinu a všechny dostupné aktualizace 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é skupiny definované uživatelem z tohoto zobrazení, vyberte Nasadit vedle skupiny.
Přečtěte si další informace o tom, jak přidávat značky a vytvářet skupiny aktualizací.
Nasazení aktualizace
Po vytvoření skupiny by se měla zobrazit nová aktualizace dostupná pro vaši skupinu zařízení. Odkaz na aktualizaci by měl být v části Nejlepší aktualizace. Možná budete muset provést aktualizaci jednou. Přečtěte si další informace o dodržování předpisů pro aktualizace.
Vyberte cílovou skupinu tak, že vyberete název skupiny. Budete přesměrováni na podrobnosti o skupině v části Základy skupiny.
Nasazení spustíte tak, že přejdete na kartu Aktuální nasazení. V části Dostupné aktualizace vyberte odkaz nasazení vedle požadované aktualizace. Nejlepší dostupná aktualizace pro danou skupinu má označení Nejlepší zvýraznění.
Naplánujte nasazení tak, aby se spustilo okamžitě nebo v budoucnu. Potom vyberte Vytvořit.
V části Podrobnosti nasazení se Stav změní na Aktivní. Nasazená aktualizace je označená (nasazuje se).
Prohlédněte si graf dodržování předpisů a podívejte se, že právě probíhá aktualizace.
Po úspěšné aktualizaci zařízení uvidíte, že se graf dodržování předpisů a podrobnosti o nasazení aktualizovaly tak, aby odrážely totéž.
Monitorování nasazení aktualizací
V horní části stránky vyberte kartu Historie nasazení .
Vyberte Podrobnosti vedle nasazení, které jste vytvořili.
Výběrem možnosti Aktualizovat zobrazíte nejnovější podrobnosti o stavu.
Dokončili jste úspěšnou kompletní aktualizaci image pomocí aktualizace zařízení pro IoT Hub na zařízení Raspberry Pi 3 B+.
Vyčištění prostředků
Pokud už účet Služby Device Update, instanci, centrum IoT a zařízení IoT nepotřebujete, vyčistěte.