Sdílet prostřednictvím


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

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

  1. Na webu Azure Portal otevřete stránku centra IoT přidruženou k vaší instanci služby Device Update.
  2. V levém 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í .
  6. Na stránce Zařízení vyberte zařízení, které jste zaregistrovali.
  7. 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.

  1. bmap-tools Nainstalujte nástroj, pokud ho nemáte.

    sudo apt-get install bmap-tools
    
  2. 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.

  3. Před bliknutí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. 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

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

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

  1. 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
    
  2. 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"
          }
       ]
    }  
    
  3. Stisknutím kláves Ctrl+X ukončete editor a stisknutím klávesy y uložte provedené změny.

  4. Vytvořte soubor du-diagnostics-config.json pomocí podobných příkazů. Vytvořte a otevřete soubor:

    nano /adu/du-diagnostics-config.json
    
  5. 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
    }
    
  6. Stisknutím kláves Ctrl+X ukončete editor a stisknutím klávesy y uložte provedené změny.

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

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

  2. Na stránce Zařízení vyberte název zařízení.

  3. V horní části stránky zařízení vyberte dvojče zařízení.

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

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

    Snímek obrazovky znázorňující dvojče s informacemi o značkách

  2. Zvolte Uložit.

Import aktualizace

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

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

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

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

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

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

    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.

  6. 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
  7. Vyberte Odeslat. Po nahrání se soubory zobrazí na stránce kontejneru.

  8. Na stránce kontejneru zkontrolujte a vyberte soubory, které chcete importovat, a pak vyberte Vybrat.

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

  9. Na obrazovce Importovat aktualizaci vyberte Importovat aktualizaci.

    Snímek obrazovky znázorňující aktualizaci importu

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.

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

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.

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

Nasazení aktualizace

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

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

  2. Na stránce Vytvořit nasazení naplánujte, aby se nasazení spustilo okamžitě nebo v budoucnu, a pak vyberte Vytvořit.

    Snímek obrazovky znázorňující vytvoření nasazení

    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.

  3. V části Podrobnosti o nasazení se stav změní na aktivní. V části Dostupné aktualizace je vybraná aktualizace označena (nasazením).

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

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

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

Zobrazení historie nasazení aktualizací

Zobrazení historie nasazení:

  1. Vyberte kartu Historie nasazení v horní části stránky Podrobnosti skupiny a vyberte odkaz podrobností vedle vytvořeného nasazení.

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

  2. Na stránce Podrobnosti o nasazení vyberte Aktualizovat, abyste zobrazili nejnovější podrobnosti o stavu.

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

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

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.

Další kroky