Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure IoT Hub eszközfrissítése támogatja a rendszerképalapú, csomagalapú és szkriptalapú frissítéseket. Ez az oktatóanyag bemutatja az IoT Hub teljes körű eszközfrissítését egy Yocto-lemezkép használatával egy Raspberry Pi 3 B+ táblán.
A rendszerkép-frissítések nagy megbízhatóságot biztosítanak az eszköz végső állapotában, és nem jelentenek ugyanazokat a csomag- és függőségkezelési kihívásokat, mint a csomag- vagy szkriptalapú frissítések. Egyszerűbb replikálni egy képfrissítés eredményét egy előgyártási és egy éles környezet között, vagy egyszerűen átvenni egy A/B feladatátvételi modellt.
Az oktatóanyag során az alábbi lépéseket fogja végrehajtani:
- Képfrissítés letöltése és telepítése.
- Címkét rendelhet az IoT-eszközhöz.
- Importálja a képfrissítést.
- Telepítse a rendszerkép-frissítést.
- Tekintse meg a frissítés üzembehelyezési előzményeit.
Előfeltételek
IoT Hubbal konfigurált eszközfrissítési fiók és példány.
Egy Raspberry Pi 3 IoT-alaplap, amely Etherneten keresztül csatlakozik a hardverhez, amely letölti és kinyeri a képfájlokat, és vezérli az eszközt.
Feljegyzés
Az oktatóanyag képfrissítéseit egy Raspberry Pi B3-táblán ellenőriztük.
Regisztrálja az eszközt, és kérje le a kapcsolati sztring
Adja hozzá az eszközt az IoT Hub eszközregisztrációs adatbázisához, és kérje le az eszközhöz létrehozott kapcsolati sztring IoT Hubot.
- Az Azure Portalon nyissa meg az eszközfrissítési példányhoz társított IoT Hub-lapot.
- A bal oldali navigációs panelen válassza az Eszközfelügyeleti>eszközök lehetőséget.
- Az Eszközök lapon válassza az Eszköz hozzáadása lehetőséget.
- Az Eszközazonosító területen adja meg az eszköz nevét. Győződjön meg arról, hogy a kulcsok automatikus létrehozása jelölőnégyzet be van jelölve.
- Válassza a Mentés lehetőséget. Az eszköz megjelenik az Eszközök lapon található listában.
- Az Eszközök lapon válassza ki a regisztrált eszközt.
- Az eszközoldalon válassza a Kapcsolati sztring (elsődleges kulcs) melletti Másolás ikont. Mentse ezt az eszközt kapcsolati sztring az eszközfrissítési ügynök konfigurálásakor.
Feljegyzés
Bemutató célokra ez az oktatóanyag egy eszköz kapcsolati sztring használatával hitelesít és csatlakozik az IoT Hubhoz. Éles helyzetekben jobb, ha modulidentitást és IoT Identity Service-t használ az eszközök kiépítéséhez. További információ: Eszközfrissítési ügynök kiépítése.
A Raspberry Pi beállítása
A Tutorial_RaspberryPi3.zip fájl tartalmazza az oktatóanyaghoz szükséges összes fájlt. Töltse le a fájlt a legújabb kiadás Eszközök szakaszából a GitHub Eszközfrissítési kiadások lapján, és bontsa ki.
A kinyert Tutorial_RaspberryPi3 mappában a Raspberry Pi táblára villogó alapkép adu-base-image-raspberrypi3.wic. Az alaprendszerkép a 3.4.4-es kiadáson alapuló Yocto-buildet használja. A lemezképen az Eszközfrissítési ügynök és a SWUpdate található, amely lehetővé teszi az eszközfrissítés kettős partíciófrissítését. További információ a Yocto-rétegekről: Egyéni Linux-alapú rendszer létrehozása Eszközfrissítési ügynökkel a Yocto Project használatával.
Az eszközfrissítésen keresztül importált frissítési fájlok a következők:
- SWUpdate fájl adu-update-image-raspberrypi3-1.2.0.swu
- Egyéni SWUpdate szkript example-a-b-update.sh
- Jegyzék EDS-ADUClient.yocto-update.1.2.0.importmanifest.json
Bmaptool használata az SD-kártya villogásához
Fontos
Az Azure Device Update for IoT Hub szoftverre a következő licencfeltételek vonatkoznak:
Az ügynök használata előtt olvassa el a licencfeltételeket. Az ügynök telepítése és használata a jelen feltételek elfogadását jelenti. Ha nem ért egyet a licencfeltételekkel, ne használja az eszközfrissítési ügynököt.
Az operációs rendszer villogó eszközével telepítse a Device Update alaprendszerképét a Raspberry Pi-eszközön használt SD-kártyára. Az alábbi utasítások az SD-kártya felvillanásához használhatók bmaptool . Cserélje le a <device> helyőrzőt az eszköz nevére és a <path to image> helyőrzőre a letöltött képfájl elérési útjára.
Ha nem rendelkezik vele, telepítse a
bmap-toolssegédprogramot.sudo apt-get install bmap-toolsKeresse meg az SD-kártya elérési útját a /dev fájlban. Az elérési útnak a /dev/sd* vagy a /dev/mmcblk* formátumhoz hasonlóan kell kinéznie. A segédprogrammal
dmesgmegkeresheti 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>Villogtasd az SD-kártyát.
sudo bmaptool copy <path to image> /dev/<device>Tipp.
A gyorsabb villogás érdekében letöltheti a bimap fájlt és a képfájlt, és ugyanabba a könyvtárba helyezheti őket.
Az Eszközfrissítési ügynök konfigurálása a Raspberry Pi-en
Győződjön meg arról, hogy a Raspberry Pi csatlakozik a hálózathoz.
Egy PowerShell-ablakban az alábbi paranccsal biztonságossá teheti a rendszerhéjat (SSH) a Raspberry Pi-be:
ssh raspberrypi3 -l root
Az Eszközfrissítés konfigurációs fájljainak létrehozása
Az eszközfrissítési du-config.json és du-diagnostics-config.json konfigurációs fájloknak az eszközön kell lenniük. A fájlok létrehozásához futtassa a következő parancsokat a terminálon, amely bejelentkezett a Raspberry Pi-be.
A du-config.json fájl létrehozásához vagy szerkesztéshez való megnyitásához futtassa a következő parancsot:
nano /adu/du-config.jsonA szerkesztő megnyitja a du-config.json fájlt. Ha a fájlt hozza létre, az üres. Másolja és illessze be a következő kódot a fájlba, és cserélje le a példaértékeket az eszközhöz szükséges konfigurációkra. Cserélje le a példasztringet
connectionDataaz eszközregisztrációs lépésben másolt eszközre kapcsolati sztring.{ "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" } ] }A Ctrl X billentyűkombinációval+ lépjen ki a szerkesztőből, és a módosítások mentéséhez írja be az y billentyűt.
Hozza létre a du-diagnostics-config.json fájlt hasonló parancsokkal. Hozza létre és nyissa meg a fájlt:
nano /adu/du-diagnostics-config.jsonMásolja és illessze be a következő du-diagnostics-config.json kódot a fájlba. Az értékek az eszközfrissítési napló alapértelmezett helyei, és csak akkor kell módosítania őket, ha a konfiguráció eltér az alapértelmezetttől.
{ "logComponents":[ { "componentName":"adu", "logPath":"/adu/logs/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }A Ctrl X billentyűkombinációval+ lépjen ki a szerkesztőből, és a módosítások mentéséhez írja be az y billentyűt.
Az alábbi paranccsal megjelenítheti a /adu / könyvtárban található fájlokat. Mindkét konfigurációs fájlt látnia kell.
ls -la /adu/Az eszközfrissítési rendszer démonjának újraindításához és a konfigurációk alkalmazásának ellenőrzéséhez használja az alábbi parancsot.
systemctl start deviceupdate-agentAz ügynök élő állapotának ellenőrzéséhez futtassa a következő parancsot:
systemctl status deviceupdate-agentAz állapotnak élőként és zöldként kell megjelennie.
Csatlakozás az eszközhöz az IoT Hubban, és csoportcímke hozzáadása
Az Eszközfrissítési példány Azure Portal IoT Hub lapján válassza az Eszközfelügyeleti>eszközök lehetőséget a bal oldali navigációs sávon.
Az Eszközök lapon válassza ki az eszköz nevét.
Az eszközoldal tetején válassza az Ikereszköz lehetőséget.
Az Ikereszköz lapon, az
"reported"ikereszköz"properties"szakaszában keresse meg az eszköz Linux kernelverzióját.Olyan új eszköz esetén, amely nem kapott frissítést az Eszközfrissítéstől, a DeviceManagement:DeviceInformation:1.swVersion tulajdonság értéke az eszközön futó belső vezérlőprogram-verziót jelöli. Az eszköz frissítésének alkalmazása után az AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId tulajdonság értéke a belső vezérlőprogram verzióját jelöli.
Az alap- és frissítési képfájlnevek formátuma adu-image type-image-machine-version<>>< number.<><bővítményt>. Figyelje meg a frissítés importálásakor használni kívánt verziószámokat.
Csoportcímke hozzáadása
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 tartozhat, de a csoportok több alcsoporttal is rendelkezhetnek a különböző eszközosztályok rendezéséhez. További információ a címkékről és csoportokról: Eszközcsoportok kezelése.
Az ikereszközben törölje a meglévő eszközfrissítési címkeértékeket úgy, hogy null értékre állítja őket, majd adja hozzá az alábbi új eszközfrissítési csoportcímkét. Ha modulidentitást használ az Eszközfrissítési ügynökkel, vegye fel a címkét a Modulidentitás ikerpéldányba az ikereszköz helyett.
"tags": { "ADUGroup": "<CustomTagValue>" },Az alábbi képernyőképen látható, hogy a fájlban hol szeretné hozzáadni a címkét.
Válassza a Mentés lehetőséget.
A frissítés importálása
Az Eszközfrissítési példány Azure Portal IoT Hub lapján válassza Eszközkezelés >Updates elemet a bal oldali navigációs sávon.
A Frissítések lapon válassza az Új frissítés importálása lehetőséget.
A Frissítés importálása lapon válassza a Kiválasztás a tárolóból lehetőséget.
A Tárfiókok lapon válasszon ki egy meglévő tárfiókot, vagy hozzon létre egy új fiókot a Storage-fiók kiválasztásával.
A Tárolók lapon válasszon ki egy meglévő tárolót, vagy hozzon létre egy új tárolót a Tároló kiválasztásával. A tárolóval a frissítési fájlokat importálhatja.
Tipp.
A korábbi frissítésekből származó fájlok véletlen importálásának elkerülése érdekében minden egyes frissítés importálásakor használjon egy új tárolót. Ha nem használ új tárolót, mindenképpen törölje a fájlokat a meglévő tárolóból.
A tárolólapon válassza a Feltöltés lehetőséget. Húzza az egérrel, vagy keresse meg és jelölje ki a következő frissítési fájlokat a letöltött Tutorial_RaspberryPi3 mappából:
- adu-update-image-raspberrypi3-1.2.0.swu
- example-a-b-update.sh
- EDS-ADUClient.yocto-update.1.2.0.importmanifest.json
Válassza a Feltöltés lehetőséget. A feltöltés után a fájlok megjelennek a tárolólapon.
A tárolólapon tekintse át és jelölje ki az importálni kívánt fájlokat, majd válassza a Kiválasztás lehetőséget.
A Frissítés importálása képernyőn válassza a Frissítés importálása lehetőséget.
Az importálási folyamat megkezdődik, és a képernyő a Frissítések képernyőre vált. Az importálás sikeres végrehajtása után megjelenik a Frissítések lapon. Az importálási folyamatról további információt az Eszközfrissítés frissítésének importálása című témakörben talál.
Válassza ki az eszközcsoportot
Az eszközre alkalmazott csoportcímkével telepítheti a frissítést az eszközcsoporton. A Csoportok és üzemelő példányok lapfülre kattintva a Frissítések lap tetején megtekintheti a csoportok és üzemelő példányok listáját, valamint a frissítési megfelelőségi diagramot.
A frissítésmegfelelőségi diagram a különböző megfelelőségi állapotokban lévő eszközök számát mutatja: a legújabb frissítés, az elérhető új frissítések és a folyamatban lévő frissítések. További információ: Eszközfrissítések megfelelősége.
A Csoportnév csoportban megjelenik az IoT Hubhoz csatlakoztatott eszközök összes eszközcsoportjának és az elérhető frissítéseknek a listája, amelyek hivatkozásokkal telepíthetik a frissítéseket az Állapot területen. Minden olyan eszköz, amely nem felel meg egy csoport eszközosztály-követelményeinek, érvénytelen csoportban jelenik meg. További információ a címkékről és csoportokról: Eszközcsoportok kezelése.
Látnia kell az oktatóanyagban beállított eszközt tartalmazó eszközcsoportot, valamint a csoport eszközeinek elérhető frissítéseit. Lehetséges, hogy frissítenie kell az oldalt. Ha a legjobban elérhető frissítést szeretné üzembe helyezni egy csoporton ebből a nézetben, válassza a csoport melletti Üzembe helyezés lehetőséget.
A frissítés üzembe helyezése
A Csoport részletei lapon válassza az Aktuális üzembe helyezés lapot, majd az Elérhető frissítések szakaszban válassza a kívánt frissítés melletti Üzembe helyezés lehetőséget. A csoport számára elérhető legjobb frissítés a legjobb kiemeléssel van jelölve.
Az Üzembe helyezés létrehozása lapon ütemezze az üzembe helyezés azonnali vagy jövőbeli indítását, majd válassza a Létrehozás lehetőséget.
Tipp.
Alapértelmezés szerint a kezdési dátum és időpont 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 hamarabb kezdődjön.
Az üzembe helyezés részletei alatt az állapot aktív állapotúvá válik. Az Elérhető frissítések területen a kijelölt frissítés megjelölése (üzembe helyezés).
A Frissítések lapon 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 a megfelelőségi diagram és az üzembe helyezés részletei frissülnek, hogy tükrözzék ezt az állapotot.
Frissítéstelepítési előzmények megtekintése
Az üzembe helyezési előzmények megtekintése:
Válassza az Üzembe helyezési előzmények lapot a Csoport részletei lap tetején, és válassza a létrehozott üzembe helyezés melletti részletes hivatkozást.
Az Üzembe helyezés részletei lapon válassza a Frissítés lehetőséget a legújabb állapotadatok megtekintéséhez.
Az erőforrások eltávolítása
Ha már nincs szüksége az oktatóanyaghoz létrehozott erőforrásokra, törölheti őket.
- Az Azure Portalon keresse meg az erőforrásokat tartalmazó erőforráscsoportot.
- Ha törölni szeretné a csoport összes erőforrását, válassza az Erőforráscsoport törlése lehetőséget.
- Ha csak néhány erőforrást szeretne törölni, jelölje ki az erőforrásokat a jelölőnégyzetek használatával, majd válassza a Törlés lehetőséget.
Következő lépések
- Eszközfrissítés az IoT Hubhoz szimulátorügynök használatával
- Eszközfrissítés az IoT Hubhoz csomagügynök használatával