IoT-eszközfejlesztés

Ez az áttekintés bemutatja a tipikus Azure IoT-megoldáshoz csatlakozó eszközök fejlesztésével kapcsolatos legfontosabb fogalmakat. Minden szakasz tartalmaz olyan tartalomra mutató hivatkozásokat, amelyek további részleteket és útmutatást nyújtanak.

Az alábbi ábra egy tipikus IoT-megoldás összetevőinek magas szintű nézetét mutatja be. Ez a cikk a diagramon látható eszközökre és átjárókra összpontosít.

Az eszközkapcsolati területeket kiemelő magas szintű IoT-megoldásarchitektúra ábrája.

Az Azure IoT-ben egy eszközfejlesztő megírja a kódot a megoldásban lévő eszközökön való futtatáshoz. Ez a kód általában a következő:

  • Biztonságos kapcsolatot hoz létre egy felhővégponttal.
  • A csatlakoztatott érzékelőkről gyűjtött telemetriát küld a felhőbe.
  • Kezeli az eszköz állapotát, és szinkronizálja azt a felhővel.
  • Válaszol a felhőből küldött parancsokra.
  • Lehetővé teszi a szoftverfrissítések telepítését a felhőből.
  • Lehetővé teszi, hogy az eszköz továbbra is működjön, miközben leválasztja a felhőről.

Eszköztípusok

Az IoT-eszközök két széles kategóriába sorolhatók: mikrovezérlők (MCU-k) és mikroprocesszorok (MPU-k):

  • Az MCU-k olcsóbbak és egyszerűbbek, mint az MPU-k.
  • Az MCU számos funkciót tartalmaz, például memóriát, interfészeket és I/O-t a chipen. Az MPU ezt a funkciót a támogató chipek összetevőitől éri el.
  • Az MCU gyakran valós idejű operációs rendszert (RTOS) használ, vagy operációs rendszer nélküli operációs rendszert futtat, és valós idejű válaszokat és rendkívül determinisztikus reakciókat biztosít a külső eseményekre. Az MPU-k általában egy általános célú operációs rendszert futtatnak, például Windowst, Linuxot vagy macOS-t, amely nemdeterminisztikus valós idejű választ ad. Általában nincs garancia arra, hogy mikor fejeződik be egy feladat.

A speciális hardverek és operációs rendszerek például a következők:

A Windows for IoT a Windows for MPU-k beágyazott verziója felhőalapú kapcsolattal, amely lehetővé teszi biztonságos eszközök létrehozását egyszerű üzembe helyezéssel és felügyelettel.

Az Eclipse ThreadX egy valós idejű operációs rendszer az MCU-k által működtetett IoT- és peremeszközökhöz. Az Eclipse ThreadX az akkumulátorral működő és 64 KB-nál kevesebb flashmemóriával rendelkező, erősen korlátozott eszközök támogatására lett tervezve.

Az Azure Sphere egy biztonságos, magas szintű alkalmazásplatform, amely beépített kommunikációs és biztonsági funkciókkal rendelkezik az internethez csatlakoztatott eszközökhöz. Ez egy biztonságos, csatlakoztatott, crossover MCU-t, egy egyéni magas szintű Linux-alapú operációs rendszert és egy felhőalapú biztonsági szolgáltatást tartalmaz, amely folyamatos, megújuló biztonságot nyújt.

Primitívek

Az Azure IoT-eszközök a következő primitívekkel kezelhetik a felhőt:

  • Eszközről felhőbe irányuló üzenetek az idősor telemetriai adatainak felhőbe küldéséhez. Például az eszközhöz csatlakoztatott érzékelőből gyűjtött hőmérsékleti adatok.
  • Médiafájlok, például rögzített képek és videók fájlfeltöltései . Az időszakosan csatlakoztatott eszközök telemetriai kötegeket küldhetnek. Az eszközök tömöríthetik a feltöltéseket a sávszélesség megtakarítása érdekében.
  • Ikereszközök az állapotadatok felhővel való megosztásához és szinkronizálásához. Egy eszköz például az ikereszköz használatával jelentheti az általa vezérelt szelep aktuális állapotát a felhőnek, és megkaphatja a kívánt célhőmérsékletet a felhőből.
  • Digitális ikerpéldányok , amelyek egy eszközt képviselnek a digitális világban. A digitális ikerpéldányok például az eszköz fizikai helyét, képességeit és más eszközökkel való kapcsolatait jelölhetik.
  • Közvetlen metódusok a felhőből érkező parancsok fogadásához. A közvetlen metódusok paraméterekkel rendelkezhetnek, és választ adhatnak vissza. A felhő például meghívhat egy közvetlen metódust, amely 30 másodperc alatt kéri az eszköz újraindítását.
  • Felhőről eszközre irányuló üzenetek a felhőből érkező egyirányú értesítések fogadásához. Például egy értesítés arról, hogy egy frissítés készen áll a letöltésre.

További információkért tekintse meg az eszközök közötti kommunikációra vonatkozó útmutatót és az eszközök közötti kommunikációval kapcsolatos útmutatást.

Eszköz SDK-k

Az eszköz SDK-jai magas szintű absztrakciókat biztosítanak, amelyek lehetővé teszik a primitívek használatát az alapul szolgáló kommunikációs protokollok ismerete nélkül. Az eszközoldali SDK-k a felhőhöz való biztonságos kapcsolat létrehozásának és az eszköz hitelesítésének részleteit is kezelik.

MPU-eszközök esetén az eszközoldali SDK-k a következő nyelveken érhetők el:

MCU-eszközök esetén lásd:

Minták és útmutató

Az eszköz SDK-jai olyan mintákat tartalmaznak, amelyek bemutatják, hogyan használható az SDK a felhőhöz való csatlakozásra, a telemetriai adatok küldésére és a többi primitív használatára.

Az IoT-eszközfejlesztési webhely oktatóanyagokat és útmutatókat tartalmaz, amelyek bemutatják, hogyan implementálhat kódokat különböző eszköztípusokhoz és forgatókönyvekhez.

További mintákat a kód mintaböngészőjében talál.

Ha többet szeretne megtudni az automatikus újracsatlakozások végpontokhoz való implementálásáról, olvassa el a Rugalmas alkalmazások létrehozásához szükséges eszköz-újracsatlakozások kezelése című témakört.

Eszközfejlesztés eszköz SDK nélkül

Bár az eszköz SDKS-jének használata ajánlott, előfordulhatnak olyan helyzetek, amikor nem szeretné. Ezekben az esetekben az eszköz kódjának közvetlenül kell használnia az IoT Hub és a Device Provisioning Service (DPS) által támogatott kommunikációs protokollok egyikét.

További információkért lásd:

Eszközmodellezés

Az IoT Plug and Play lehetővé teszi, hogy a megoldáskészítők manuális konfiguráció nélkül integrálják az IoT-eszközöket a megoldásukkal. Az IoT Plug and Play alapja egy eszközmodell, amelyet az eszköz a képességeinek meghirdetésére használ egy IoT Plug and Play-kompatibilis alkalmazáson, például az IoT Centralon. Ez a modell a következőket meghatározó elemek készleteként van felépítve:

  • Az eszköz vagy más entitás írásvédett vagy írható állapotát képviselő tulajdonságok . Az eszköz sorozatszáma lehet például írásvédett tulajdonság, a termosztát célhőmérséklete pedig írható tulajdonság.
  • Az eszköz által kibocsátott adatok telemetriája , függetlenül attól, hogy az adatok rendszeres érzékelőolvasási adatfolyamok, alkalmi hibák vagy információs üzenetek.
  • Az eszközön elvégezhető függvényt vagy műveletet leíró parancsok . Egy parancs például újraindíthat egy átjárót, vagy távoli kamerával készíthet képet.

Ezeket az elemeket a felületeken csoportosítva újra felhasználhatja a modelleket az együttműködés megkönnyítése és a fejlesztés felgyorsítása érdekében.

A modell a Digital Twins Definition Language (DTDL) használatával van megadva.

Az IoT Plug and Play, a modellezés és a DTDL használata nem kötelező. Az IoT-eszköz primitívjei IoT Plug and Play és modellezés nélkül is használhatók. Az Azure Digital Twins szolgáltatás DTDL-modelleket is használ ikergráfok létrehozásához, például épületek vagy gyárak digitális modelljei alapján.

Eszközfejlesztőként az IoT Plug and Play-eszköz implementálása során számos konvenciót kell követnie. Ezek a konvenciók szabványos módszert biztosítanak az eszközmodell kódban való implementálásához az eszköz SDK-kban elérhető primitívek használatával.

További információ:

Tárolóalapú eszközkód

Ha tárolókat használ, például a Dockerben, az eszközkód futtatásához kódot helyezhet üzembe az eszközökön a tárolóinfrastruktúra képességeinek használatával. A tárolók segítségével futtatókörnyezetet is definiálhat a kódhoz az összes szükséges kódtár- és csomagverzióval együtt. A tárolók megkönnyítik a frissítések üzembe helyezését és az IoT-eszközök életciklusának kezelését.

Az Azure IoT Edge tárolókban futtatja az eszközkódot. Az Azure IoT Edge használatával kódmodulokat helyezhet üzembe az eszközein. További információ: Saját IoT Edge-modulok fejlesztése.

Tipp.

Az Azure IoT Edge több forgatókönyvet is lehetővé tesz. Az IoT-eszközkód tárolókban való futtatása mellett az Azure IoT Edge használatával Azure-szolgáltatásokat futtathat az eszközein, és implementálhatja a helyszíni átjárókat. További információ: Mi az Azure IoT Edge?

Fejlesztési eszközök

Az alábbi táblázat felsorol néhányat az elérhető IoT-fejlesztési eszközök közül:

Eszköz Leírás
Azure IoT Hub (VS Code-bővítmény) Ez a VS Code-bővítmény lehetővé teszi, hogy az IoT Hub erőforrásait és eszközeit a VS Code-on belül kezelje.
Azure IoT Explorer Ez a platformfüggetlen eszköz lehetővé teszi az IoT Hub erőforrásainak és eszközeinek kezelését egy asztali alkalmazásból.
Azure IoT-bővítmény az Azure CLI-hez Ez a CLI-bővítmény olyan parancsokat tartalmaz, mint a az iot device simulate, az iot device c2d-messageés az iot hub monitor-events amelyek segítenek az eszközökkel való interakciók tesztelésében.

Következő lépések

Most, hogy áttekintettük az Azure IoT-megoldások eszközfejlesztését, néhány javasolt következő lépés: