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.
A Azure Portal lépjen az IoT Hubra.
A bal oldali panelen válassza az Eszközök lehetőséget. Ezután válassza az Új lehetőséget.
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.
Kattintson a Mentés gombra. Az Eszközök lapon a létrehozott eszköznek szerepelnie kell a listában.
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.
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
Ha még nem tette meg, telepítse a
bmaptool
segédprogramot.sudo apt-get install bmap-tools
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édprogrammaldmesg
megkeresheti a megfelelő elérési utat.Villogás előtt bontsa le az összes csatlakoztatott partíciót.
sudo umount /dev/<device>
Győződjön meg arról, hogy rendelkezik írási engedélyekkel az eszközre.
sudo chmod a+rw /dev/<device>
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.
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
Győződjön meg arról, hogy a Raspberry Pi 3 csatlakozik a hálózathoz.
SSH-val csatlakozzon a Raspberry Pi 3-ba a PowerShell-ablakban található alábbi paranccsal:
ssh raspberrypi3 -l root
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.
- 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
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" } ] }
- 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 parancsoty
a módosítások mentéséhez.
- A fájl szerkesztésre való létrehozásához vagy megnyitásához használja a
Most hasonló parancsokkal kell létrehoznia a
du-diagnostics-config.json
fájlt.- 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
- 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 }
- 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 parancsoty
a módosítások mentéséhez.
- Első lépésként hozza létre vagy nyissa meg szerkesztésre a fájlt a
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/
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
raspberrypi
belül:systemctl start deviceupdate-agent
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
A bal oldali panelen válassza az Eszközök lehetőséget.
Válassza ki az eszköz nevét tartalmazó hivatkozást.
A lap tetején válassza az Ikereszköz lehetőséget.
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.
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
Az Azure Portalon keresse meg az IoT-központot.
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.
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.
Adjon hozzá egy új Eszközfrissítés címkeértéket az alábbi módon:
"tags": { "ADUGroup": "<CustomTagValue>" }
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
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.
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.
Válassza a Frissítések lapot.
Válassza a + Új frissítés importálása lehetőséget.
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á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.
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.
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.
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.
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.
Lépjen a lap tetején található Csoportok és üzemelő példányok lapra.
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.
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
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.
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.
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.
Ü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 részletei területen az Állapotaktív állapotúvá válik. Az üzembe helyezett frissítés megjelölése (üzembe helyezés).
Tekintse meg a megfelelőségi diagramot, és ellenőrizze, hogy a frissítés folyamatban van-e.
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.
A frissítés telepítésének monitorozása
Válassza a lap tetején található Üzembe helyezési előzmények lapot.
Válassza a létrehozott üzembe helyezés melletti részletek hivatkozását.
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.