Megosztás a következőn keresztül:


IoT Edge-eszköz létrehozása és kiépítése Linuxon szimmetrikus kulcsokkal

A következőkre vonatkozik: igen ikon IoT Edge 1.1

Fontos

Az IoT Edge 1.1 támogatási dátuma 2022. december 13. volt. A termék, szolgáltatás, technológia vagy API támogatásáról a Microsoft-termékek életciklusa című leírásból tájékozódhat. Az IoT Edge legújabb verziójára való frissítésről további információt az IoT Edge frissítése című témakörben talál.

Ez a cikk a Linux IoT Edge-eszközök regisztrálására és kiépítésére vonatkozó, végpontok közötti utasításokat tartalmazza, beleértve az IoT Edge telepítését is.

Minden IoT Hubhoz csatlakozó eszköz rendelkezik egy eszközazonosítóval, amely a felhőből az eszközre vagy az eszközről a felhőbe irányuló kommunikáció nyomon követésére szolgál. Konfigurálhat egy eszközt a kapcsolati adataival, beleértve az IoT Hub gazdagépnevét, az eszköz azonosítóját és az IoT Hubon való hitelesítéshez használt információkat.

A cikk lépései végigvezetnek egy manuális kiépítési folyamaton, ahol egyetlen eszközt csatlakoztat az IoT Hubhoz. A manuális kiépítéshez két lehetősége van az IoT Edge-eszközök hitelesítésére:

  • Szimmetrikus kulcsok: Amikor új eszközidentitást hoz létre az IoT Hubban, a szolgáltatás két kulcsot hoz létre. A kulcsok egyikét az eszközön helyezi el, és hitelesítéskor megjeleníti a kulcsot az IoT Hubnak.

    Ez a hitelesítési módszer gyorsabb az első lépésekhez, de nem olyan biztonságos.

  • X.509 önaláírt: Létrehozhat két X.509-identitástanúsítványt, és elhelyezheti őket az eszközön. Amikor új eszközidentitást hoz létre az IoT Hubban, mindkét tanúsítvány ujjlenyomatát adja meg. Amikor az eszköz hitelesíti az IoT Hubot, egy tanúsítványt jelenít meg, az IoT Hub pedig ellenőrzi, hogy a tanúsítvány megfelel-e az ujjlenyomatának.

    Ez a hitelesítési módszer biztonságosabb, és éles helyzetekben ajánlott.

Ez a cikk a szimmetrikus kulcsok hitelesítési módszerként való használatát ismerteti. Ha X.509-tanúsítványokat szeretne használni, olvassa el az IoT Edge-eszköz létrehozása és kiépítése Linuxon X.509-tanúsítványokkal című témakört.

Feljegyzés

Ha sok eszközt szeretne beállítani, és nem szeretné manuálisan kiépíteni az egyes eszközöket, az alábbi cikkek egyikével megtudhatja, hogyan működik az IoT Edge az IoT Hub eszközkiépítési szolgáltatással:

Előfeltételek

Ez a cikk az IoT Edge-eszköz regisztrálását és az IoT Edge telepítését ismerteti. Ezek a feladatok különböző előfeltételekkel és segédprogramokkal rendelkeznek a feladatok végrehajtásához. A folytatás előtt győződjön meg arról, hogy rendelkezik az összes előfeltételével.

Eszközfelügyeleti eszközök

Az eszköz regisztrálásának lépéseihez használhatja az Azure Portalt, a Visual Studio Code-ot vagy az Azure CLI-t . Minden segédprogramnak megvannak a saját előfeltételei:

Ingyenes vagy standard IoT Hub az Azure-előfizetésben.

Eszközkövetelmények

X64, ARM32 vagy ARM64 Linux rendszerű eszköz.

A Microsoft különböző operációs rendszerekhez teszi közzé a telepítési csomagokat.

Az éles környezetekben jelenleg támogatott operációs rendszerekről az Azure IoT Edge által támogatott rendszerekről olvashat.

Eszköz regisztrálása

Az Azure Portal, a Visual Studio Code vagy az Azure CLI használatával a beállításoktól függően regisztrálhatja az eszközt.

Az Azure Portal IoT Hubján az IoT Edge-eszközök létrehozása és kezelése külön történik az olyan IoT-eszközöktől, amelyek nincsenek engedélyezve a peremhálózaton.

  1. Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.

  2. A bal oldali panelen válassza az Eszközök lehetőséget a menüben, majd válassza az Eszköz hozzáadása lehetőséget.

  3. Az Eszköz létrehozása lapon adja meg a következő információkat:

    • Hozzon létre egy leíró eszközazonosítót. Jegyezze fel ezt az eszközazonosítót, ahogy később használni fogja.
    • Jelölje be az IoT Edge-eszköz jelölőnégyzetet.
    • Hitelesítési típusként válassza a szimmetrikus kulcsot .
    • Az alapértelmezett beállításokkal automatikusan létrehozhat hitelesítési kulcsokat, és csatlakoztathatja az új eszközt a központhoz.
  4. Válassza a Mentés lehetőséget.

Most, hogy regisztrált egy eszközt az IoT Hubban, kérje le az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez használt információkat.

Regisztrált eszközök megtekintése és kiépítési információk lekérése

A szimmetrikus kulcsos hitelesítést használó eszközöknek szükségük van a kapcsolati sztring az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez.

Az IoT Hubhoz csatlakozó peremhálózati eszközök az Eszközök lapon találhatók. A listát az Iot Edge-eszköz típusával szűrheti.

Képernyőkép arról, hogyan tekintheti meg az eszközöket az Azure Portalon, az IoT Hubon.

Ha készen áll az eszköz beállítására, szüksége lesz arra a kapcsolati sztring, amely összekapcsolja a fizikai eszközt az IoT Hub identitásával.

A szimmetrikus kulcsokkal hitelesítendő eszközök kapcsolati sztring a portálon másolhatók.

  1. A portál Eszközök lapján válassza ki az IoT Edge eszközazonosítóját a listából.
  2. Másolja ki az elsődleges kapcsolati sztring vagy a másodlagos kapcsolati sztring értékét.

Az IoT Edge telepítése

Ebben a szakaszban előkészíti Linux rendszerű virtuális gépét vagy fizikai eszközét az IoT Edge-hez. Ezután telepítse az IoT Edge-et.

Futtassa az alábbi parancsokat a csomagtárház hozzáadásához, majd adja hozzá a Microsoft-csomagaláíró kulcsot a megbízható kulcsok listájához.

Fontos

2022. június 30-án a Raspberry Pi OS Stretch kilépett az 1. rétegbeli operációsrendszer-támogatási listából. A lehetséges biztonsági rések elkerülése érdekében frissítse a gazdagép operációs rendszerét a Bullseye-re.

A telepítés néhány paranccsal elvégezhető. Nyisson meg egy terminált, és futtassa a következő parancsokat:

  • 20.04:

    wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 18.04:

    wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

Feljegyzés

Az Azure IoT Edge szoftvercsomagjaira az egyes csomagokban (usr/share/doc/{package-name} vagy a LICENSE címtárban) található licencfeltételek vonatkoznak. A csomag használata előtt olvassa el a licencfeltételeket. A csomagok telepítése és használata jelenti a jelen feltételek elfogadását. Ha nem ért egyet a licencfeltételekkel, ne használja ezt a csomagot.

Tárolómotor telepítése

Az Azure IoT Edge egy OCI-kompatibilis tároló-futtatókörnyezetre támaszkodik. Éles helyzetekben javasoljuk, hogy használja a Moby motort. A Moby motor az egyetlen olyan tárolómotor, amelyet hivatalosan támogat az IoT Edge. A Docker CE/EE tárolórendszerképei kompatibilisek a Moby futtatókörnyezetével.

Telepítse a Moby motort.

sudo apt-get update; \
  sudo apt-get install moby-engine

A Moby motor sikeres telepítése után konfigurálja úgy, hogy naplózási illesztőprogramot használjon local naplózási mechanizmusként. A naplózási konfigurációval kapcsolatos további információkért tekintse meg az éles üzembehelyezési ellenőrzőlistát.

  • Hozza létre vagy nyissa meg a Docker démon konfigurációs fájlját a következő helyen /etc/docker/daemon.json: .

  • Állítsa be az alapértelmezett naplózási illesztőprogramot a local naplózási illesztőprogramra az alábbi példában látható módon.

       {
          "log-driver": "local"
       }
    
  • Indítsa újra a tárolómotort a módosítások érvénybe lépéséhez.

    sudo systemctl restart docker
    

    Tipp.

    Ha hibaüzenetet kap a Moby tárolómotor telepítésekor, ellenőrizze a Linux kernelt a Moby kompatibilitása érdekében. Egyes beágyazott eszközgyártók egyéni Linux-kerneleket tartalmazó eszközlemezképeket szállítanak a tárolómotorok kompatibilitásához szükséges funkciók nélkül. Futtassa az alábbi parancsot, amely a Moby által biztosított ellenőrzőkonfigurációs szkriptet használja a kernelkonfiguráció ellenőrzéséhez:

    curl -ssl https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
    chmod +x check-config.sh
    ./check-config.sh
    

    A szkript kimenetében ellenőrizze, hogy az összes elem be Generally Necessary van-e kapcsolva, és Network Drivers engedélyezve van-e. Ha hiányoznak a funkciók, engedélyezze őket úgy, hogy újraépíti a kernelt a forrásból, és kiválasztja a kapcsolódó modulokat a megfelelő kernel .config fájlba való felvételéhez. Hasonlóképpen, ha kernelkonfigurációs generátort használ, például defconfig vagy menuconfig, keresse meg és engedélyezze a megfelelő funkciókat, és ennek megfelelően építse újra a kernelt. Az újonnan módosított kernel üzembe helyezése után futtassa újra a check-config szkriptet annak ellenőrzéséhez, hogy az összes szükséges funkció sikeresen engedélyezve lett-e.

Az IoT Edge-futtatókörnyezet telepítése

Az IoT Edge biztonsági démon biztonsági szabványokat biztosít és tart fenn az IoT Edge-eszközön. A démon minden rendszerindításkor elindul, és az IoT Edge többi futtatókörnyezetének elindításával elindítja az eszközt.

Az ebben a szakaszban ismertetett lépések a legújabb verzió internetkapcsolattal rendelkező eszközre való telepítésének tipikus folyamatát jelölik. Ha telepítenie kell egy adott verziót, például egy előzetes verziót, vagy offline állapotban kell telepítenie, kövesse az Offline vagy adott verzió telepítési lépéseit a jelen cikk későbbi részében.

Telepítse az IoT Edge 1.1.* verzióját a libiothsm-std csomaggal együtt:

sudo apt-get update; \
  sudo apt-get install iotedge

Feljegyzés

Az IoT Edge 1.1-es verziója az IoT Edge hosszú távú támogatási ága. Ha régebbi verziót futtat, javasoljuk, hogy telepítse vagy frissítse a legújabb javításra, mivel a régebbi verziók már nem támogatottak.

Az eszköz kiépítése a felhőbeli identitással

Most, hogy a tárolómotor és az IoT Edge-futtatókörnyezet telepítve van az eszközön, készen áll a következő lépésre, amely az eszköz felhőbeli identitás- és hitelesítési adataival való beállítását jelenti.

Az IoT Edge-eszközön nyissa meg a konfigurációs fájlt.

sudo nano /etc/iotedge/config.yaml

Keresse meg a fájl kiépítési konfigurációit, és bontsa ki a manuális kiépítési konfigurációt egy kapcsolati sztring szakasz használatával, ha még nincs kibontva.

# Manual provisioning configuration using a connection string
provisioning:
source: "manual"
device_connection_string: "ADD_DEVICE_CONNECTION_STRING_HERE"

Frissítse a device_connection_string értékét az IoT Edge-eszközről származó kapcsolati sztring. Győződjön meg arról, hogy a többi kiépítési szakasz megjegyzést tartalmaz. Győződjön meg arról, hogy a kiépítés: sor nem rendelkezik korábbi szabad térrel, és hogy a beágyazott elemeket két szóköz behúzta.

Vágólap tartalmának beillesztéséhez a Nano-ba Shift+Right Click , vagy nyomja le a gombot Shift+Insert.

Mentse és zárja be a fájlt.

CTRL + X, , YEnter

Miután megadta a kiépítési adatokat a konfigurációs fájlban, indítsa újra a démont:

sudo systemctl restart iotedge

Sikeres konfiguráció ellenőrzése

Ellenőrizze, hogy a futtatókörnyezet telepítése és konfigurálása sikeresen megtörtént-e az IoT Edge-eszközön.

Tipp.

Az iotedge parancsok futtatásához megemelt jogosultsági szint szükséges. Amikor az IoT Edge-futtatókörnyezet telepítése után kijelentkezik, majd először újra bejelentkezik a gépre, az engedélyei automatikusan frissülnek. Addig is használja sudo a parancsok előtt.

Ellenőrizze, hogy az IoT Edge rendszerszolgáltatás fut-e.

sudo systemctl status iotedge

Ha hibaelhárításra van szükség, kérje le a szolgáltatás naplóit.

journalctl -u iotedge

check Az eszköz konfigurálásának és kapcsolati állapotának ellenőrzéséhez használja az eszközt.

sudo iotedge check

Tipp.

sudo Az ellenőrzőeszközt mindig az engedélyek frissítése után is futtathatja. Az eszköznek emelt szintű jogosultságokra van szüksége a konfigurációs fájl eléréséhez a konfiguráció állapotának ellenőrzéséhez.

Feljegyzés

Egy újonnan kiépített eszközön az IoT Edge Hubhoz kapcsolódó hiba jelenhet meg:

× éles üzemkészség: Az Edge Hub tárolókönyvtára megmarad a gazdagép fájlrendszerén – Hiba

Nem sikerült ellenőrizni az edgeHub-tároló aktuális állapotát

Ez a hiba egy újonnan kiépített eszközön várható, mert az IoT Edge Hub modul nem fut. A hiba megoldásához az IoT Hubban állítsa be az eszköz moduljait, és hozzon létre egy üzembe helyezést. Az eszköz központi telepítésének létrehozása elindítja a modulokat az eszközön, beleértve az IoT Edge Hub modult is.

Tekintse meg az IoT Edge-eszközön futó összes modult. A szolgáltatás első indításakor csak az edgeAgent modul fut. Az edgeAgent modul alapértelmezés szerint fut, és segít az eszközön üzembe helyezendő további modulok telepítésében és elindításában.

sudo iotedge list

Új IoT Edge-eszköz létrehozásakor az állapotkód 417 -- The device's deployment configuration is not set megjelenik az Azure Portalon. Ez az állapot normális, és azt jelenti, hogy az eszköz készen áll a modul üzembe helyezésére.

Offline vagy adott verzió telepítése (nem kötelező)

Az ebben a szakaszban szereplő lépések olyan forgatókönyvekre vonatkoznak, amelyekre a szokásos telepítési lépések nem vonatkoznak. Ez a következők lehetnek:

  • Az IoT Edge telepítése offline állapotban
  • Kiadásra jelölt verzió telepítése

Ha az Azure IoT Edge-futtatókörnyezet egy adott verzióját szeretné telepíteni, amely nem érhető el a csomagkezelőn keresztül, kövesse az ebben a szakaszban leírt lépéseket. A Microsoft csomaglistája csak korlátozott számú legutóbbi verziót és azok alverzióit tartalmazza, ezért ezek a lépések mindenki számára elérhetők, akik régebbi verziót vagy kiadásra jelölt verziót szeretnének telepíteni.

Curl-parancsokkal közvetlenül az IoT Edge GitHub-adattárból célozhatja meg az összetevőfájlokat.

  1. Lépjen az Azure IoT Edge-kiadásokra, és keresse meg a megcélzni kívánt kiadási verziót.

  2. Bontsa ki az adott verzióHoz tartozó Eszközök szakaszt.

  3. Minden kiadásnak új fájlokkal kell rendelkeznie az IoT Edge biztonsági démonhoz és a hsmlibhez. Ha offline eszközre telepíti az IoT Edge-et, töltse le ezeket a fájlokat előre. Ellenkező esetben az alábbi parancsokkal frissítheti ezeket az összetevőket.

    1. Keresse meg az IoT Edge-eszköz architektúrájának megfelelő libiothsm-std fájlt. Kattintson a jobb gombbal a fájlhivatkozásra, és másolja a hivatkozás címét.

    2. A hsmlib ezen verziójának telepítéséhez használja a következő parancs másolt hivatkozását:

      curl -L <libiothsm-std_link> -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
      
    3. Keresse meg az IoT Edge-eszköz architektúrájának megfelelő iotedge-fájlt . Kattintson a jobb gombbal a fájlhivatkozásra, és másolja a hivatkozás címét.

    4. Az IoT Edge biztonsági démon ezen verziójának telepítéséhez használja a következő parancs másolt hivatkozását.

      curl -L iotedge_link_here -o iotedge.deb && sudo apt-get install ./iotedge.deb
      

Most, hogy a tárolómotor és az IoT Edge-futtatókörnyezet telepítve van az eszközön, készen áll a következő lépésre, vagyis az eszköz felhőbeli identitással való kiépítésére.

Az IoT Edge eltávolítása

Ha el szeretné távolítani az IoT Edge-telepítést az eszközről, használja az alábbi parancsokat.

Távolítsa el az IoT Edge-futtatókörnyezetet.

sudo apt-get autoremove iotedge

Az IoT Edge-futtatókörnyezet eltávolításakor a létrehozott tárolók leállnak, de továbbra is léteznek az eszközön. Az összes tároló megtekintéséhez tekintse meg, hogy mely tárolók maradjanak.

sudo docker ps -a

Törölje a tárolókat az eszközről, beleértve a két futtatókörnyezeti tárolót is.

sudo docker rm -f <container name>

Végül távolítsa el a tároló futtatókörnyezetét az eszközről.

sudo apt-get autoremove --purge moby-engine