Oktatóanyag: Eszközfrissítés Azure IoT Hub a Raspberry Pi 3 B+ referenciakép használatával

A Azure IoT Hub eszközfrissítése támogatja a képalapú, csomagalapú és szkriptalapú frissítéseket.

A képfrissítések magasabb szintű megbízhatóságot biztosítanak az eszköz végső állapotában. Általában egyszerűbb replikálni egy lemezképfrissítés eredményét egy üzem előtti környezet és egy éles környezet között, mert nem jelent ugyanazokat a kihívásokat, mint a csomagok és a függőségeik. Atomi természetükből adódóan könnyen alkalmazhat A/B feladatátvételi modellt is.

Ez az oktatóanyag végigvezeti a teljes körű képalapú frissítés végrehajtásának lépésein a Raspberry Pi 3 B+ alaplapon IoT Hub eszközfrissítésével.

Ebből az oktatóanyagból az alábbiakat sajátíthatja el:

  • Töltsön le egy képet.
  • Adjon hozzá egy címkét az IoT-eszközhöz.
  • Frissítés importálása.
  • Lemezképfrissítés üzembe helyezése.
  • A frissítéstelepítés monitorozása.

Megjegyzés

Az oktatóanyag képfrissítéseit a Raspberry Pi B3 táblán ellenőriztük.

Előfeltételek

Ha még nem tette meg, hozzon létre egy eszközfrissítési fiókot és -példányt , és konfiguráljon egy IoT Hubot. Ebben az oktatóanyagban az eszközt Ethernet-kapcsolaton keresztül kell csatlakoztatni.

Töltse le a fájlokat az Eszközök eszközfrissítése GitHub-kiadások lapon. A Tutorial_RaspberryPi.zip rendelkezik az oktatóanyaghoz szükséges összes fájllal.

Eszköz létrehozása IoT Hub és kapcsolati sztring

Most adja hozzá az eszközt a IoT Hub. A IoT Hub belülről egy kapcsolati sztring jön létre az eszközhöz.

  1. A Azure Portal lépjen az IoT Hubra.

  2. A bal oldali panelen válassza az Eszközök lehetőséget. Ezután válassza az Új lehetőséget.

  3. Az Eszközazonosító területen adja meg az eszköz nevét. Győződjön meg arról, hogy az Automatikus létrehozási kulcsok jelölőnégyzet be van jelölve.

  4. Kattintson a Mentés gombra. Az Eszközök lapon a létrehozott eszköznek szerepelnie kell a listában.

  5. Kérje le az eszköz kapcsolati sztring az eszköznézetre lépve, és válassza az Elsődleges kapcsolati sztring melletti Másolás ikont.

  6. Illessze be a másolt karaktereket valahová későbbi használatra az alábbi lépésekben:

    Ez a másolt sztring az eszköz kapcsolati sztring.

Megjegyzés

Ez az oktatóanyag egy eszköz kapcsolati sztring használ a IoT Hub hitelesítéséhez és a IoT Hub való csatlakozáshoz a könnyű beállítás érdekében. Éles helyzetekben azt javasoljuk, hogy modulidentitást használjon, és használja az AIS(IoT Identity Service) szolgáltatást az eszközök kiépítéséhez. Tudj meg többet

A Raspberry Pi beállítása

Az Eszközök eszközfrissítése GitHub-kiadások oldalon biztosítjuk az alaprendszerképeket és a frissítési fájlokat az Eszközök területen. A Tutorial_RaspberryPi.zip rendelkezik az oktatóanyaghoz szükséges összes fájllal. A .wic fájl az alaprendszerkép, amely a Raspberry Pi 3 B+ táblára villoghat. A swUpdate(.swu) fájl, az egyéni swupdate szkript és a jegyzékfájl azok a frissítési fájlok, amelyeket az eszközfrissítésen keresztül importálna IoT Hub.

Ez az alaprendszerkép egy (a 3.4.4-es kiadáson alapuló) Yocto-buildet használ a következőkkel:

  • SWUpdate, amely lehetővé teszi a kettős partíció frissítését DU-val
  • Eszközfrissítési ügynök

A használt Yocto-rétegekről további információt a Yocto GitHub eszközfrissítésével kapcsolatos cikkben talál.

Kedvenc operációsrendszer-villogó eszközével telepítheti az eszközfrissítési alaprendszerképet (adu-base-image) a Raspberry Pi 3 B+ eszközben használt SD-kártyára. Az alábbi utasításokat követve a bmaptool használatával villoghat az SD-kártyára.

Az SD-kártya villogása a bmaptool használatával

  1. Ha még nem tette meg, telepítse a bmaptool segédprogramot.

    sudo apt-get install bmap-tools
    
  2. Keresse meg az SD-kártya elérési útját a fájlban /dev. Az elérési útnak a következőhöz hasonlónak kell lennie: /dev/sd* vagy /dev/mmcblk*. A segédprogrammal dmesg megkeresheti a megfelelő elérési utat.

  3. Villogás előtt bontsa le az összes csatlakoztatott partíciót.

    sudo umount /dev/<device>
    
  4. Győződjön meg arról, hogy rendelkezik írási engedélyekkel az eszközre.

    sudo chmod a+rw /dev/<device>
    
  5. Nem kötelező: A gyorsabb villogáshoz töltse le a bimap-fájlt és a képfájlt, és helyezze őket ugyanabba a könyvtárba.

  6. Villantsd fel az SD-kártyát.

    sudo bmaptool copy <path to image> /dev/<device>
    

A Azure IoT Hub szoftver eszközfrissítésére a következő licencfeltételek vonatkoznak:

Az ügynök használata előtt olvassa el a licencfeltételeket. A telepítés és a használat a jelen feltételek Ön általi elfogadását jelenti. Ha nem ért egyet a licencfeltételekkel, ne használja az eszközfrissítést IoT Hub ügynökhöz.

Az eszközfrissítési ügynök konfigurálása Raspberry Pi-n

  1. Győződjön meg arról, hogy a Raspberry Pi 3 csatlakozik a hálózathoz.

  2. SSH-val csatlakozzon a Raspberry Pi 3-ba a PowerShell-ablakban található alábbi paranccsal:

      ssh raspberrypi3 -l root
    
  3. A DU konfigurációs fájloknak (du-config.json és du-diagnostics-config.json) az eszközön kell lenniük, hogy az eszközfrissítés megfelelően IoT Hub konfigurálható legyen.

    1. A fájl szerkesztésre való létrehozásához vagy megnyitásához használja a du-config.json következőt:
      nano /adu/du-config.json
    
    1. A parancs futtatása után meg kell jelennie egy megnyitott szerkesztőnek a fájllal. Ha még soha nem hozta létre a fájlt, az üres lesz. Most másolja ki az alábbi du-config.json tartalmat, és helyettesítse be az eszközhöz szükséges konfigurációkat. Ezután cserélje le az kapcsolati sztring példát az előző lépésekben létrehozott eszközre.

      du-config.json

    {
       "schemaVersion": "1.0",
       "aduShellTrustedUsers": [
          "adu",
          "do"
       ],
       "manufacturer": "contoso",
       "model": "virtual-vacuum-v2",
       "agents": [
          {
          "name": "main",
          "runas": "adu",
          "connectionSource": {
             "connectionType": "string",
             "connectionData": "HostName=example-connection-string.azure-devices.net;DeviceId=example-device;SharedAccessKey=M5oK/rOP12aB5678YMWv5vFWHFGJFwE8YU6u0uTnrmU=" 
          },
          "manufacturer": "contoso",
          "model": "virtual-vacuum-v2"
          }
       ]
    }  
    
    1. A módosítások befejezése után válassza a lehetőséget Ctrl+X a szerkesztőből való kilépéshez. Ezután írja be a parancsot y a módosítások mentéséhez.
  4. Most hasonló parancsokkal kell létrehoznia a du-diagnostics-config.json fájlt.

    1. Első lépésként hozza létre vagy nyissa meg szerkesztésre a fájlt a du-diagnostics-config.json következő használatával:
      nano /adu/du-diagnostics-config.json
    
    1. Másolja ki az alább megadott du-diagnostics-config.json tartalmat, és helyettesítse be az alapértelmezett buildtől eltérő konfigurációkat. A du-diagnostics-config.json példafájl a IoT Hub eszközfrissítésének alapértelmezett naplóhelyeit jelöli. Ezeket az alapértelmezett értékeket csak akkor kell módosítania, ha a megvalósítás eltér.

    du-diagnostics-config.json

    {
       "logComponents":[
          {
             "componentName":"adu",
             "logPath":"/adu/logs/"
          },
          {
             "componentName":"do",
             "logPath":"/var/log/deliveryoptimization-agent/"
          }
       ],
       "maxKilobytesToUploadPerLogPath":50
    }
    
    1. A módosítások befejezése után válassza a lehetőséget Ctrl+X a szerkesztőből való kilépéshez. Ezután írja be a parancsot y a módosítások mentéséhez.
  5. Az alábbi paranccsal jelenítheti meg a könyvtárban /adu/ található fájlokat. Mindkét konfigurációs fájlnak.du-diagnostics-config.json fájlnak meg kell jelennie szerkesztésre a következő paranccsal:

      ls -la /adu/
    
  6. Indítsa újra az Eszközfrissítési rendszer démont, és győződjön meg arról, hogy a konfigurációk alkalmazva lettek. Használja a következő parancsot a terminálba bejelentkezett terminálon raspberrypibelül:

      systemctl start deviceupdate-agent
    
  7. Ellenőrizze, hogy az ügynök működik-e az alábbi paranccsal:

      systemctl status deviceupdate-agent
    

    Az állapotnak élőként és zöldként kell megjelennie.

Az eszköz csatlakoztatása az eszközfrissítésben a IoT Hub

  1. A bal oldali panelen válassza az Eszközök lehetőséget.

  2. Válassza ki az eszköz nevét tartalmazó hivatkozást.

  3. A lap tetején válassza az Ikereszköz lehetőséget.

  4. A Device Twintulajdonságainak jelentett szakaszában keresse meg a Linux kernelverziót.

    Olyan új eszköz esetén, amely nem kapott frissítést az Eszközfrissítéstől, a DeviceManagement:DeviceInformation:1.swVersion érték az eszközön futó belső vezérlőprogram-verziót jelöli. A frissítés eszközre való alkalmazása után az eszközfrissítés az AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId tulajdonságértéket használja az eszközön futó belső vezérlőprogram verziójának jelölésére.

  5. Az alap- és frissítési rendszerképfájlok verziószámmal rendelkeznek a fájl nevében.

     adu-<image type>-image-<machine>-<version number>.<extension>
    

    Használja ezt a verziószámot a későbbi "Frissítés importálása" szakaszban.

Eszközfrissítési csoportcímke hozzáadása az eszközhöz

  1. Az Azure Portalon keresse meg az IoT-központot.

  2. A bal oldali panel Eszközök területén keresse meg az IoT-eszközt, és lépjen az ikereszközre vagy a modul ikereszközére.

  3. Az Eszközfrissítési ügynök modul ikermoduljában törölje a meglévő Eszközfrissítés címkeértékeket úgy, hogy null értékre állítja őket. Ha az eszközidentitást az Eszközfrissítési ügynökkel használja, végezze el ezeket a módosításokat az ikereszközön.

  4. Adjon hozzá egy új Eszközfrissítés címkeértéket az alábbi módon:

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

    Képernyőkép az ikerpéldányról címkeadatokkal.

    Ez a képernyőkép azt a szakaszt mutatja, ahol a címkét hozzá kell adni az ikerpéldányhoz.

A frissítés importálása

  1. Töltse le a minta oktatóanyag-jegyzékfájlt és a mintafrissítést (.swu fájlt) és a minta A/B-szkriptet Tutorial_RaspberryPi.zip a Legújabb ügynök kiadási eszközei területen.

  2. Jelentkezzen be a Azure Portal, és lépjen az IoT Hubra az Eszközfrissítés szolgáltatással. A bal oldali panel Automatikus Eszközkezelés területén válassza a Frissítések lehetőséget.

  3. Válassza a Frissítések lapot.

  4. Válassza a + Új frissítés importálása lehetőséget.

  5. Válassza a + Kiválasztás a tárolóból lehetőséget. Válasszon ki egy meglévő fiókot, vagy hozzon létre egy új fiókot a + Tárfiók használatával. Ezután válasszon ki egy meglévő tárolót, vagy hozzon létre egy új tárolót a + Tároló használatával. Ezzel a tárolóval a rendszer előkészíti a frissítési fájlokat az importáláshoz.

    Megjegyzés

    Javasoljuk, hogy minden frissítés importálásakor használjon új tárolót, hogy elkerülje a fájlok véletlen importálását a korábbi frissítésekből. Ha nem használ új tárolót, a lépés befejezése előtt mindenképpen törölje a fájlokat a meglévő tárolóból.

    A Tárfiókokat és -tárolókat bemutató képernyőkép.

  6. A tárolóban válassza a Feltöltés lehetőséget, és lépjen az 1. lépésben letöltött fájlokra. Miután kiválasztotta az összes frissítési fájlt, válassza a Feltöltés lehetőséget. Ezután válassza a Kiválasztás gombot a Frissítés importálása lapra való visszatéréshez.

    Képernyőkép a feltöltött fájlok kiválasztásáról.

    Ez a képernyőkép az importálási lépést mutatja. Előfordulhat, hogy a fájlnevek nem egyeznek meg a példában használtakkal.

  7. A Frissítés importálása lapon tekintse át az importálandó fájlokat. Ezután válassza a Frissítés importálása lehetőséget az importálási folyamat elindításához. Az oktatóanyaghoz importálja az oktatóanyag-mintajegyzéket és a mintafrissítést (.swu fájlt), valamint a korábban letöltött A/B-példaszkriptet.

    A frissítés importálását bemutató képernyőkép.

  8. Az importálási folyamat megkezdődik, és a képernyő átvált az Importálási előzmények szakaszra. Ha az Állapot oszlop azt jelzi, hogy az importálás sikeres volt, válassza az Elérhető frissítések fejlécet. Most már látnia kell az importált frissítést a listában.

    Képernyőkép a feladat állapotáról.

További információ az importálási folyamatról: Frissítés importálása az eszközfrissítésbe.

Eszközcsoportok megtekintése

Az Eszközfrissítés csoportok használatával rendszerezi az eszközöket. Az Eszközfrissítés automatikusan csoportokba rendezi az eszközöket a hozzájuk rendelt címkék és kompatibilitási tulajdonságok alapján. Minden eszköz csak egy csoporthoz tartozik, de a csoportok több alcsoporttal is rendelkezhetnek a különböző eszközosztályok rendezéséhez.

  1. Lépjen a lap tetején található Csoportok és üzemelő példányok lapra.

    A nem csoportosított eszközöket bemutató képernyőkép.

  2. Tekintse meg a csoportok listáját és a frissítési megfelelőségi diagramot. A frissítési megfelelőségi diagram a különböző megfelelőségi állapotú eszközök számát mutatja: A legújabb frissítéskorelérhető új frissítések és folyamatban lévő Frissítések. További információ a frissítési megfelelőségről.

    Képernyőkép a frissítési megfelelőségi nézetről.

  3. Meg kell jelennie egy eszközcsoportnak, amely tartalmazza az oktatóanyagban beállított szimulált eszközt, valamint az új csoport eszközeinek elérhető frissítéseit. Ha vannak olyan eszközök, amelyek nem felelnek meg a csoport eszközosztály-követelményeinek, azok egy megfelelő érvénytelen csoportban jelennek meg. Ha ebből a nézetből szeretné üzembe helyezni a legjobban elérhető frissítést az új felhasználó által definiált csoportra, válassza a csoport melletti Üzembe helyezés lehetőséget.

További információ a címkékről és csoportokról: Eszközcsoportok kezelése.

A frissítés üzembe helyezése

  1. A csoport létrehozása után egy új frissítésnek kell megjelennie az eszközcsoport számára, amely a frissítésre mutató hivatkozással jelenik meg a Legjobb frissítés területen. Előfordulhat, hogy egyszer frissítenie kell.

    A megfelelőségről további információt az Eszközfrissítés megfelelősége című témakörben talál.

  2. Válassza ki a célcsoportot a csoport nevének kiválasztásával. A rendszer a Csoport alapjai területen található csoportadatokhoz irányítja.

    Képernyőkép a Csoport részleteiről.

  3. Az üzembe helyezés elindításához lépjen az Aktuális üzembe helyezés lapra. Válassza a kívánt frissítés melletti üzembe helyezési hivatkozást az Elérhető frissítések szakaszban. Az adott csoporthoz elérhető legjobb frissítés a Legjobb kiemeléssel van jelölve.

    Képernyőkép egy frissítés kiválasztásáról.

  4. Ütemezze az üzembe helyezést, hogy azonnal vagy a jövőben elinduljon. Ezután kattintson a Létrehozás elemre.

    Tipp

    Alapértelmezés szerint a Kezdés dátuma és időpontja az aktuális időponttól számított 24 óra. Mindenképpen válasszon másik dátumot és időpontot, ha azt szeretné, hogy az üzembe helyezés korábban kezdődjön.

    Az üzembe helyezés létrehozását bemutató képernyőkép.

  5. Az Üzembe helyezés részletei területen az Állapotaktív állapotúvá válik. Az üzembe helyezett frissítés megjelölése (üzembe helyezés).

    Képernyőkép az aktív üzembe helyezésről.

  6. Tekintse meg a megfelelőségi diagramot, és ellenőrizze, hogy a frissítés folyamatban van-e.

  7. Az eszköz sikeres frissítése után láthatja, hogy a megfelelőségi diagram és az üzembe helyezés részletei is frissülnek, hogy azok tükrözzék azokat.

    Képernyőkép a sikeres frissítésről.

A frissítés telepítésének monitorozása

  1. Válassza a lap tetején található Üzembe helyezési előzmények lapot.

    Képernyőkép az üzembe helyezési előzményekről.

  2. Válassza a létrehozott üzembe helyezés melletti részletek hivatkozását.

    Képernyőkép az üzembe helyezés részleteiről.

  3. Válassza a Frissítés lehetőséget a legújabb állapotadatok megtekintéséhez.

Sikeresen végrehajtotta a teljes körű rendszerképek frissítését a Device Update használatával a Raspberry Pi 3 B+ eszközön IoT Hub.

Az erőforrások eltávolítása

Ha már nincs rá szükség, törölje az eszközfrissítési fiókot, a példányt, az IoT Hubot és az IoT-eszközt.

Következő lépések