Share via


Mik azok az eszközsablonok?

Az Azure IoT Central eszközsablonja egy terv, amely meghatározza az alkalmazáshoz csatlakozó eszköztípus jellemzőit és viselkedését. Az eszközsablon például meghatározza az eszköz által küldött telemetriát, hogy az IoT Central a megfelelő egységeket és adattípusokat használó vizualizációkat hozhasson létre.

A megoldásszerkesztő eszközsablonokat ad hozzá egy IoT Central-alkalmazáshoz. Az eszközfejlesztő az eszközsablonban definiált viselkedést megvalósító eszközkódot írja. Ha többet szeretne megtudni az eszközök IoT Centrallal cserélt adatairól, tekintse meg a telemetriai adatokat, a tulajdonságot és a parancsok hasznos adatait.

Az eszközsablonok a következő szakaszokat tartalmazzák:

  • Eszközmodell. Az eszközsablon ezen része határozza meg, hogyan működik az eszköz az alkalmazással. Minden eszközmodell egyedi azonosítóval rendelkezik. Az eszközfejlesztők implementálják a modellben meghatározott viselkedéseket.
    • Gyökérösszetevő. Minden eszközmodell rendelkezik gyökérösszetevővel. A gyökérösszetevő felülete az eszközmodellre jellemző képességeket ismerteti.
    • Összetevők. Az eszközmodellek a gyökérösszetevőn kívül összetevőket is tartalmazhatnak az eszköz képességeinek leírásához. Minden összetevő rendelkezik egy felülettel, amely leírja az összetevő képességeit. Az összetevő-adapterek más eszközmodellekben újra felhasználhatók. Több telefoneszköz-modell például ugyanazt a kamerafelületet használhatja.
    • Örökölt felületek. Az eszközmodellek egy vagy több interfészt tartalmaznak, amelyek kibővítik a gyökérösszetevő képességeit.
  • Nézetek. Az eszközsablon ezen része lehetővé teszi, hogy a megoldásfejlesztő vizualizációkat definiáljon az eszköz adatainak megtekintéséhez, valamint űrlapokat az eszközök kezeléséhez és vezérléséhez. A nézetek nem befolyásolják az eszközfejlesztő által az eszközmodell implementálásához írt kódot.

Eszköz hozzárendelése eszközsablonhoz

Ahhoz, hogy egy eszköz kommunikáljon az IoT Centrallal, egy eszközsablonhoz kell hozzárendelni. Ez a feladat négyféleképpen történik:

  • Amikor regisztrál egy eszközt az Eszközök lapon, azonosíthatja azt a sablont, amelyet az eszköznek használnia kell.
  • Ha tömegesen importálja az eszközök listáját, kiválaszthatja azt az eszközsablont, amelyet a listán szereplő összes eszköznek használnia kell.
  • A csatlakozás után manuálisan hozzárendelhet egy nem hozzárendelt eszközt egy eszközsablonhoz.
  • Az eszköz automatikusan hozzárendelhető egy eszközsablonhoz egy modellazonosító elküldésével, amikor az eszköz először csatlakozik az alkalmazáshoz.

Automatikus hozzárendelés

Az IoT Central automatikusan hozzárendelhet egy eszközt egy eszközsablonhoz, amikor az eszköz csatlakozik. Amikor csatlakozik, az eszköznek modellazonosítót kell küldenie. Az IoT Central a modellazonosítóval azonosítja az adott eszközmodell eszközsablonját. A felderítési folyamat a következőképpen működik:

  1. Ha az eszközsablon már közzé van téve az IoT Central alkalmazásban, az eszköz hozzá lesz rendelve az eszközsablonhoz.

  2. Ha az eszközsablon még nincs közzétéve az IoT Central-alkalmazásban, az IoT Central megkeresi az eszközmodellt a nyilvános eszközmodell-adattárban. Ha az IoT Central megkeresi a modellt, egy alapszintű eszközsablon létrehozásához használja.

  3. Ha az IoT Central nem találja a modellt a nyilvános modell adattárában, az eszköz hozzárendelés nélküliként van megjelölve. Az operátorok:

Az alábbi képernyőkép bemutatja, hogyan tekintheti meg egy eszközsablon modellazonosítóját az IoT Centralban. Eszközsablonban válasszon ki egy összetevőt, majd válassza az Identitás szerkesztése lehetőséget:

A termosztát-eszközsablon modellazonosítóját bemutató képernyőkép.

A termosztátmodellt a nyilvános modell adattárában tekintheti meg. A modellazonosító definíciója a következőképpen néz ki:

"@id": "dtmi:com:example:Thermostat;1"

Az eszköz eszközsablonhoz való hozzárendeléséhez használja az alábbi DPS-hasznos adatokat:

{
  "modelId":"dtmi:com:example:TemperatureController;2"
}

A DPS hasznos adataival kapcsolatos további információkért tekintse meg az oktatóanyagban használt mintakódot: Ügyfélalkalmazás létrehozása és csatlakoztatása az Azure IoT Central-alkalmazáshoz.

Eszközmodellek

Az eszközmodell meghatározza, hogy az eszköz hogyan kommunikál az IoT Central-alkalmazással. Az eszközfejlesztőnek gondoskodnia kell arról, hogy az eszköz implementálja az eszközmodellben meghatározott viselkedéseket, hogy az IoT Central monitorozza és felügyelhesse az eszközt. Az eszközmodellek egy vagy több interfészből áll, és minden illesztő meghatározhat telemetriai típusok, eszköztulajdonságok és parancsok gyűjteményét. A megoldásfejlesztők a következőket tehetik:

  • Importáljon egy olyan JSON-fájlt, amely egy teljes eszközmodellt vagy egy egyedi felületet határoz meg egy eszközsablonba.
  • Az IoT Central webes felhasználói felületének használatával hozhat létre vagy szerkeszthet eszközmodellt.

Feljegyzés

Az IoT Central bármilyen érvényes JSON-hasznos adatot elfogad egy eszközről, de csak akkor használhatja az adatokat vizualizációkhoz, ha azok megegyeznek az eszközmodell definícióival. A definíciónak nem megfelelő adatokat exportálhatja, lásd : IoT-adatok exportálása felhőbeli célhelyekre a Blob Storage használatával.

Az eszközmodellek szerkesztéséről további információt a Meglévő eszközsablon szerkesztése című témakörben talál .

A megoldásfejlesztők egy JSON-fájlt is exportálhatnak az eszközsablonból, amely teljes eszközmodellt vagy egyéni felületet tartalmaz. Az eszközfejlesztők ezzel a JSON-dokumentummal megérthetik, hogyan kommunikáljon az eszköz az IoT Central-alkalmazással.

Az eszközmodellt meghatározó JSON-fájl a Digital Twin Definition Language (DTDL) V2-t használja. Az IoT Central elvárja, hogy a JSON-fájl ne külön fájlokban, hanem beágyazott interfészekkel tartalmazza az eszközmodellt. Az IoT Centralban létrehozott modellek környezete dtmi:iotcentral:context;2 azt jelzi, hogy a modell az IoT Centralban lett létrehozva:

"@context": [
  "dtmi:iotcentral:context;2",
  "dtmi:dtdl:context;2"
]

A DTDL-modellekről az IoT Plug and Play modellezési útmutatójában olvashat bővebben.

Feljegyzés

Az IoT Central definiál néhány bővítményt a DTDL v2 nyelvhez. További információ: IoT Central-bővítmény.

Tulajdonságok

Alapértelmezés szerint a tulajdonságok írásvédettek. A csak olvasható tulajdonságok azt jelentik, hogy az eszköz az IoT Central-alkalmazás tulajdonságérték-frissítéseit jelenti. Az IoT Central-alkalmazás nem tudja beállítani egy írásvédett tulajdonság értékét.

A tulajdonságokat írhatóként is megjelölheti egy felületen. Az eszközök megkaphatják a írható tulajdonság frissítését az IoT Central-alkalmazásból, és jelentést tehetnek az alkalmazás tulajdonságérték-frissítéséről.

Az eszközöket nem kell csatlakoztatni a tulajdonságértékek beállításához. A frissített értékek akkor lesznek átadva, amikor az eszköz legközelebb csatlakozik az alkalmazáshoz. Ez a viselkedés írásvédett és írható tulajdonságokra is vonatkozik.

Ne használjon tulajdonságokat telemetriai adatok küldésére az eszközről. Egy olvasható tulajdonság temperatureSetting=80 például azt jelenti, hogy az eszköz hőmérséklete 80- ra van állítva, és az eszköz megpróbálja elérni vagy tartani ezt a hőmérsékletet.

Írható tulajdonságok esetén az eszközalkalmazás egy kívánt állapotkódot, verziót és leírást ad vissza, amely jelzi, hogy megkapta-e és alkalmazta-e a tulajdonság értékét.

Felhőtulajdonságok

Felhőtulajdonságokat is hozzáadhat a modell gyökérösszetevőhöz. A felhőtulajdonságok lehetővé teszik az IoT Central-alkalmazásban tárolni kívánt eszköz metaadatainak megadását. A felhőtulajdonságok értékei az IoT Central-alkalmazásban vannak tárolva, és soha nem szinkronizálódnak egy eszközzel. A felhőtulajdonságok nem befolyásolják az eszközfejlesztő által az eszközmodell implementálásához írt kódot.

A megoldásfejlesztők az eszköztulajdonságok mellett felhőtulajdonságokat is hozzáadhatnak az eszköznézetekhez és űrlapokhoz, hogy az operátor felügyelhesse az alkalmazáshoz csatlakoztatott eszközöket. A megoldásfejlesztők a szabálydefiníció részeként felhőtulajdonságokat is használhatnak a küszöbértékek operátor általi szerkeszthetővé tétele érdekében.

A következő DTDL-kódrészlet egy példa felhőtulajdonság-definíciót mutat be:

{
    "@id": "dtmi:azureiot:Thermostat:CustomerName",
    "@type": [
        "Property",
        "Cloud",
        "StringValue"
    ],
    "displayName": {
        "en": "Customer Name"
    },
    "name": "CustomerName",
    "schema": "string"
}

Telemetria

Az IoT Central lehetővé teszi a telemetria megtekintését az eszköznézetekben és diagramokban, valamint szabályok használatával aktiválhat műveleteket a küszöbértékek elérésekor. Az IoT Central az eszközmodell információit, például adattípusokat, egységeket és megjelenítési neveket használja a telemetriai értékek megjelenítésének meghatározásához. Telemetriai értékeket is megjeleníthet az alkalmazáson és a személyes irányítópultokon.

Az IoT Central adatexportálási funkciójával telemetriát továbbíthat más célhelyekre, például a tárolóba vagy az Event Hubsba.

Parancsok

A parancsnak alapértelmezés szerint 30 másodpercen belül végre kell hajtania, és az eszköznek csatlakoznia kell a parancs érkezésekor. Ha az eszköz időben válaszol, vagy az eszköz nincs csatlakoztatva, a parancs meghiúsul.

A parancsok kérelemparaméterekkel rendelkezhetnek, és választ adhatnak vissza.

Offline parancsok

Az üzenetsor-parancsok akkor választhatók, ha egy eszköz jelenleg offline állapotban van, ha engedélyezi az üzenetsort, ha az eszközsablon egyik parancsának offline lehetősége.

Az offline parancsok egyirányú értesítések az eszköznek a megoldásból. Az offline parancsok lehetnek kérelemparaméterek, de nem adnak vissza választ.

Feljegyzés

Az offline parancsok úgy vannak megjelölve, mintha durable DTDL-ként exportálná a modellt.

Az offline parancsok az IoT Hub felhőből eszközre irányuló üzenetei segítségével küldik el a parancsot és a hasznos adatokat az eszközre.

Az eszköz által kapott üzenet hasznos adata a paraméter nyers értéke. Egy egyéni, úgynevezett method-name tulajdonság tárolja az IoT Central parancs nevét. Az alábbi táblázat néhány hasznos adatra mutat példát:

IoT Central-kérelemséma Példa az eszköz által fogadott hasznos adatokra
Nincs kérelemparaméter @
Dupla 1.23
Sztring sample string
Objektum {"StartTime":"2021-01-05T08:00:00.000Z","Bank":2}

Az eszközmodell alábbi kódrészlete egy parancs definícióját mutatja be. A parancs egy datetime mezővel és enumerálással rendelkező objektumparaméterrel rendelkezik:

{
  "@type": "Command",
  "displayName": {
    "en": "Generate Diagnostics"
  },
  "name": "GenerateDiagnostics",
  "request": {
    "@type": "CommandPayload",
    "displayName": {
      "en": "Payload"
    },
    "name": "Payload",
    "schema": {
      "@type": "Object",
      "displayName": {
        "en": "Object"
      },
      "fields": [
        {
          "displayName": {
            "en": "StartTime"
          },
          "name": "StartTime",
          "schema": "dateTime"
        },
        {
          "displayName": {
            "en": "Bank"
          },
          "name": "Bank",
          "schema": {
            "@type": "Enum",
            "displayName": {
              "en": "Enum"
            },
            "enumValues": [
              {
                "displayName": {
                  "en": "Bank 1"
                },
                "enumValue": 1,
                "name": "Bank1"
              },
              {
                "displayName": {
                  "en": "Bank2"
                },
                "enumValue": 2,
                "name": "Bank2"
              },
              {
                "displayName": {
                  "en": "Bank3"
                },
                "enumValue": 3,
                "name": "Bank3"
              }
            ],
            "valueSchema": "integer"
          }
        }
      ]
    }
  }
}

Ha engedélyezi az üzenetsort, ha az előző kódrészlet parancsához tartozó eszközsablon felhasználói felületén offline lehetőség van, akkor az eszköz által kapott üzenet a következő tulajdonságokat tartalmazza:

Tulajdonság neve Példaérték
custom_properties {'method-name': 'GenerateDiagnostics'}
data {"StartTime":"2021-01-05T08:00:00.000Z","Bank":2}

Nézetek

A megoldásfejlesztők olyan nézeteket hoznak létre, amelyek lehetővé teszik az operátorok számára a csatlakoztatott eszközök monitorozását és kezelését. A nézetek az eszközsablon részét képezik, ezért egy nézet egy adott eszköztípushoz van társítva. A nézetek a következők lehetnek:

  • Telemetriát ábrázoló diagramok.
  • Csak olvasható eszköztulajdonságokat megjelenítő csempék.
  • Csempék, amelyek lehetővé teszik az operátor számára a írható eszköztulajdonságok szerkesztését.
  • Csempék, amelyek lehetővé teszik az operátor számára a felhőtulajdonságok szerkesztését.
  • Csempék, amelyekkel az operátor parancsokat hívhat meg, beleértve a hasznos adatokat váró parancsokat is.
  • Címkéket, képeket vagy markdown-szöveget megjelenítő csempék.

Következő lépések

Most, hogy megismerkedett az eszközsablonokkal, javasolt következő lépésként olvassa el a telemetriai adatokat, a tulajdonságot és a parancsok hasznos adatait, hogy többet tudjon meg az IoT Centralnal kicserélt adatokról.