Datové části telemetrie, vlastností a příkazů
Model zařízení definuje:
- Telemetrie zařízení odesílá do služby.
- Vlastnosti zařízení se synchronizují se službou.
- Příkazy, které služba volá na zařízení.
Tip
Azure IoT Central je služba, která se řídí konvencemi technologie Plug and Play. V IoT Central je model zařízení součástí šablony zařízení. IoT Central aktuálně podporuje DTDL v2 s rozšířením IoT Central. Aplikace IoT Central očekává, že obdrží data JSON s kódováním UTF-8.
Tento článek popisuje datové části JSON, které zařízení odesílají a přijímají pro telemetrii, vlastnosti a příkazy definované v modelu zařízení DTDL.
Článek nepopisuje každý možný typ telemetrie, vlastnosti a datové části příkazů, ale příklady ilustrují typy klíčů.
Každý příklad ukazuje fragment kódu z modelu zařízení, který definuje typ a ukázkové datové části JSON, aby ilustroval, jak by zařízení mělo pracovat s technologie Plug and Play službou, jako je IoT Central.
Ukázkové fragmenty kódu JSON v tomto článku používají jazyk DTDL (Digital Twin Definition Language) v2. Existují také některá rozšíření DTDL, která IoT Central používá.
Vzorový kód zařízení, který ukazuje některé z těchto datových částí, které se používají, najdete v Připojení ukázkové aplikaci ioT technologie Plug and Play zařízení běžící v Linuxu nebo Windows do IoT Hubu nebo vytvoření a připojení klientské aplikace k kurzu aplikace Azure IoT Central.
Zobrazení nezpracovaných dat
Pokud používáte IoT Central, můžete zobrazit nezpracovaná data, která zařízení odesílá do aplikace. Toto zobrazení je užitečné při řešení potíží s datovou částí odesílanou ze zařízení. Zobrazení nezpracovaných dat odesílané zařízením:
Přejděte na zařízení ze stránky Zařízení .
Vyberte kartu Nezpracovaná data:
V tomto zobrazení můžete vybrat sloupce, které chcete zobrazit, a nastavit časový rozsah pro zobrazení. Nevymodelovaný datový sloupec zobrazuje data ze zařízení, která neodpovídají žádné definici vlastností ani telemetrie v šabloně zařízení.
Další tipy pro řešení potíží najdete v tématu Řešení potíží, proč se data ze zařízení nezobrazují v Azure IoT Central.
Telemetrie
Další informace o pravidlech pojmenování telemetrie DTDL najdete v tématu Telemetrie DTDL>. Pomocí znaku _
nemůžete spustit název telemetrie.
Nevytvárejte typy telemetrie s následujícími názvy. IoT Central používá tyto rezervované názvy interně. Pokud se pokusíte použít tyto názvy, IoT Central bude vaše data ignorovat:
EventEnqueuedUtcTime
EventProcessedUtcTime
PartitionId
EventHub
User
$metadata
$version
Telemetrie v komponentách
Pokud je telemetrie definovaná v komponentě, přidejte vlastní vlastnost zprávy s názvem $.sub
komponenty definovanou v modelu zařízení. Další informace najdete v kurzu: Připojení technologie Plug and Play více komponent aplikací zařízení. V tomto kurzu se dozvíte, jak pomocí různých programovacích jazyků odesílat telemetrii z komponenty.
Důležité
Pokud chcete zobrazit telemetrii ze součástí hostovaných v modulech IoT Edge správně, použijte IoT Edge verze 1.2.4 nebo novější. Pokud používáte starší verzi, telemetrie z komponent v modulech IoT Edge se zobrazí jako _unmodeleddata.
Telemetrie v zděděných rozhraních
Pokud je telemetrie definovaná v zděděném rozhraní, zařízení odesílá telemetrii, jako by byla definovaná v kořenovém rozhraní. S ohledem na následující model zařízení:
[
{
"@id": "dtmi:contoso:device;1",
"@type": "Interface",
"contents": [
{
"@type": [
"Property",
"Cloud",
"StringValue"
],
"displayName": {
"en": "Device Name"
},
"name": "DeviceName",
"schema": "string"
}
],
"displayName": {
"en": "Contoso Device"
},
"extends": [
"dtmi:contoso:sensor;1"
],
"@context": [
"dtmi:iotcentral:context;2",
"dtmi:dtdl:context;2"
]
},
{
"@context": [
"dtmi:iotcentral:context;2",
"dtmi:dtdl:context;2"
],
"@id": "dtmi:contoso:sensor;1",
"@type": [
"Interface",
"NamedInterface"
],
"contents": [
{
"@type": [
"Telemetry",
"NumberValue"
],
"displayName": {
"en": "Meter Voltage"
},
"name": "MeterVoltage",
"schema": "double"
}
],
"displayName": {
"en": "Contoso Sensor"
},
"name": "ContosoSensor"
}
]
Zařízení odesílá telemetrii napětí měřiče pomocí následující datové části. Zařízení neobsahuje název rozhraní v datové části:
{
"MeterVoltage": 5.07
}
Primitivní typy
Tato část ukazuje příklady primitivních typů telemetrie, které zařízení může streamovat.
Následující fragment kódu z modelu zařízení ukazuje definici boolean
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "BooleanTelemetry"
},
"name": "BooleanTelemetry",
"schema": "boolean"
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu:
{ "BooleanTelemetry": true }
Následující fragment kódu z modelu zařízení ukazuje definici string
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "StringTelemetry"
},
"name": "StringTelemetry",
"schema": "string"
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu:
{ "StringTelemetry": "A string value - could be a URL" }
Následující fragment kódu z modelu zařízení ukazuje definici integer
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "IntegerTelemetry"
},
"name": "IntegerTelemetry",
"schema": "integer"
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu:
{ "IntegerTelemetry": 23 }
Následující fragment kódu z modelu zařízení ukazuje definici double
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "DoubleTelemetry"
},
"name": "DoubleTelemetry",
"schema": "double"
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu:
{ "DoubleTelemetry": 56.78 }
Následující fragment kódu z modelu zařízení ukazuje definici dateTime
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "DateTimeTelemetry"
},
"name": "DateTimeTelemetry",
"schema": "dateTime"
}
Klient zařízení by měl odeslat telemetrii jako JSON, který vypadá jako v následujícím příkladu – DateTime
typy musí být ve formátu ISO 8061:
{ "DateTimeTelemetry": "2020-08-30T19:16:13.853Z" }
Následující fragment kódu z modelu zařízení ukazuje definici duration
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "DurationTelemetry"
},
"name": "DurationTelemetry",
"schema": "duration"
}
Klient zařízení by měl odeslat telemetrii jako JSON, který vypadá jako v následujícím příkladu – doby trvání musí být ve formátu ISO 8601:
{ "DurationTelemetry": "PT10H24M6.169083011336625S" }
Komplexní typy
Tato část ukazuje příklady složitých typů telemetrie, které zařízení může streamovat.
Následující fragment kódu z modelu zařízení ukazuje definici Enum
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "EnumTelemetry"
},
"name": "EnumTelemetry",
"schema": {
"@type": "Enum",
"displayName": {
"en": "Enum"
},
"valueSchema": "integer",
"enumValues": [
{
"displayName": {
"en": "Item1"
},
"enumValue": 0,
"name": "Item1"
},
{
"displayName": {
"en": "Item2"
},
"enumValue": 1,
"name": "Item2"
},
{
"displayName": {
"en": "Item3"
},
"enumValue": 2,
"name": "Item3"
}
]
}
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu. Možné hodnoty jsou , a které se 0
zobrazují v IoT Central jako Item1
, Item2
a Item3
:2
1
{ "EnumTelemetry": 1 }
Následující fragment kódu z modelu zařízení ukazuje definici Object
typu telemetrie. Tento objekt má tři pole s typy dateTime
, integer
a Enum
:
{
"@type": "Telemetry",
"displayName": {
"en": "ObjectTelemetry"
},
"name": "ObjectTelemetry",
"schema": {
"@type": "Object",
"displayName": {
"en": "Object"
},
"fields": [
{
"displayName": {
"en": "Property1"
},
"name": "Property1",
"schema": "dateTime"
},
{
"displayName": {
"en": "Property2"
},
"name": "Property2",
"schema": "integer"
},
{
"displayName": {
"en": "Property3"
},
"name": "Property3",
"schema": {
"@type": "Enum",
"displayName": {
"en": "Enum"
},
"valueSchema": "integer",
"enumValues": [
{
"displayName": {
"en": "Item1"
},
"enumValue": 0,
"name": "Item1"
},
{
"displayName": {
"en": "Item2"
},
"enumValue": 1,
"name": "Item2"
},
{
"displayName": {
"en": "Item3"
},
"enumValue": 2,
"name": "Item3"
}
]
}
}
]
}
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu. DateTime
musí být kompatibilní se standardem ISO 8061. Možné hodnoty jsou Property3
0
, 1
a které se zobrazují v IoT Central jako Item1
, Item2
a Item3
:
{
"ObjectTelemetry": {
"Property1": "2020-09-09T03:36:46.195Z",
"Property2": 37,
"Property3": 2
}
}
Následující fragment kódu z modelu zařízení ukazuje definici vector
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "VectorTelemetry"
},
"name": "VectorTelemetry",
"schema": "vector"
}
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu:
{
"VectorTelemetry": {
"x": 74.72395045538597,
"y": 74.72395045538597,
"z": 74.72395045538597
}
}
Následující fragment kódu z modelu zařízení ukazuje definici geopoint
typu telemetrie:
{
"@type": "Telemetry",
"displayName": {
"en": "GeopointTelemetry"
},
"name": "GeopointTelemetry",
"schema": "geopoint"
}
Poznámka:
Typ schématu geografického bodu je součástí rozšíření IoT Central do DTDL. IoT Central v současné době podporuje typ schématu geografického bodu a sémantický typ umístění pro zpětnou kompatibilitu.
Klient zařízení by měl telemetrii odeslat jako JSON, který vypadá jako v následujícím příkladu. IoT Central zobrazí hodnotu jako špendlík na mapě:
{
"GeopointTelemetry": {
"lat": 47.64263,
"lon": -122.13035,
"alt": 0
}
}
Typy událostí a stavů
Tato část ukazuje příklady telemetrických událostí a stavů, které zařízení odesílá do aplikace IoT Central.
Poznámka:
Typy schématu událostí a stavů jsou součástí rozšíření IoT Central do DTDL.
Následující fragment kódu z modelu zařízení ukazuje definici integer
typu události:
{
"@type": [
"Telemetry",
"Event"
],
"displayName": {
"en": "IntegerEvent"
},
"name": "IntegerEvent",
"schema": "integer"
}
Klient zařízení by měl odeslat data události jako JSON, který vypadá jako v následujícím příkladu:
{ "IntegerEvent": 74 }
Následující fragment kódu z modelu zařízení ukazuje definici integer
typu stavu:
{
"@type": [
"Telemetry",
"State"
],
"displayName": {
"en": "IntegerState"
},
"name": "IntegerState",
"schema": {
"@type": "Enum",
"valueSchema": "integer",
"enumValues": [
{
"displayName": {
"en": "Level1"
},
"enumValue": 1,
"name": "Level1"
},
{
"displayName": {
"en": "Level2"
},
"enumValue": 2,
"name": "Level2"
},
{
"displayName": {
"en": "Level3"
},
"enumValue": 3,
"name": "Level3"
}
]
}
}
Klient zařízení by měl odeslat stav ve formátu JSON, který vypadá jako v následujícím příkladu. Možné celočíselné hodnoty jsou 1
, 2
nebo 3
:
{ "IntegerState": 2 }
Vlastnosti
Další informace o pravidlech pojmenování vlastností DTDL najdete v tématu DTDL > – vlastnost. Název vlastnosti nelze spustit pomocí znaku _
.
Vlastnosti v součástech
Pokud je vlastnost definována v komponentě, zabalte vlastnost do názvu komponenty. Následující příklad nastaví komponentu maxTempSinceLastReboot
thermostat2
. Značka __t
označuje, že tato část definuje komponentu:
{
"thermostat2" : {
"__t" : "c",
"maxTempSinceLastReboot" : 38.7
}
}
Další informace najdete v tématu Kurz: Vytvoření a připojení klientské aplikace k aplikaci Azure IoT Central.
Primitivní typy
Tato část ukazuje příklady primitivních typů vlastností, které zařízení odesílá do služby.
Následující fragment kódu z modelu zařízení ukazuje definici boolean
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "BooleanProperty"
},
"name": "BooleanProperty",
"schema": "boolean",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{ "BooleanProperty": false }
Následující fragment kódu z modelu zařízení ukazuje definici long
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "LongProperty"
},
"name": "LongProperty",
"schema": "long",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{ "LongProperty": 439 }
Následující fragment kódu z modelu zařízení ukazuje definici date
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "DateProperty"
},
"name": "DateProperty",
"schema": "date",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení. Date
musí být kompatibilní se standardem ISO 8061:
{ "DateProperty": "2020-05-17" }
Následující fragment kódu z modelu zařízení ukazuje definici duration
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "DurationProperty"
},
"name": "DurationProperty",
"schema": "duration",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako v následujícím příkladu jako hlášená vlastnost dvojčete zařízení – doba trvání musí odpovídat standardu ISO 8601 Duration:
{ "DurationProperty": "PT10H24M6.169083011336625S" }
Následující fragment kódu z modelu zařízení ukazuje definici float
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "FloatProperty"
},
"name": "FloatProperty",
"schema": "float",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{ "FloatProperty": 1.9 }
Následující fragment kódu z modelu zařízení ukazuje definici string
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "StringProperty"
},
"name": "StringProperty",
"schema": "string",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{ "StringProperty": "A string value - could be a URL" }
Komplexní typy
Tato část ukazuje příklady složitých typů vlastností, které zařízení odesílá do služby.
Následující fragment kódu z modelu zařízení ukazuje definici Enum
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "EnumProperty"
},
"name": "EnumProperty",
"writable": false,
"schema": {
"@type": "Enum",
"displayName": {
"en": "Enum"
},
"valueSchema": "integer",
"enumValues": [
{
"displayName": {
"en": "Item1"
},
"enumValue": 0,
"name": "Item1"
},
{
"displayName": {
"en": "Item2"
},
"enumValue": 1,
"name": "Item2"
},
{
"displayName": {
"en": "Item3"
},
"enumValue": 2,
"name": "Item3"
}
]
}
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení. Možné hodnoty jsou , 1
a které se 0
zobrazují v IoT Central jako Item1
, Item2
a Item3
:
{ "EnumProperty": 1 }
Následující fragment kódu z modelu zařízení ukazuje definici Object
typu vlastnosti. Tento objekt má dvě pole s typy string
a integer
:
{
"@type": "Property",
"displayName": {
"en": "ObjectProperty"
},
"name": "ObjectProperty",
"writable": false,
"schema": {
"@type": "Object",
"displayName": {
"en": "Object"
},
"fields": [
{
"displayName": {
"en": "Field1"
},
"name": "Field1",
"schema": "integer"
},
{
"displayName": {
"en": "Field2"
},
"name": "Field2",
"schema": "string"
}
]
}
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{
"ObjectProperty": {
"Field1": 37,
"Field2": "A string value"
}
}
Následující fragment kódu z modelu zařízení ukazuje definici vector
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "VectorProperty"
},
"name": "VectorProperty",
"schema": "vector",
"writable": false
}
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{
"VectorProperty": {
"x": 74.72395045538597,
"y": 74.72395045538597,
"z": 74.72395045538597
}
}
Následující fragment kódu z modelu zařízení ukazuje definici geopoint
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "GeopointProperty"
},
"name": "GeopointProperty",
"schema": "geopoint",
"writable": false
}
Poznámka:
Typ schématu geografického bodu je součástí rozšíření IoT Central do DTDL. IoT Central v současné době podporuje typ schématu geografického bodu a sémantický typ umístění pro zpětnou kompatibilitu.
Klient zařízení by měl odeslat datovou část JSON, která vypadá jako následující příklad jako ohlášená vlastnost dvojčete zařízení:
{
"GeopointProperty": {
"lat": 47.64263,
"lon": -122.13035,
"alt": 0
}
}
Zapisovatelné typy vlastností
Tato část ukazuje příklady zapisovatelných typů vlastností, které zařízení přijímá ze služby.
Pokud je zapisovatelná vlastnost definována v komponentě, zpráva požadované vlastnosti obsahuje název komponenty. Následující příklad ukazuje zprávu žádající o aktualizaci targetTemperature
zařízení v komponentě thermostat2
. Značka __t
označuje, že tato část definuje komponentu:
{
"thermostat2": {
"targetTemperature": {
"value": 57
},
"__t": "c"
},
"$version": 3
}
Další informace najdete v tématu Připojení ioT technologie Plug and Play více komponentní aplikace zařízení.
Zařízení nebo modul by měly potvrdit, že obdržela vlastnost odesláním ohlášené vlastnosti. Ohlášená vlastnost by měla zahrnovat:
value
– skutečná hodnota vlastnosti (obvykle přijatá hodnota, ale zařízení se může rozhodnout ohlásit jinou hodnotu).ac
– kód potvrzení, který používá stavový kód HTTP.av
– verze potvrzení, která odkazuje na$version
požadovanou vlastnost. Tuto hodnotu najdete v datové části JSON požadované vlastnosti.ad
– volitelný popis potvrzení.
Další informace otěchtoch technologie Plug and Play > ch
Následující fragment kódu z modelu zařízení ukazuje definici zapisovatelného string
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "StringPropertyWritable"
},
"name": "StringPropertyWritable",
"writable": true,
"schema": "string"
}
Zařízení obdrží ze služby následující datovou část:
{
"StringPropertyWritable": "A string from IoT Central", "$version": 7
}
Po zpracování aktualizace by zařízení mělo službě odeslat následující datovou část JSON. Tato zpráva obsahuje číslo verze původní aktualizace přijaté ze služby.
Tip
Pokud je služba IoT Central, označí vlastnost jako synchronizovanou v uživatelském rozhraní, když obdrží tuto zprávu:
{
"StringPropertyWritable": {
"value": "A string from IoT Central",
"ac": 200,
"ad": "completed",
"av": 7
}
}
Následující fragment kódu z modelu zařízení ukazuje definici zapisovatelného Enum
typu vlastnosti:
{
"@type": "Property",
"displayName": {
"en": "EnumPropertyWritable"
},
"name": "EnumPropertyWritable",
"writable": true,
"schema": {
"@type": "Enum",
"displayName": {
"en": "Enum"
},
"valueSchema": "integer",
"enumValues": [
{
"displayName": {
"en": "Item1"
},
"enumValue": 0,
"name": "Item1"
},
{
"displayName": {
"en": "Item2"
},
"enumValue": 1,
"name": "Item2"
},
{
"displayName": {
"en": "Item3"
},
"enumValue": 2,
"name": "Item3"
}
]
}
}
Zařízení obdrží ze služby následující datovou část:
{
"EnumPropertyWritable": 1 , "$version": 10
}
Po zpracování aktualizace by zařízení mělo službě odeslat následující datovou část JSON. Tato zpráva obsahuje číslo verze původní aktualizace přijaté ze služby.
Tip
Pokud je služba IoT Central, označí vlastnost jako synchronizovanou v uživatelském rozhraní, když obdrží tuto zprávu:
{
"EnumPropertyWritable": {
"value": 1,
"ac": 200,
"ad": "completed",
"av": 10
}
}
Příkazy
Další informace o pravidlech pojmenování příkazů DTDL najdete v tématu Příkaz DTDL>. Název příkazu nelze spustit pomocí znaku _
.
Pokud je příkaz definovaný v komponentě, název příkazu, který zařízení obdrží, obsahuje název komponenty. Pokud je například volána getMaxMinReport
příkaz a komponenta je volána thermostat2
, zařízení obdrží požadavek na spuštění příkazu volaný thermostat2*getMaxMinReport
.
Následující fragment kódu z modelu zařízení ukazuje definici příkazu, který nemá žádné parametry a který neočekává, že zařízení bude nic vracet:
{
"@type": "Command",
"displayName": {
"en": "CommandBasic"
},
"name": "CommandBasic"
}
Zařízení obdrží v požadavku prázdnou datovou část a v odpovědi by měla vrátit prázdnou datovou část s kódem 200
odpovědi HTTP, který označuje úspěch.
Následující fragment kódu z modelu zařízení ukazuje definici příkazu, který má celočíselnou hodnotu a očekává, že zařízení vrátí celočíselnou hodnotu:
{
"@type": "Command",
"request": {
"@type": "CommandPayload",
"displayName": {
"en": "RequestParam"
},
"name": "RequestParam",
"schema": "integer"
},
"response": {
"@type": "CommandPayload",
"displayName": {
"en": "ResponseParam"
},
"name": "ResponseParam",
"schema": "integer"
},
"displayName": {
"en": "CommandSimple"
},
"name": "CommandSimple"
}
Zařízení obdrží celočíselnou hodnotu jako datovou část požadavku. Zařízení by mělo vrátit celočíselnou hodnotu jako datovou část odpovědi s kódem 200
odpovědi HTTP, který označuje úspěch.
Následující fragment kódu z modelu zařízení ukazuje definici příkazu, který má parametr objektu a který očekává, že zařízení vrátí objekt. V tomto příkladu mají oba objekty celočíselná i řetězcová pole:
{
"@type": "Command",
"request": {
"@type": "CommandPayload",
"displayName": {
"en": "RequestParam"
},
"name": "RequestParam",
"schema": {
"@type": "Object",
"displayName": {
"en": "Object"
},
"fields": [
{
"displayName": {
"en": "Field1"
},
"name": "Field1",
"schema": "integer"
},
{
"displayName": {
"en": "Field2"
},
"name": "Field2",
"schema": "string"
}
]
}
},
"response": {
"@type": "CommandPayload",
"displayName": {
"en": "ResponseParam"
},
"name": "ResponseParam",
"schema": {
"@type": "Object",
"displayName": {
"en": "Object"
},
"fields": [
{
"displayName": {
"en": "Field1"
},
"name": "Field1",
"schema": "integer"
},
{
"displayName": {
"en": "Field2"
},
"name": "Field2",
"schema": "string"
}
]
}
},
"displayName": {
"en": "CommandComplex"
},
"name": "CommandComplex"
}
Následující fragment kódu ukazuje ukázkovou datovou část požadavku odeslanou do zařízení:
{ "Field1": 56, "Field2": "A string value" }
Následující fragment kódu ukazuje ukázkovou datovou část odpovědi odeslanou ze zařízení. 200
K označení úspěchu použijte kód odpovědi HTTP:
{ "Field1": 87, "Field2": "Another string value" }
Tip
IoT Central má vlastní konvence pro implementaci dlouhotrvajících příkazů a příkazů offline.
Další kroky
Teď, když jste se seznámili s datovými částmi zařízení, je navrhovaným dalším postupem přečíst příručku pro vývojáře zařízení.