Kurz: Aktualizace zařízení pro Azure IoT Hub pomocí referenčního agenta simulátoru Ubuntu (18.04 x64)

Tento kurz ukazuje kompletní aktualizaci založenou na imagích pomocí aktualizace zařízení pro IoT Hub. Aktualizace zařízení pro Azure IoT Hub podporuje aktualizace založené na imagích, balíčky a skripty.

Aktualizace imagí poskytují vyšší úroveň spolehlivosti koncového stavu zařízení. Replikace výsledků aktualizace image mezi předprodukčním prostředím a produkčním prostředím je obvykle jednodušší, protože to nepředstavuje stejné problémy jako správa balíčků a jejich závislostí. Vzhledem k jejich atomické povaze můžete také snadno přijmout model převzetí služeb při selhání A/B.

V tomto kurzu se naučíte:

  • Přiřaďte zařízení IoT ke skupině Aktualizace zařízení pomocí značek.
  • Stáhněte a nainstalujte image.
  • Naimportujte aktualizaci.
  • Nasazení aktualizace image
  • Monitorujte nasazení aktualizace.

Požadavky

  • Vytvořte účet a instanci služby Device Update nakonfigurovanou se službou IoT Hub.

  • Máte zařízení s Ubuntu 18.04. Toto zařízení může být fyzické nebo virtuální.

  • Stáhněte si soubor ZIP s názvem Tutorial_Simulator.zip z release Assets v nejnovější verzi a rozbalte ho.

    Pokud se vaše testovací zařízení liší od vývojového počítače, stáhněte si soubor ZIP do obou.

    Soubor ZIP můžete stáhnout pomocí wget příkazu . Nahraďte <release_version> nejnovější verzí, například 1.0.0.

    wget https://github.com/Azure/iot-hub-device-update/releases/download/<release_version>/Tutorial_Simulator.zip
    

Registrace zařízení a konfigurace identity modulu

Přidejte zařízení do registru zařízení ve službě IoT Hub. Každé zařízení, které se připojuje ke službě IoT Hub, musí být zaregistrované.

V této části také vytvoříme identitu modulu. Moduly jsou nezávislé identity pro komponenty, které existují na zařízení IoT, což umožňuje jemnější členitost, když máte zařízení IoT s více procesy. Pro účely tohoto kurzu použijete tuto identitu modulu pro agenta aktualizace zařízení, který běží na zařízení IoT. Další informace najdete v tématu Principy a použití dvojčat modulů v IoT Hub.

  1. V Azure Portal přejděte do centra IoT.
  2. V levém podokně vyberte Zařízení. Pak vyberte Přidat zařízení.
  3. V části ID zařízení zadejte název zařízení. Ujistěte se, že je zaškrtnuté políčko Automaticky vygenerovat klíče .
  4. Vyberte Uložit.
  5. Teď se vrátíte na stránku Zařízení a zařízení, které jste vytvořili, by mělo být v seznamu. Vyberte toto zařízení.
  6. Vyberte Přidat identitu modulu.
  7. V části Název identity modulu zadejte název modulu, například DUAgent.
  8. Vyberte Uložit.

Zkopírování připojovacího řetězce modulu

  1. V zobrazení zařízení by se nový modul měl zobrazit pod nadpisem Identity modulů . Výběrem názvu modulu otevřete jeho podrobnosti.
  2. Vyberte ikonu Kopírovat vedle položky Připojovací řetězec (primární klíč). Uložte tento připojovací řetězec, který chcete použít při konfiguraci agenta aktualizace zařízení. Tento řetězec je připojovací řetězec vašeho modulu.

Přidání značky do dvojčete modulu

  1. Na stránce s podrobnostmi o identitě modulu vyberte Dvojče identity modulu.

  2. Přidejte novou hodnotu značky Device Update na stejné úrovni jako modelId a version v souboru dvojčete, jak je znázorněno na obrázku:

    "tags": {
        "ADUGroup": "DU-simulator-tutorial"
    },
    

    Snímek obrazovky se značkou ADUGroup ve dvojčeti modulu

    Každé zařízení spravované službou Device Update potřebuje tuto rezervovanou značku, která zařízení přiřadí skupině Device Update. Může být ve dvojčeti zařízení nebo ve dvojčeti modulu, jak je znázorněno tady. Každé zařízení může být přiřazeno pouze k jedné skupině Aktualizace zařízení.

  3. Vyberte Uložit. Portál přeformátuje dvojče modulu, aby se značka začlenila do struktury JSON.

Instalace a konfigurace agenta aktualizace zařízení

Agent aktualizace zařízení běží na všech zařízeních spravovaných službou Device Update. V tomto kurzu ho nakonfigurujeme tak, aby běžel jako simulátor, abychom viděli, jak se aktualizace může na zařízení použít, aniž by se změnila konfigurace zařízení.

  1. Na zařízení IoT přidejte úložiště balíčků Microsoft a pak přidejte podpisový klíč balíčku Microsoftu do seznamu důvěryhodných klíčů.

    wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb   
    
  2. Nainstalujte balíčky .deb agenta aktualizace zařízení.

    sudo apt-get update
    sudo apt-get install deviceupdate-agent
    
  3. Otevřete konfigurační soubor agenta.

    sudo nano /etc/adu/du-config.json
    
  4. Aktualizujte následující hodnoty v konfiguračním souboru:

    • manufacturer: "Contoso" – Tato hodnota slouží ke klasifikaci zařízení IoT pro cílení aktualizací.
    • model: "Video" Tato hodnota se používá ke klasifikaci zařízení IoT pro cílení aktualizací.
    • name (název):"aduagent"
    • agents.connectionData: Zadejte připojovací řetězec, který jste zkopírovali z identity modulu.
    • agents.manufacturer: "Contoso"
    • agents.model: "Video"

    Další informace o parametrech v tomto kroku najdete v konfiguračním souboru aktualizace zařízení.

    Poznámka

    Ke zřízení zařízení můžete také použít službu IoT Identity Service. Provedete to tak, že před instalací agenta aktualizace zařízení nainstalujete službu iot indentity . Potom nakonfigurujte agenta Aktualizace zařízení s "connectionType": "AIS" a connectionData jako prázdný řetězec v konfiguračním souboru.

  5. Uložte soubor a zavřete ho. CTRL + X, Ya Enter.

  6. Nastavte agenta tak, aby běžel jako simulátor. Spusťte na zařízení IoT následující příkaz, aby agent aktualizace zařízení vyvolal obslužnou rutinu simulátoru pro zpracování aktualizace balíčku pomocí SWUpdate (microsoft/swupdate:1).

      sudo /usr/bin/AducIotAgent --extension-type updateContentHandler --extension-id 'microsoft/swupdate:1' --register-extension /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so
    
  7. Rozbalte Tutorial_Simulator.zip soubor, který jste stáhli v požadavcích, a zkopírujte sample-du-simulator-data.json soubor do tmp složky.

    cp sample-du-simulator-data.json /tmp/du-simulator-data.json
    

    Pokud /tmp neexistuje, spusťte příkaz:

    sudo mkdir/tmp
    sudo chown root:root/tmp
    sudo chmod 1777/tmp
    
  8. Změňte oprávnění pro nový soubor.

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    
  9. Restartujte agenta aktualizace zařízení, aby se změny projevily.

     sudo systemctl restart deviceupdate-agent
    

Import aktualizace

V této části použijete soubory TutorialImportManifest_Sim.importmanifest.json a adu-update-image-raspberrypi3.swu ze stažených Tutorial_Simulator.zip v požadavcích. Aktualizační soubor se znovu použije z kurzu Raspberry Pi. Vzhledem k tomu, že aktualizace v tomto kurzu je simulovaná, nezáleží na obsahu konkrétního souboru.

  1. Na vývojovém počítači se přihlaste k Azure Portal a přejděte do centra IoT, které je nakonfigurované pomocí služby Device Update.

  2. V navigačním podokně v části Správa zařízení vyberte Aktualizace.

  3. Vyberte Importovat novou aktualizaci.

  4. Vyberte Vybrat z kontejneru úložiště.

  5. Vyberte existující účet úložiště nebo vytvořte nový tak, že vyberete + Účet úložiště. Pak vyberte existující kontejner nebo vytvořte nový kontejner výběrem + Kontejner. 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.

    Snímek obrazovky s účty úložiště a kontejnery

  6. V kontejneru vyberte Nahrát a přejděte na soubory, které jste stáhli v požadavcích. Vyberte soubory TutorialImportManifest_Sim.importmanifest.json a adu-update-image-raspberrypi3.swu a pak vyberte Nahrát.

  7. Zaškrtněte políčko u každého souboru a pak se výběrem tlačítka Vybrat vraťte na stránku Import aktualizace .

    Snímek obrazovky znázorňující výběr nahraných souborů v kontejneru

  8. Na stránce Importovat aktualizaci zkontrolujte soubory, které se mají importovat. Potom vyberte Importovat aktualizaci a spusťte proces importu.

    Snímek obrazovky s nahranými soubory, které se naimportují jako aktualizace

  9. Spustí se proces importu a obrazovka se přepne do části Historie importu . Ve sloupci Stav se při probíhajícím importu zobrazuje import jako Spuštěný a po dokončení importu je import úspěšný . Pomocí tlačítka Aktualizovat aktualizujte stav.

  10. 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.

    Snímek obrazovky znázorňující novou aktualizaci uvedenou jako dostupnou aktualizaci

Další informace o procesu importu najdete v tématu Import aktualizace do služby Device Update pro IoT Hub.

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í.

  1. V horní části stránky Aktualizace přejděte na kartu Skupiny a nasazení.

  2. 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í.

    Snímek obrazovky se zobrazením 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ě.

Další informace o značkách a skupinách najdete v tématu Správa skupin zařízení.

Nasazení aktualizace

  1. Na kartě Skupiny a nasazení byste měli vidět novou aktualizaci dostupnou pro vaši skupinu zařízení. Odkaz na aktualizaci by měl být v části Stav. Možná budete muset stránku aktualizovat.

  2. Výběrem názvu skupiny zobrazíte její podrobnosti.

  3. Na stránce s podrobnostmi o skupině byste měli vidět, že je k dispozici jedna nová aktualizace. Výběrem možnosti Nasadit spusťte nasazení.

    Snímek obrazovky znázorňující spuštění nasazení aktualizace skupiny

  4. Aktualizace, kterou jsme naimportovali v předchozí části, je uvedená jako nejlepší dostupná aktualizace pro tuto skupinu. Vyberte Nasadit.

  5. Naplánujte okamžité spuštění nasazení a pak vyberte Vytvořit.

  6. Na stránce s podrobnostmi o skupině přejděte na kartu Aktuální aktualizace . V části Podrobnosti nasazení se Stav změní na Aktivní.

  7. Po úspěšné aktualizaci zařízení se vraťte na stránku Aktualizace. Měli byste vidět, že se graf dodržování předpisů a podrobnosti nasazení aktualizují tak, aby odrážely totéž.

Monitorování nasazení aktualizace

  1. Vraťte se na stránku s podrobnostmi o skupině a vyberte kartu Historie nasazení .

  2. Vyberte Zobrazit podrobnosti nasazení vedle nasazení, které jste vytvořili.

    Snímek obrazovky s podrobnostmi o nasazení

  3. Vyberte Aktualizovat a zobrazte nejnovější podrobnosti o stavu.

Teď jste dokončili úspěšnou kompletní aktualizaci image pomocí aktualizace zařízení pro IoT Hub pomocí referenčního agenta simulátoru Ubuntu (18.04 x64).

Vyčištění prostředků

Pokud budete pokračovat k dalšímu kurzu, ponechte si aktualizaci zařízení a IoT Hub prostředky.

Pokud už je nepotřebujete, můžete tyto prostředky v Azure Portal odstranit.

  1. V Azure Portal přejděte do skupiny prostředků.

  2. Zvolte, které prostředky chcete odstranit.

    • Pokud chcete odstranit všechny prostředky ve skupině, vyberte Odstranit skupinu prostředků.
    • Pokud chcete odstranit jenom vybrané prostředky, pomocí zaškrtávacích políček prostředky vyberte a pak vyberte Odstranit.

Další kroky

V tomto kurzu jste zjistili, jak importovat a nasadit aktualizaci image. Dále se dozvíte, jak aktualizovat balíčky zařízení.