Průvodce modelováním technologie Plug and Play IoT
Jádrem technologie Plug and Play IoT je model zařízení, který popisuje schopnosti zařízení pro aplikaci s podporou technologie Plug and Play IoT. Tento model je strukturovaný jako sada rozhraní, která definují:
- Vlastnosti , které představují stav zařízení nebo jiné entity jen pro čtení nebo zápis. Například sériové číslo zařízení může být vlastností jen pro čtení a cílovou teplotou na termostatu může být zapisovatelná vlastnost.
- Pole telemetrie , která definují data vygenerovaná zařízením, ať už jsou data pravidelným proudem čtení senzorů, občasnou chybou nebo informační zprávou.
- Příkazy , které popisují funkci nebo operaci, kterou je možné provést na zařízení. Například příkaz může restartovat bránu nebo pořídit snímek pomocí vzdálené kamery.
Další informace o tom, jak IoT technologie Plug and Play používá modely zařízení, najdete v příručce pro vývojáře zařízení technologie Plug and Play IoT a příručku pro vývojáře služby IoT technologie Plug and Play.
K definování modelu použijete jazyk DTDL (Digital Twins Definition Language). DTDL používá variantu JSON s názvem JSON-LD. Následující fragment kódu ukazuje model pro termostatové zařízení, které:
- Má jedinečné ID modelu:
dtmi:com:example:Thermostat;1
. - Odesílá telemetrii teploty.
- Má zapisovatelnou vlastnost pro nastavení cílové teploty.
- Má vlastnost jen pro čtení, která hlásí maximální teplotu od posledního restartování.
- Reaguje na příkaz, který požaduje maximální, minimální a průměrné teploty za časové období.
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;1",
"@type": "Interface",
"displayName": "Thermostat",
"description": "Reports current temperature and provides desired temperature control.",
"contents": [
{
"@type": [
"Telemetry",
"Temperature"
],
"name": "temperature",
"displayName": "Temperature",
"description": "Temperature in degrees Celsius.",
"schema": "double",
"unit": "degreeCelsius"
},
{
"@type": [
"Property",
"Temperature"
],
"name": "targetTemperature",
"schema": "double",
"displayName": "Target Temperature",
"description": "Allows to remotely specify the desired target temperature.",
"unit": "degreeCelsius",
"writable": true
},
{
"@type": [
"Property",
"Temperature"
],
"name": "maxTempSinceLastReboot",
"schema": "double",
"unit": "degreeCelsius",
"displayName": "Max temperature since last reboot.",
"description": "Returns the max temperature since last device reboot."
},
{
"@type": "Command",
"name": "getMaxMinReport",
"displayName": "Get Max-Min report.",
"description": "This command returns the max, min and average temperature from the specified time to the current time.",
"request": {
"name": "since",
"displayName": "Since",
"description": "Period to return the max-min report.",
"schema": "dateTime"
},
"response": {
"name": "tempReport",
"displayName": "Temperature Report",
"schema": {
"@type": "Object",
"fields": [
{
"name": "maxTemp",
"displayName": "Max temperature",
"schema": "double"
},
{
"name": "minTemp",
"displayName": "Min temperature",
"schema": "double"
},
{
"name": "avgTemp",
"displayName": "Average Temperature",
"schema": "double"
},
{
"name": "startTime",
"displayName": "Start Time",
"schema": "dateTime"
},
{
"name": "endTime",
"displayName": "End Time",
"schema": "dateTime"
}
]
}
}
}
]
}
Termostatový model má jedno rozhraní. Další příklady v tomto článku ukazují složitější modely, které používají komponenty a dědičnost.
Tento článek popisuje, jak navrhovat a vytvářet vlastní modely a zabývá se tématy, jako jsou datové typy, struktura modelu a nástroje.
Další informace najdete ve specifikaci jazyka Digital Twins Definition Language .
Poznámka:
IoT Central aktuálně podporuje DTDL v2 s rozšířením IoT Central.
Struktura modelu
Vlastnosti, telemetrie a příkazy jsou seskupené do rozhraní. Tato část popisuje, jak můžete pomocí rozhraní popsat jednoduché a složité modely pomocí komponent a dědičnosti.
ID modelů
Každé rozhraní má jedinečný identifikátor modelu digitálního dvojčete (DTMI). Komplexní modely používají K identifikaci komponent rozhraní DTMI. Aplikace můžou používat DTMI, které zařízení odesílají, a vyhledat definice modelu v úložišti.
DTMI by měly používat následující zásady vytváření názvů:
- Předpona DTMI je
dtmi:
. - Přípona DTMI je číslo verze modelu, například
;2
. - Tělo DTMI se mapuje na složku a soubor v úložišti modelu, kde je model uložený. Číslo verze je součástí názvu souboru.
Model identifikovaný DTMI dtmi:com:Example:Thermostat;2
je například uložený v souboru dtmi/com/example/thermostat-2.json .
Následující fragment kódu ukazuje osnovu definice rozhraní s jeho jedinečným DTMI:
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;2",
"@type": "Interface",
"displayName": "Thermostat",
"description": "Reports current temperature and provides desired temperature control.",
"contents": [
...
]
}
Žádné součásti
Jednoduchý model, například termostat zobrazený dříve, nepoužívá vložené ani kaskádové komponenty. Telemetrie, vlastnosti a příkazy jsou definovány v contents
uzlu rozhraní.
Následující příklad ukazuje část jednoduchého modelu, který nepoužívá komponenty:
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;1",
"@type": "Interface",
"displayName": "Thermostat",
"description": "Reports current temperature and provides desired temperature control.",
"contents": [
{
"@type": [
"Telemetry",
"Temperature"
],
"name": "temperature",
"displayName": "Temperature",
"description": "Temperature in degrees Celsius.",
"schema": "double",
"unit": "degreeCelsius"
},
{
"@type": [
"Property",
...
Nástroje, jako je Azure IoT Explorer a návrhář šablon zařízení IoT Central, označují samostatné rozhraní, jako je termostat jako výchozí komponenta.
Následující snímek obrazovky ukazuje, jak se model zobrazuje v nástroji Azure IoT Explorer:
Následující snímek obrazovky ukazuje, jak se model zobrazuje jako výchozí komponenta v návrháři šablon zařízení IoT Central. Výběrem možnosti Zobrazit identitu zobrazíte DTMI modelu:
ID modelu je uloženo ve vlastnosti dvojčete zařízení, jak ukazuje následující snímek obrazovky:
Model DTDL bez komponent je užitečným zjednodušením pro zařízení nebo modul IoT Edge s jednou sadou telemetrických dat, vlastností a příkazů. Model, který nepoužívá komponenty, usnadňuje migraci stávajícího zařízení nebo modulu jako zařízení nebo modulu IoT technologie Plug and Play – vytvoříte model DTDL, který popisuje skutečné zařízení nebo modul, aniž byste museli definovat žádné komponenty.
Opakované použití
Definice rozhraní můžete opakovaně používat dvěma způsoby.
- Použití více komponent v modelu k odkazování na jiné definice rozhraní.
- Dědičnost slouží k rozšíření existujících definic rozhraní.
Více součástí
Komponenty umožňují sestavit rozhraní modelu jako sestavení jiných rozhraní.
Například termostat rozhraní je definováno jako model. Toto rozhraní můžete začlenit jako jednu nebo více součástí při definování modelu teplotního kontroleru. V následujícím příkladu jsou tyto komponenty volána thermostat1
a thermostat2
.
Pro model DTDL s více komponentami existují dvě nebo více částí součástí. Každá část má @type
nastavenou a explicitně odkazuje na Component
schéma, jak je znázorněno v následujícím fragmentu kódu:
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:TemperatureController;1",
"@type": "Interface",
"displayName": "Temperature Controller",
"description": "Device with two thermostats and remote reboot.",
"contents": [
{
"@type": [
"Telemetry",
"DataSize"
],
"name": "workingSet",
"displayName": "Working Set",
"description": "Current working set of the device memory in KiB.",
"schema": "double",
"unit": "kibibyte"
},
{
"@type": "Property",
"name": "serialNumber",
"displayName": "Serial Number",
"description": "Serial number of the device.",
"schema": "string"
},
{
"@type": "Command",
"name": "reboot",
"displayName": "Reboot",
"description": "Reboots the device after waiting the number of seconds specified.",
"request": {
"name": "delay",
"displayName": "Delay",
"description": "Number of seconds to wait before rebooting the device.",
"schema": "integer"
}
},
{
"@type" : "Component",
"schema": "dtmi:com:example:Thermostat;1",
"name": "thermostat1",
"displayName": "Thermostat One",
"description": "Thermostat One of Two."
},
{
"@type" : "Component",
"schema": "dtmi:com:example:Thermostat;1",
"name": "thermostat2",
"displayName": "Thermostat Two",
"description": "Thermostat Two of Two."
},
{
"@type": "Component",
"schema": "dtmi:azure:DeviceManagement:DeviceInformation;1",
"name": "deviceInformation",
"displayName": "Device Information interface",
"description": "Optional interface with basic device hardware information."
}
]
}
Tento model má tři komponenty definované v části obsahu – dvě Thermostat
komponenty a komponentu DeviceInformation
. Oddíl obsahu obsahuje také definice vlastností, telemetrie a příkazů.
Následující snímky obrazovky ukazují, jak se tento model zobrazuje v IoT Central. Definice vlastností, telemetrie a příkazů v kontroleru teploty se zobrazí v výchozí komponentě nejvyšší úrovně. Definice vlastností, telemetrie a příkazů pro každý termostat se zobrazí v definicích komponent:
Informace o psaní kódu zařízení, který komunikuje s komponentami, najdete v příručce pro vývojáře zařízení technologie Plug and Play IoT.
Informace o psaní kódu služby, který komunikuje s komponentami na zařízení, najdete v příručce pro vývojáře služby IoT technologie Plug and Play.
Dědičnost
Dědičnost umožňuje opakovaně používat možnosti v základních rozhraních, aby se rozšířily možnosti rozhraní. Například několik modelů zařízení může sdílet společné funkce, jako je sériové číslo:
Následující fragment kódu ukazuje model DTML, který pomocí klíčového extends
slova definuje vztah dědičnosti zobrazený v předchozím diagramu:
[
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;1",
"@type": "Interface",
"contents": [
{
"@type": "Telemetry",
"name": "temperature",
"schema": "double",
"unit": "degreeCelsius"
},
{
"@type": "Property",
"name": "targetTemperature",
"schema": "double",
"unit": "degreeCelsius",
"writable": true
}
],
"extends": [
"dtmi:com:example:baseDevice;1"
]
},
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:baseDevice;1",
"@type": "Interface",
"contents": [
{
"@type": "Property",
"name": "SerialNumber",
"schema": "double",
"writable": false
}
]
}
]
Následující snímek obrazovky ukazuje tento model v prostředí šablony zařízení IoT Central:
Když píšete kód zařízení nebo na straně služby, váš kód nemusí dělat nic zvláštního pro zpracování zděděných rozhraní. V příkladu uvedeném v této části kód zařízení hlásí sériové číslo, jako by byl součástí rozhraní termostatu.
Tipy
Při vytváření modelu můžete kombinovat komponenty a dědičnost. Následující diagram znázorňuje thermostat
model, který dědí z baseDevice
rozhraní. Rozhraní baseDevice
má komponentu, která sama dědí z jiného rozhraní:
Následující fragment kódu ukazuje model DTML, který pomocí extends
klíčových component
slov definuje vztah dědičnosti a použití komponent zobrazených v předchozím diagramu:
[
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:Thermostat;1",
"@type": "Interface",
"contents": [
{
"@type": "Telemetry",
"name": "temperature",
"schema": "double",
"unit": "degreeCelsius"
},
{
"@type": "Property",
"name": "targetTemperature",
"schema": "double",
"unit": "degreeCelsius",
"writable": true
}
],
"extends": [
"dtmi:com:example:baseDevice;1"
]
},
{
"@context": "dtmi:dtdl:context;2",
"@id": "dtmi:com:example:baseDevice;1",
"@type": "Interface",
"contents": [
{
"@type": "Property",
"name": "SerialNumber",
"schema": "double",
"writable": false
},
{
"@type" : "Component",
"schema": "dtmi:com:example:baseComponent;1",
"name": "baseComponent"
}
]
}
]
Datové typy
K definování telemetrických, vlastností a parametrů příkazů použijte datové typy. Datové typy můžou být primitivní nebo složité. Složité datové typy používají primitiva nebo jiné komplexní typy. Maximální hloubka komplexních typů je pět úrovní.
Primitivní typy
Následující tabulka uvádí sadu primitivních typů, které můžete použít:
Primitivní typ | Popis |
---|---|
boolean |
Logická hodnota |
date |
Úplné datum definované v oddílu 5.6 DOKUMENTU RFC 3339 |
dateTime |
Datum a čas definovaný v dokumentu RFC 3339 |
double |
Plovoucí desetimístná čárka IEEE 8 bajtů |
duration |
Doba trvání ve formátu ISO 8601 |
float |
Plovoucí desetiná čárka IEEE 4 bajtů |
integer |
Celé číslo se 4 bajty |
long |
Celé číslo se signed 8 bajty |
string |
Řetězec UTF8 |
time |
Plný úvazek definovaný v části 5.6 RFC 3339 |
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která používá double
typ v schema
poli:
{
"@type": "Telemetry",
"name": "temperature",
"displayName": "Temperature",
"schema": "double"
}
Komplexní datové typy
Komplexní datové typy jsou jedním z polí, výčtu, mapy, objektu nebo jednoho z geoprostorových typů.
Pole
Pole je indexovatelný datový typ, kde všechny prvky jsou stejného typu. Typ prvku může být primitivní nebo komplexní typ.
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která používá Array
typ v schema
poli. Prvky pole jsou logické hodnoty:
{
"@type": "Telemetry",
"name": "ledState",
"schema": {
"@type": "Array",
"elementSchema": "boolean"
}
}
Výčty
Výčet popisuje typ se sadou pojmenovaných popisků, které se mapují na hodnoty. Hodnoty můžou být celá čísla nebo řetězce, ale popisky jsou vždy řetězce.
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která používá Enum
typ v schema
poli. Hodnoty v výčtu jsou celá čísla:
{
"@type": "Telemetry",
"name": "state",
"schema": {
"@type": "Enum",
"valueSchema": "integer",
"enumValues": [
{
"name": "offline",
"displayName": "Offline",
"enumValue": 1
},
{
"name": "online",
"displayName": "Online",
"enumValue": 2
}
]
}
}
Maps
Mapa je typ s páry klíč-hodnota, kde všechny hodnoty mají stejný typ. Klíč v mapě musí být řetězec. Hodnoty v mapě můžou být libovolného typu, včetně jiného komplexního typu.
Následující fragment kódu ukazuje ukázkovou definici vlastnosti, která používá Map
typ v schema
poli. Hodnoty v mapě jsou řetězce:
{
"@type": "Property",
"name": "modules",
"writable": true,
"schema": {
"@type": "Map",
"mapKey": {
"name": "moduleName",
"schema": "string"
},
"mapValue": {
"name": "moduleState",
"schema": "string"
}
}
}
Objekty
Typ objektu se skládá z pojmenovaných polí. Typy polí v mapě objektu mohou být primitivní nebo složité typy.
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která používá Object
typ v schema
poli. Pole v objektu jsou dateTime
, duration
a string
typy:
{
"@type": "Telemetry",
"name": "monitor",
"schema": {
"@type": "Object",
"fields": [
{
"name": "start",
"schema": "dateTime"
},
{
"name": "interval",
"schema": "duration"
},
{
"name": "status",
"schema": "string"
}
]
}
}
Geoprostorové typy
DTDL poskytuje sadu geoprostorových typů založených na GeoJSON pro modelování geografických datových struktur: point
, , multiPoint
lineString
, multiLineString
, polygon
a multiPolygon
. Tyto typy jsou předdefinované vnořené struktury polí, objektů a výčtů.
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která používá point
typ v schema
poli:
{
"@type": "Telemetry",
"name": "location",
"schema": "point"
}
Vzhledem k tomu, že geoprostorové typy jsou založené na polích, nelze je v definicích vlastností v současné době použít.
Sémantické typy
Datový typ vlastnosti nebo definice telemetrie určuje formát dat, která zařízení vyměňuje se službou. Sémantický typ poskytuje informace o telemetrii a vlastnostech, které může aplikace použít k určení způsobu zpracování nebo zobrazení hodnoty. Každý sémantický typ má jednu nebo více přidružených jednotek. Například celsia a fahrenheita jsou jednotky pro sémantický typ teploty. Řídicí panely a analýzy IoT Central můžou pomocí sémantických typů určit, jak vykreslit telemetrické hodnoty nebo hodnoty vlastností a zobrazované jednotky. Informace o tom, jak pomocí analyzátoru modelů číst sémantické typy, najdete v tématu Vysvětlení analyzátoru modelů Digital Twins.
Následující fragment kódu ukazuje ukázkovou definici telemetrie, která obsahuje sémantické informace o typu. Sémantický typ Temperature
se přidá do @type
pole a unit
hodnota degreeCelsius
je jednou z platných jednotek pro sémantický typ:
{
"@type": [
"Telemetry",
"Temperature"
],
"name": "temperature",
"schema": "double",
"unit": "degreeCelsius"
}
Lokalizace
Aplikace, jako je IoT Central, používají informace v modelu k dynamickému sestavení uživatelského rozhraní kolem dat vyměňovaných se zařízením ioT technologie Plug and Play. Například dlaždice na řídicím panelu můžou zobrazovat názvy a popisy telemetrie, vlastností a příkazů.
Volitelné description
a displayName
pole v řetězcích blokování modelu určené k použití v uživatelském rozhraní. Tato pole můžou obsahovat lokalizované řetězce, které může aplikace použít k vykreslení lokalizovaného uživatelského rozhraní.
Následující fragment kódu ukazuje ukázkovou definici telemetrie teploty, která zahrnuje lokalizované řetězce:
{
"@type": [
"Telemetry",
"Temperature"
],
"description": {
"en": "Temperature in degrees Celsius.",
"it": "Temperatura in gradi Celsius."
},
"displayName": {
"en": "Temperature",
"it": "Temperatura"
},
"name": "temperature",
"schema": "double",
"unit": "degreeCelsius"
}
Přidání lokalizovaných řetězců je volitelné. Následující příklad obsahuje pouze jeden výchozí jazyk:
{
"@type": [
"Telemetry",
"Temperature"
],
"description": "Temperature in degrees Celsius.",
"displayName": "Temperature",
"name": "temperature",
"schema": "double",
"unit": "degreeCelsius"
}
Životní cyklus a nástroje
Čtyři fáze životního cyklu modelu zařízení jsou autor, publikování, použití a verze:
Autor
Modely zařízení DTML jsou dokumenty JSON, které můžete vytvořit v textovém editoru. V IoT Central ale můžete k vytvoření modelu DTML použít prostředí grafického uživatelského rozhraní šablony zařízení. Ve službě IoT Central můžete:
- Vytvořte rozhraní, která definují vlastnosti, telemetrii a příkazy.
- K sestavení více rozhraní použijte komponenty.
- Definujte vztahy dědičnosti mezi rozhraními.
- Import a export souborů modelu DTML
Další informace najdete v tématu Definování nového typu zařízení IoT v aplikaci Azure IoT Central.
Existuje rozšíření pro vytváření DTDL pro VS Code, které podporuje DTDL v2 i DTDL v3.
Pokud chcete nainstalovat rozšíření DTDL pro VS Code, přejděte do editoru DTDL pro Visual Studio Code. DTDL můžete také vyhledat v zobrazení Rozšíření v editoru VS Code.
Po instalaci rozšíření ho použijte k vytvoření souborů modelu DTDL ve VS Code:
Rozšíření poskytuje ověřování syntaxe v souborech modelu DTDL a zvýrazňuje chyby, jak je znázorněno na následujícím snímku obrazovky:
Při úpravách modelů DTDL používejte intellisense a automatické dokončování:
Vytvořte nové rozhraní DTDL. Příkaz DTDL: Create Interface vytvoří soubor JSON s novým rozhraním. Rozhraní obsahuje ukázkové definice telemetrie, vlastností a příkazů.
Používání
Aplikace, jako je IoT Central, používají modely zařízení. V IoT Central je model součástí šablony zařízení, která popisuje možnosti zařízení. IoT Central používá šablonu zařízení k dynamickému sestavení uživatelského rozhraní pro zařízení, včetně řídicích panelů a analýz.
Poznámka:
IoT Central definuje některá rozšíření jazyka DTDL. Další informace najdete v tématu Rozšíření IoT Central.
Vlastní řešení může použít analyzátor modelů Digital Twins k pochopení možností zařízení, které model implementuje. Další informace najdete v tématu Použití modelů technologie Plug and Play IoT v řešení IoT.
Verze
Aby se zajistilo, že zařízení a serverová řešení, která používají modely, budou dál fungovat, jsou publikované modely neměnné.
DTMI obsahuje číslo verze, které můžete použít k vytvoření více verzí modelu. Zařízení a serverová řešení můžou používat konkrétní verzi, kterou byly navrženy pro použití.
IoT Central implementuje více pravidel správy verzí pro modely zařízení. Pokud vytvoříte verzi šablony zařízení a jeho modelu v IoT Central, můžete migrovat zařízení z předchozích verzí na novější verze. Migrovaná zařízení ale nemůžou bez upgradu firmwaru používat nové funkce. Další informace najdete v tématu Úprava šablony zařízení.
Publikovat
Od února 2024 se program Azure Certified Device vyřadí z důchodu. Microsoft proto už nepřijímá odesílání modelů DTDL do úložiště modelů plug-and play Azure IoT.
Pokud chcete nastavit vlastní úložiště modelů, můžete použít úložiště nástrojů pro modely plug-and play Azure IoT. Toto úložiště obsahuje kód pro nástroj rozhraní příkazového dmr-client
řádku, který dokáže ověřit, importovat a rozbalit modely DTDL. Tento nástroj také umožňuje indexovat úložiště modelů, která dodržují konvence úložiště modelů zařízení.
Limity a omezení
Následující seznam shrnuje některá klíčová omezení a omezení pro modely:
- Maximální hloubka polí, map a objektů je v současné době pět úrovní.
- Pole nemůžete použít v definicích vlastností.
- Rozhraní můžete rozšířit na hloubku 10 úrovní.
- Rozhraní může rozšířit maximálně dvě další rozhraní.
- Komponenta nemůže obsahovat jinou komponentu.
Vysvětlení analyzátoru modelů Digital Twins
Jazyk DTDL (Digital Twins Definition Language) je popsaný ve specifikaci DTDL. Uživatelé můžou k ověření a dotazování modelu DTDL v2 nebo v3 použít balíček NuGet analyzátoru modelů Digital Twins. Model DTDL lze definovat v několika souborech.
Instalace analyzátoru modelů DTDL
Analyzátor je k dispozici v NuGet.org s ID: DTDLParser. K instalaci analyzátoru použijte všechny kompatibilní správce balíčků NuGet, jako je například správce balíčků NuGet v sadě Visual Studio nebo v rozhraní příkazového dotnet
řádku.
dotnet add package DTDLParser
Poznámka:
V době psaní je verze 1.0.52
analyzátoru .
Použití analyzátoru k ověření a kontrole modelu
DTDLParser je knihovna, kterou můžete použít k:
- Určete, zda jsou jeden nebo více modelů platné podle specifikací jazyka v2 nebo v3.
- Identifikace konkrétních chyb modelování
- Zkontrolujte obsah modelu.
Model se může skládat z jednoho nebo více rozhraní popsaných v souborech JSON. Analyzátor můžete použít k načtení všech souborů, které definují model, a následné ověření všech souborů jako celku, včetně odkazů mezi soubory.
Úložiště DTDLParser pro .NET obsahuje následující ukázky, které ilustrují použití analyzátoru:
- DTDLParserResolveSample ukazuje, jak parsovat rozhraní s externími odkazy, vyřešit závislosti pomocí
Azure.IoT.ModelsRepository
klienta. - DTDLParserJSInteropSample ukazuje, jak používat analyzátor DTDL z JavaScriptu spuštěného v prohlížeči pomocí .NET JSInterop.
DTDLParser pro úložiště .NET obsahuje také kolekci kurzů , které ukazují, jak použít analyzátor k ověření a kontrole modelů.
Rozhraní API analyzátoru modelů umožňuje mnoha scénářům automatizovat nebo ověřovat úlohy, které závisí na modelech DTDL. Můžete například dynamicky vytvořit uživatelské rozhraní z informací v modelu.
Další kroky
Teď, když jste se seznámili s modelováním zařízení, najdete tady několik dalších prostředků: