Sdílet prostřednictvím


Kurz: Azure Device Update pro IoT Hub pomocí agenta simulátoru

Azure Device Update pro IoT Hub podporuje aktualizace založené na imagích, balíčky a skripty. Tento kurz ukazuje kompletní aktualizaci device update založenou na imagi, která používá agenta simulátoru Ubuntu.

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:

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

Požadavky

Registrace a konfigurace zařízení a 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é.

  1. Na webu Azure Portal otevřete stránku centra IoT přidruženou k vaší instanci služby Device Update.
  2. V navigačním podokně vyberte Zařízení pro správu>zařízení.
  3. Na stránce Zařízení vyberte Přidat zařízení.
  4. V části ID zařízení zadejte název zařízení. Ujistěte se, že je zaškrtnuté políčko Automaticky vygenerovat klíče .
  5. Zvolte Uložit. Zařízení se zobrazí v seznamu na stránce Zařízení .

Vytvoření identity modulu

Po registraci zařízení vytvořte identitu modulu. Moduly jsou nezávislé identity pro komponenty zařízení IoT, které umožňují jemně členitost, když zařízení spouští více procesů.

Pro účely tohoto kurzu vytvoříte identitu modulu pro agenta aktualizace zařízení, který běží na zařízení. Další informace najdete v tématu Principy a používání dvojčat modulů ve službě IoT Hub.

  1. Na stránce Zařízení vyberte zařízení, které jste zaregistrovali.
  2. Na stránce zařízení vyberte Přidat identitu modulu.
  3. Na stránce Přidat identitu modulu zadejte v části Název identity modulu název modulu, například DeviceUpdateAgent.
  4. Zvolte Uložit. Nová identita modulu se zobrazí na stránce zařízení v části Identity modulů.
  5. Vyberte název modulu a na stránce Podrobnosti o identitě modulu vyberte ikonu Kopírovat vedle připojovacího řetězce (primární klíč). Uložte tento modul, připojovací řetězec použít při konfiguraci agenta aktualizace zařízení.

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

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í patří jenom do jedné skupiny, ale skupiny můžou mít více podskupin pro řazení různých tříd zařízení.

Značku můžete přiřadit libovolnému zařízení, které spravuje služba Device Update, a přiřadit ho ke skupině Aktualizace zařízení. Značka může být ve dvojčeti zařízení nebo ve dvojčeti modulu jako v tomto kurzu. Každé zařízení je možné přiřadit pouze k jedné skupině aktualizace zařízení.

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

  2. Na stránce Dvojčete identity modulu přidejte novou DeviceUpdateGroup značku do kódu JSON na stejné úrovni jako modelId a versionnásledujícím způsobem:

    "tags": {
        "DeviceUpdateGroup": "DU-simulator-tutorial"
    },
    
  3. Zvolte Uložit. Portál přeformátuje dvojče modulu pro začlenění značky do struktury JSON.

Instalace a konfigurace agenta Device Update

Agent Device Update běží na každém zařízení, které spravuje služba Device Update. V tomto kurzu nainstalujete agenta Aktualizace zařízení na zařízení s Ubuntu 18.04 a nakonfigurujete ho tak, aby běžel jako simulátor, což demonstruje, jak můžete použít aktualizaci na zařízení beze změny konfigurace zařízení.

Poznámka:

Zařízení můžete zřídit také pomocí služby Azure IoT Identity Service. Uděláte to tak, že před instalací agenta Device Update nainstalujete službu Identita Azure IoT. Potom nakonfigurujte agenta "connectionType": "AIS" Device Update a ponechte connectionData ho jako prázdný řetězec v konfiguračním souboru.

  1. Přidejte úložiště balíčků Microsoftu a potom 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 agenta Device Update .deb balíčky.

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

    sudo nano /etc/adu/du-config.json
    
  4. Aktualizujte du-config.json následujícími ukázkovými hodnotami. <connection string> Zástupný symbol nahraďte připojovací řetězec, který jste zkopírovali z identity modulu. Další informace o parametrech najdete v konfiguračním souboru služby Device Update.

    • manufacturer: "contoso"
    • model: "video"
    • agents.name: "aduagent"
    • agents.connectionData: <connection string>
    • agents.manufacturer: "contoso"
    • agents.model: "video"

    Upravený soubor du-config.json by měl vypadat takto:

    {
       "schemaVersion": "1.0",
       "aduShellTrustedUsers": [
          "adu",
          "do"
       ],
       "manufacturer": "contoso",
       "model": "video",
       "agents": [
          {
          "name": "aduagent",
          "runas": "adu",
          "connectionSource": {
             "connectionType": "string",
             "connectionData": <connection string>
          },
          "manufacturer": "contoso",
          "model": "video"
          }
       ]
    }
    
  5. Stisknutím kláves Ctrl+X ukončete editor a stisknutím klávesy y uložte provedené změny.

  6. Pokud chcete nastavit agenta tak, aby běžel jako simulátor, spusťte na zařízení IoT následující příkaz. Agent Device Update vyvolá obslužnou rutinu simulátoru pro zpracování aktualizací, které používají rozšíření Microsoft SWUpdate.

      sudo /usr/bin/AducIotAgent --extension-type updateContentHandler --extension-id 'microsoft/swupdate:1' --register-extension /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so
    

Získání souborů simulátoru

  1. Stáhněte a extrahujte archiv Tutorial_Simulator.zip z části Aktualizace zařízení GitHubu do počítače s Ubuntu 18.04.

    Můžete použít wget ke stažení souboru ZIP. Nahraďte <release_version> například nejnovější verzí 1.0.0.

    wget https://github.com/Azure/iot-hub-device-update/releases/download/<release_version>/Tutorial_Simulator.zip
    
  2. Zkopírujte soubor sample-du-simulator-data.json z extrahované složky Tutorial_Simulator do složky tmp.

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

    Poznámka:

    Pokud složka tmp neexistuje, vytvořte ji následujícím způsobem:

    sudo mkdir/tmp
    sudo chown root:root/tmp
    sudo chmod 1777/tmp
    
  3. Změňte oprávnění pro soubor /tmp/sample-du-simulator-data.json .

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    
  4. Restartujte agenta Device Update, aby se změny projevily.

     sudo systemctl restart deviceupdate-agent
    

Import aktualizace

Stáhněte a extrahujte archiv Tutorial_Simulator.zip z oddílu Aktualizace zařízení GitHubu z oddílu Prostředky nejnovější verze na vývojovém počítači, pokud se liší od vašeho zařízení IoT s Ubuntu 18.04. Tato část používá soubory TutorialImportManifest_Sim.importmanifest.json a adu-update-image-raspberrypi3.swu ze složky Tutorial_Simulator .

Aktualizační soubor je stejný jako v kurzu Raspberry Pi. Vzhledem k tomu, že aktualizace v tomto kurzu je simulovaná, na konkrétním obsahu souboru nezáleží.

  1. Na vývojovém počítači se přihlaste k webu Azure Portal a přejděte do centra IoT nakonfigurovaného s vaší instancí služby Device Update.

  2. V navigačním podokně vyberte Správa zařízení> Updates.

  3. Na stránce Aktualizace vyberte Importovat novou aktualizaci.

  4. Na stránce Import update (Importovat aktualizaci) vyberte Select from storage container (Vybrat z kontejneru úložiště).

  5. Vyberte existující účet úložiště nebo vytvořte nový účet výběrem účtu úložiště.

  6. Vyberte existující kontejner nebo vytvořte nový kontejner výběrem možnosti Kontejner. Tento kontejner slouží k vytvoření aktualizačních souborů pro import.

    Poznámka:

    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.

  7. Na stránce kontejneru vyberte Nahrát. Vyhledejte a vyberte soubory TutorialImportManifest_Sim.importmanifest.json a adu-update-image-raspberrypi3.swu a pak vyberte Nahrát.

  8. Zaškrtněte políčka u obou souborů a pak se výběrem možnosti Vybrat vraťte na stránku Importovat aktualizaci .

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

  9. Na stránce Importovat aktualizaci zkontrolujte soubory, které se mají importovat, a pak vyberte Importovat aktualizaci.

    Snímek obrazovky znázorňující nahrané soubory, které se mají importovat jako aktualizace

    Proces importu začíná a můžete vybrat Zobrazit historii importu a zobrazit historii a stav importu. Na stránce Historie aktualizací se po dokončení importu zobrazí pole Stav úspěšné. Stav můžete aktualizovat výběrem možnosti Aktualizovat .

Importovaná aktualizace se teď zobrazí na stránce Aktualizace .

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.

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í obsahující simulované zařízení, které jste nastavili v tomto kurzu. Výběrem názvu skupiny zobrazíte jeho podrobnosti.

Snímek obrazovky znázorňující zobrazení dodržování předpisů aktualizací

Nasazení aktualizace

  1. Na stránce Podrobnosti o skupině by se měla zobrazit jedna nová aktualizace dostupná pro tuto skupinu. Výběrem možnosti Nasadit zahájíte nasazení.

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

  2. Importovaná aktualizace je uvedená jako nejlepší dostupná aktualizace pro tuto skupinu. Vyberte Nasadit.

  3. Naplánujte nasazení tak, aby se spustilo okamžitě, a pak vyberte Vytvořit.

  4. Přejděte na kartu Aktuální aktualizace. V části Podrobnosti o nasazení se stav změní na aktivní.

  5. Po úspěšném 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 o nasazení aktualizovaly tak, aby zahrnovaly nainstalovanou aktualizaci.

Zobrazení historie nasazení aktualizací

  1. Vraťte se na stránku podrobností skupiny a vyberte kartu Historie nasazení.

  2. Vedle vytvořeného nasazení vyberte Zobrazit podrobnosti o nasazení. Výběrem možnosti Aktualizovat zobrazíte nejnovější podrobnosti o stavu.

    Snímek obrazovky znázorňující podrobnosti nasazení

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

Pokud budete pokračovat k dalšímu kurzu, ponechte si prostředky služby Device Update a IoT Hub. Pokud už nepotřebujete prostředky, které jste vytvořili pro účely tohoto kurzu, můžete je odstranit.

  1. Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje prostředky.
  2. Pokud chcete odstranit všechny prostředky ve skupině, vyberte Odstranit skupinu prostředků.
  3. Pokud chcete odstranit jenom některé prostředky, pomocí zaškrtávacích políček vyberte prostředky a pak vyberte Odstranit.