Sdílet prostřednictvím


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

  1. bmaptool Pokud jste to ještě neudělali, nainstalujte nástroj .

    sudo apt-get install bmap-tools
    
  2. Vyhledejte cestu pro kartu SD v /devsouboru . Cesta by měla vypadat přibližně takto /dev/sd* : nebo /dev/mmcblk*. Pomocí nástroje dmesg můžete najít správnou cestu.

  3. Před blikáním odpojte všechny připojené oddíly.

    sudo umount /dev/<device>
    
  4. Ujistěte se, že máte oprávnění k zápisu do zařízení.

    sudo chmod a+rw /dev/<device>
    
  5. Volitelné: Pro rychlejší blikání stáhněte soubor bimap a soubor obrázku a vložte je do stejného adresáře.

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

  1. V Azure Portal spusťte IoT Hub.

  2. Vytvořte nové zařízení.

  3. V levém podokně vyberte Zařízení. Pak vyberte Nový.

  4. V části ID zařízení zadejte název zařízení. Ujistěte se, že je zaškrtnuté políčko Automaticky generovat klíče .

  5. Vyberte Uložit. Na stránce Zařízení by zařízení, které jste vytvořili, mělo být v seznamu.

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

  1. Ujistěte se, že je Raspberry Pi 3 připojený k síti.

  2. Podle těchto pokynů přidejte podrobnosti o konfiguraci:

    1. 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
      
    2. Vytvořte nebo otevřete du-config.json soubor pro úpravy pomocí:

         nano /adu/du-config.json
      
    3. 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.

    4. Po dokončení změn stiskněte Ctrl+X a ukončete editor. Potom zadejte y , aby se změny uložily.

    5. 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
      
    6. 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ší.

    7. Po dokončení změn stiskněte Ctrl+X a ukončete editor. Potom zadejte y , aby se změny uložily.

    8. 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/
      
  3. 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
    
  4. 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

  1. V levém podokně vyberte Zařízení.

  2. Vyberte odkaz s názvem vašeho zařízení.

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

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

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

  1. Přihlaste se k Azure Portal a přejděte do centra IoT.

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

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

  4. Přidejte novou hodnotu značky Device Update, jak je znázorněno níže:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Import aktualizace

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

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

  3. Vyberte kartu Aktualizace.

  4. Vyberte + Importovat novou aktualizaci.

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

    Snímek obrazovky znázorňující účty úložiště a kontejnery

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

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

    Tento snímek obrazovky ukazuje krok importu. Názvy souborů se nemusí shodovat s názvy souborů použitými v příkladu.

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

    Snímek obrazovky s aktualizací importu

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

    Snímek obrazovky znázorňující stav úlohy

Přečtěte si další informace o importu aktualizací.

Vytvoření skupiny aktualizací

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

    Snímek obrazovky znázorňující neseskupené zařízení

  2. Vyberte Přidat skupinu a vytvořte novou skupinu.

    Snímek obrazovky znázorňující přidání skupiny zařízení

  3. V seznamu vyberte značku IoT Hub a Třídu zařízení. Pak vyberte Vytvořit skupinu.

    Snímek obrazovky znázorňující výběr značky

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

    Snímek obrazovky znázorňující zobrazení update compliance

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

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

  2. Vyberte cílovou skupinu tak, že vyberete název skupiny. Budete přesměrováni na podrobnosti o skupině v části Základy skupiny.

    Snímek obrazovky s podrobnostmi o skupině

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

    Snímek obrazovky znázorňující výběr aktualizace

  4. Naplánujte nasazení tak, aby se spustilo okamžitě nebo v budoucnu. Potom vyberte Vytvořit.

    Snímek obrazovky znázorňující tlačítko Vytvořit

  5. V části Podrobnosti nasazení se Stav změní na Aktivní. Nasazená aktualizace je označená (nasazuje se).

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

  6. Prohlédněte si graf dodržování předpisů a podívejte se, že právě probíhá aktualizace.

  7. 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éž.

    Snímek obrazovky znázorňující úspěšnou aktualizaci

Monitorování nasazení aktualizací

  1. V horní části stránky vyberte kartu Historie nasazení .

    Snímek obrazovky s historií nasazení

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

    Snímek obrazovky s podrobnostmi o nasazení

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

Další kroky