Kurz: Azure Device Update pro IoT Hub s využitím image Raspberry Pi
Aktualizace zařízení pro Azure IoT Hub podporuje aktualizace založené na imagích, na balíčcích a skriptech. Tento kurz ukazuje kompletní aktualizaci zařízení založenou na imagi pro IoT Hub pomocí image Yocto na desce Raspberry Pi 3 B+.
Aktualizace imagí poskytují vysokou míru spolehlivosti koncového stavu zařízení a nepředstavují stejné problémy správy balíčků a závislostí jako aktualizace založené na balíčcích nebo skriptech. Je jednodušší replikovat výsledky aktualizace image mezi předprodukčním a produkčním prostředím nebo snadno přijmout model převzetí služeb při selhání A/B.
V tomto kurzu se naučíte:
- Stáhněte a nainstalujte aktualizaci image.
- Přiřaďte k zařízení IoT značku.
- Naimportujte aktualizaci image.
- Nasaďte aktualizaci image.
- Zobrazte historii nasazení aktualizací.
Požadavky
Účet a instance služby Device Update nakonfigurované s centrem IoT.
Deska IoT Raspberry Pi 3 připojená přes Ethernet k hardwaru, která dokáže stáhnout a extrahovat soubory obrázků a ovládat zařízení.
Poznámka:
Aktualizace obrázků v tomto kurzu byly ověřeny na panelu Raspberry Pi B3.
Registrace zařízení a získání připojovací řetězec
Přidejte zařízení do registru zařízení ve službě IoT Hub a získejte připojovací řetězec IoT Hub vygeneruje zařízení.
- Na webu Azure Portal otevřete stránku centra IoT přidruženou k vaší instanci služby Device Update.
- V levém navigačním podokně vyberte Zařízení pro správu>zařízení.
- Na stránce Zařízení vyberte Přidat zařízení.
- V části ID zařízení zadejte název zařízení. Ujistěte se, že je zaškrtnuté políčko Automaticky vygenerovat klíče .
- Zvolte Uložit. Zařízení se zobrazí v seznamu na stránce Zařízení .
- Na stránce Zařízení vyberte zařízení, které jste zaregistrovali.
- Na stránce zařízení vyberte ikonu Kopírovat vedle připojovacího řetězce (primární klíč). Uložte toto zařízení, připojovací řetězec použít při konfiguraci agenta Aktualizace zařízení.
Poznámka:
Pro demonstrační účely tento kurz používá zařízení připojovací řetězec k ověření a připojení k centru IoT. V produkčních scénářích je lepší k zřizování zařízení použít identitu modulu a službu IoT Identity Service . Další informace najdete v tématu Zřizování agenta služby Device Update.
Nastavení Raspberry Pi
Soubor Tutorial_RaspberryPi3.zip obsahuje všechny požadované soubory pro kurz. Stáhněte si soubor z části Prostředky nejnovější verze na stránce Vydání služby GitHub Device Update a rozbalte ho.
V extrahované složce Tutorial_RaspberryPi3 je základní obrázek, který můžete blikat na desku Raspberry Pi, adu-base-image-raspberrypi3.wic. Základní image používá sestavení Yocto založené na verzi 3.4.4. Image obsahuje agenta Aktualizace zařízení a SWUpdate, který umožňuje aktualizaci duálního oddílu služby Device Update. Další informace o vrstvách Yocto najdete v tématu Vytvoření vlastního linuxového systému pomocí agenta Device Update pomocí projektu Yocto.
Soubory aktualizací, které importujete prostřednictvím služby Device Update, jsou:
- Soubor SWUpdate adu-update-image-raspberrypi3-1.2.0.swu
- Vlastní skript SWUpdate example-a-b-update.sh
- EDS-ADUClient.yocto-update.1.2.0.importmanifest.json manifestu
Použití nástroje bmaptool k bliknutí karty SD
Důležité
Na software Azure Device Update for IoT Hub se vztahují následující licenční podmínky:
Přečtěte si licenční podmínky před použitím agenta. Instalace a používání agenta představuje přijetí těchto podmínek. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte agenta Device Update.
Pomocí nástroje pro blikání operačního systému nainstalujte základní image služby Device Update na kartu SD, kterou používáte v zařízení Raspberry Pi. Následující pokyny slouží bmaptool
k blesku na kartu SD. <device>
Zástupný symbol nahraďte názvem vašeho zařízení a <path to image>
zástupným symbolem cestou ke staženého souboru obrázku.
bmap-tools
Nainstalujte nástroj, pokud ho nemáte.sudo apt-get install bmap-tools
Vyhledejte cestu k kartě SD v /dev. Cesta by měla vypadat nějak takto: /dev/sd* nebo /dev/mmcblk*. Pomocí nástroje můžete
dmesg
najít správnou cestu.Před bliknutí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>
Zablikání karty SD.
sudo bmaptool copy <path to image> /dev/<device>
Tip
Pro rychlejší blikání můžete stáhnout soubor bimap a soubor obrázku a vložit je do stejného adresáře.
Konfigurace agenta Device Update na Raspberry Pi
Ujistěte se, že je Raspberry Pi připojené k síti.
Secure Shell (SSH) do Raspberry Pi pomocí následujícího příkazu v okně PowerShellu:
ssh raspberrypi3 -l root
Vytvoření konfiguračních souborů služby Device Update
Konfigurační soubory du-config.json a du-diagnostics-config.json služby Device Update musí být na zařízení. Pokud chcete vytvořit soubory, spusťte v terminálu přihlášené k Raspberry Pi následující příkazy.
Pokud chcete vytvořit du-config.json soubor nebo ho otevřít pro úpravy, spusťte následující příkaz:
nano /adu/du-config.json
Editor otevře soubor du-config.json . Pokud vytváříte soubor, je prázdný. Zkopírujte do souboru následující kód a nahraďte ukázkové hodnoty všemi požadovanými konfiguracemi pro vaše zařízení. Nahraďte ukázkový
connectionData
řetězec připojovací řetězec zařízení, které jste zkopírovali v kroku registrace zařízení.{ "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" } ] }
Stisknutím kláves Ctrl+X ukončete editor a stisknutím klávesy y uložte provedené změny.
Vytvořte soubor du-diagnostics-config.json pomocí podobných příkazů. Vytvořte a otevřete soubor:
nano /adu/du-diagnostics-config.json
Zkopírujte a vložte do souboru následující du-diagnostics-config.json kód. Jedná se o výchozí umístění protokolu služby Device Update a je potřeba je změnit jenom v případě, že se vaše konfigurace liší od výchozího nastavení.
{ "logComponents":[ { "componentName":"adu", "logPath":"/adu/logs/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
Stisknutím kláves Ctrl+X ukončete editor a stisknutím klávesy y uložte provedené změny.
Pomocí následujícího příkazu zobrazte soubory umístěné v adresáři /adu/ . Měly by se zobrazit oba konfigurační soubory.
ls -la /adu/
Pomocí následujícího příkazu restartujte proces démon systému Device Update a ujistěte se, že jsou použity konfigurace.
systemctl start deviceupdate-agent
Spuštěním následujícího příkazu zkontrolujte, jestli je agent aktivní:
systemctl status deviceupdate-agent
Stav by se měl zobrazit jako živý a zelený.
Připojení k zařízení ve službě IoT Hub a přidání značky skupiny
Na stránce centra IoT na webu Azure Portal pro instanci služby Device Update vyberte v levém navigačním panelu zařízení.>
Na stránce Zařízení vyberte název zařízení.
V horní části stránky zařízení vyberte dvojče zařízení.
Na stránce dvojčete zařízení v
"reported"
části dvojčete"properties"
zařízení vyhledejte verzi jádra Linuxu pro vaše zařízení.U nového zařízení, které neobdrželo aktualizaci ze služby Device Update, představuje hodnota vlastnosti DeviceManagement:DeviceInformation:1.swVersion verzi firmwaru spuštěnou na zařízení. Po instalaci aktualizace zařízení představuje hodnota vlastnosti AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId verzi firmwaru.
Názvy základních a aktualizačních souborů imagí mají formát adu-image type-image-machine-version<>>< číslo.<><rozšíření>. Poznamenejte si čísla verzí, která se mají použít při importu aktualizace.
Přidání značky skupiny
Služba Device Update automaticky uspořádá zařízení do skupin na základě přiřazených značek a vlastností kompatibility. Každé zařízení může patřit pouze do jedné skupiny, ale skupiny můžou mít více podskupin pro řazení různých tříd zařízení. Další informace o značkách a skupinách najdete v tématu Správa skupin zařízení.
Ve dvojčeti zařízení odstraňte všechny existující hodnoty značek Device Update tak, že je nastavíte na hodnotu null, a pak přidejte následující novou značku skupiny Device Update. Pokud používáte identitu modulu s agentem Device Update, přidejte značku do dvojčete identity modulu místo dvojčete zařízení.
"tags": { "ADUGroup": "<CustomTagValue>" },
Následující snímek obrazovky ukazuje, kde v souboru přidejte značku.
Zvolte Uložit.
Import aktualizace
Na stránce centra IoT na webu Azure Portal pro vaši instanci služby Device Update vyberte v levém navigačním panelu Správa zařízení> Updates.
Na stránce Aktualizace vyberte Importovat novou aktualizaci.
Na stránce Import update (Importovat aktualizaci) vyberte Select from storage container (Vybrat z kontejneru úložiště).
Na stránce Účty úložiště vyberte existující účet úložiště nebo vytvořte nový účet výběrem účtu úložiště.
Na stránce Kontejnery vyberte existující kontejner nebo vytvořte nový kontejner výběrem kontejneru. Pomocí kontejneru připravíte soubory aktualizací pro import.
Tip
Pokud se chcete vyhnout náhodnému importu souborů z předchozích aktualizací, při každém importu aktualizace použijte nový kontejner. Pokud nepoužíváte nový kontejner, nezapomeňte z existujícího kontejneru odstranit všechny soubory.
Na stránce kontejneru vyberte Nahrát. Přetáhněte nebo přejděte a vyberte následující aktualizační soubory ze složky Tutorial_RaspberryPi3 , kterou jste stáhli:
- adu-update-image-raspberrypi3-1.2.0.swu
- example-a-b-update.sh
- EDS-ADUClient.yocto-update.1.2.0.importmanifest.json
Vyberte Odeslat. Po nahrání se soubory zobrazí na stránce kontejneru.
Na stránce kontejneru zkontrolujte a vyberte soubory, které chcete importovat, a pak vyberte Vybrat.
Na obrazovce Importovat aktualizaci vyberte Importovat aktualizaci.
Proces importu začíná a obrazovka se přepne na obrazovku Aktualizace . Po úspěšném importu se zobrazí na kartě Aktualizace . Další informace o procesu importu najdete v tématu Import aktualizace do služby Device Update.
Výběr skupiny zařízení
K nasazení aktualizace do skupiny zařízení můžete použít značku skupiny, kterou jste na zařízení použili. Výběrem karty Skupiny a nasazení v horní části stránky Aktualizace zobrazte seznam skupin a nasazení 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, dostupných nových aktualizacích a probíhajících aktualizacích. Další informace najdete v tématu Dodržování předpisů ve službě Device Update.
V části Název skupiny se zobrazí seznam všech skupin zařízení pro zařízení připojená k tomuto centru IoT a jejich dostupné aktualizace s odkazy na nasazení aktualizací v části Stav. Všechna zařízení, která nesplňují požadavky na třídu zařízení skupiny, se zobrazí v odpovídající neplatné skupině. Další informace o značkách a skupinách najdete v tématu Správa skupin zařízení.
Měla by se zobrazit skupina zařízení, která obsahuje zařízení, které jste v tomto kurzu nastavili, spolu s dostupnými aktualizacemi pro zařízení ve skupině. Možná budete muset stránku aktualizovat. Pokud chcete nasadit nejlepší dostupnou aktualizaci do skupiny z tohoto zobrazení, vyberte Nasadit vedle skupiny.
Nasazení aktualizace
Na stránce Podrobnosti skupiny vyberte kartu Aktuální nasazení a pak v části Dostupné aktualizace vyberte Nasadit vedle požadované aktualizace. Nejlepší dostupná aktualizace pro skupinu je označena nejlepším zvýrazněním.
Na stránce Vytvořit nasazení naplánujte, aby se nasazení spustilo okamžitě nebo v budoucnu, a pak vyberte Vytvořit.
Tip
Ve výchozím nastavení je počáteční datum a čas od aktuálního času 24 hodin. Pokud chcete, aby nasazení začalo dříve, nezapomeňte vybrat jiné datum a čas.
V části Podrobnosti o nasazení se stav změní na aktivní. V části Dostupné aktualizace je vybraná aktualizace označena (nasazením).
Na stránce Aktualizace zobrazte graf dodržování předpisů, abyste viděli, že aktualizace právě probíhá. Po úspěšné aktualizaci zařízení se graf dodržování předpisů a podrobnosti nasazení aktualizují tak, aby odrážely tento stav.
Zobrazení historie nasazení aktualizací
Zobrazení historie nasazení:
Vyberte kartu Historie nasazení v horní části stránky Podrobnosti skupiny a vyberte odkaz podrobností vedle vytvořeného nasazení.
Na stránce Podrobnosti o nasazení vyberte Aktualizovat, abyste zobrazili nejnovější podrobnosti o stavu.
Vyčištění prostředků
Pokud už nepotřebujete prostředky, které jste vytvořili pro účely tohoto kurzu, můžete je odstranit.
- Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje prostředky.
- Pokud chcete odstranit všechny prostředky ve skupině, vyberte Odstranit skupinu prostředků.
- Pokud chcete odstranit jenom některé prostředky, pomocí zaškrtávacích políček vyberte prostředky a pak vyberte Odstranit.
Další kroky
- Aktualizace zařízení pro IoT Hub pomocí agenta simulátoru
- Aktualizace zařízení pro IoT Hub pomocí agenta balíčku