Kurz: Interakce se zařízením IoT technologie Plug and Play připojeným k vašemu řešení
IoT technologie Plug and Play zjednodušuje IoT tím, že umožňuje pracovat s funkcemi zařízení bez znalosti základní implementace zařízení. V tomto kurzu se dozvíte, jak se pomocí jazyka C# připojit k zařízení IoT technologie Plug and Play připojenému k vašemu řešení a řídit ho.
Požadavky
Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně ioT Hubu.
Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí konvencí Linuxu pro oddělovače/
cest, pokud postupujete společně s Windows, nezapomeňte tyto oddělovače prohodit za "\
".
- Nejnovější sada .NET SDK pro vaši platformu
- Git
Klonování úložiště sady SDK pomocí ukázkového kódu
Pokud jste dokončili kurz: Připojení ukázkové aplikace ioT technologie Plug and Play zařízení spuštěné ve Windows ke službě IoT Hub (C#) jste už naklonovali úložiště.
Naklonujte ukázky z úložiště Azure IoT SDK pro GitHub v jazyce C#. Otevřete příkazový řádek ve složce podle vašeho výběru. Spuštěním následujícího příkazu naklonujte sadu Microsoft Azure IoT SDK pro úložiště .NET GitHub:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Sestavení kódu zařízení
Teď můžete sestavit ukázku zařízení a spustit ji. Spuštěním následujících příkazů sestavte ukázku:
cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/Thermostat
dotnet build
Spuštění ukázky zařízení
Ukázku spustíte spuštěním následujícího příkazu:
dotnet run
Zařízení je teď připravené přijímat příkazy a aktualizace vlastností a začal odesílat telemetrická data do centra. Při dokončení dalších kroků ponechte ukázku spuštěnou.
Spuštění ukázkového řešení
V části Nastavení prostředí pro službu IoT technologie Plug and Play rychlý start a kurzy, které jste vytvořili dvě proměnné prostředí pro konfiguraci ukázky pro připojení ke službě IoT Hub:
- IOTHUB_CONNECTION_STRING: IoT Hub připojovací řetězec jste si předtím poznamenali.
- IOTHUB_DEVICE_ID:
"my-pnp-device"
.
V tomto kurzu použijete ukázkové řešení IoT napsané v jazyce C# k interakci s ukázkovým zařízením, které jste právě nastavili a spustili.
V jiném okně terminálu přejděte do složky azure-iot-sdk-csharp/iothub/service/samples/solutions/PnpServiceSamples/Termostat .
Spuštěním následujícího příkazu sestavte ukázku služby:
dotnet build
Spuštěním následujícího příkazu spusťte ukázku služby:
dotnet run
Získání dvojčete zařízení
Následující fragment kódu ukazuje, jak aplikace služby načte dvojče zařízení:
// Get a Twin and retrieves model Id set by Device client
Twin twin = await s_registryManager.GetTwinAsync(s_deviceId);
s_logger.LogDebug($"Model Id of this Twin is: {twin.ModelId}");
Poznámka:
Tato ukázka používá obor názvů Microsoft.Azure.Devices.Client z klienta služby IoT Hub. Další informace o rozhraních API, včetně rozhraní API pro digitální dvojčata, najdete v příručce pro vývojáře služeb.
Tento kód vygeneruje následující výstup:
[09/21/2020 11:26:04]dbug: Thermostat.Program[0]
Model Id of this Twin is: dtmi:com:example:Thermostat;1
Následující fragment kódu ukazuje, jak pomocí opravy aktualizovat vlastnosti prostřednictvím dvojčete zařízení:
// Update the twin
var twinPatch = new Twin();
twinPatch.Properties.Desired[PropertyName] = PropertyValue;
await s_registryManager.UpdateTwinAsync(s_deviceId, twinPatch, twin.ETag);
Tento kód vygeneruje ze zařízení následující výstup, když služba aktualizuje targetTemperature
vlastnost:
[09/21/2020 11:26:05]dbug: Thermostat.ThermostatSample[0]
Property: Received - { "targetTemperature": 60°C }.
[09/21/2020 11:26:05]dbug: Thermostat.ThermostatSample[0]
Property: Update - {"targetTemperature": 60°C } is InProgress.
...
[09/21/2020 11:26:17]dbug: Thermostat.ThermostatSample[0]
Property: Update - {"targetTemperature": 60°C } is Completed.
Vyvolání příkazu
Následující fragment kódu ukazuje, jak volat příkaz:
private static async Task InvokeCommandAsync()
{
var commandInvocation = new CloudToDeviceMethod(CommandName) { ResponseTimeout = TimeSpan.FromSeconds(30) };
// Set command payload
string componentCommandPayload = JsonConvert.SerializeObject(s_dateTime);
commandInvocation.SetPayloadJson(componentCommandPayload);
CloudToDeviceMethodResult result = await s_serviceClient.InvokeDeviceMethodAsync(s_deviceId, commandInvocation);
if (result == null)
{
throw new Exception($"Command {CommandName} invocation returned null");
}
s_logger.LogDebug($"Command {CommandName} invocation result status is: {result.Status}");
}
Tento kód vygeneruje ze zařízení následující výstup, když služba volá getMaxMinReport
příkaz:
[09/21/2020 11:26:05]dbug: Thermostat.ThermostatSample[0]
Command: Received - Generating max, min and avg temperature report since 21/09/2020 11:25:58.
[09/21/2020 11:26:05]dbug: Thermostat.ThermostatSample[0]
Command: MaxMinReport since 21/09/2020 11:25:58: maxTemp=32, minTemp=32, avgTemp=32, startTime=21/09/2020 11:25:59, endTime=21/09/2020 11:26:04
IoT technologie Plug and Play zjednodušuje IoT tím, že umožňuje pracovat s funkcemi zařízení bez znalosti základní implementace zařízení. V tomto kurzu se dozvíte, jak se pomocí Javy připojit a řídit zařízení ioT technologie Plug and Play, které je připojené k vašemu řešení.
Požadavky
Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně ioT Hubu.
Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí konvencí Linuxu pro oddělovače/
cest, pokud postupujete společně s Windows, nezapomeňte tyto oddělovače prohodit za "\
".
K dokončení tohoto kurzu nainstalujte do místního vývojového prostředí následující software:
Klonování úložiště sady SDK pomocí ukázkového kódu
Pokud jste dokončili kurz: Připojení ukázkové aplikace zařízení IoT technologie Plug and Play spuštěné ve Windows ke službě IoT Hub (Java) jste už naklonovali úložiště.
Otevřete příkazový řádek v adresáři podle vašeho výběru. Spuštěním následujícího příkazu naklonujte sady SDK Microsoft Azure IoT pro úložiště GitHub v Javě do tohoto umístění:
git clone https://github.com/Azure/azure-iot-sdk-java.git
Sestavení a spuštění ukázkového zařízení
Přejděte do kořenové složky ukázky termostatu v naklonovaném úložišti sady Java SDK a sestavte ji:
cd azure-iot-sdk-java/device/iot-device-samples/pnp-device-sample/thermostat-device-sample
mvn clean package
V nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky tak, aby se k vašemu centru IoT připojila pomocí služby Device Provisioning Service (DPS):
- IOTHUB_DEVICE_SECURITY_TYPE s hodnotou
DPS
- IOTHUB_DEVICE_DPS_ID_SCOPE s rozsahem ID DPS.
- IOTHUB_DEVICE_DPS_DEVICE_ID s hodnotou
my-pnp-device
. - IOTHUB_DEVICE_DPS_DEVICE_KEY s primárním klíčem registrace.
- IOTHUB_DEVICE_DPS_ENDPOINT s hodnotou
global.azure-devices-provisioning.net
.
Další informace o konfiguraci ukázky najdete v ukázkovém souboru readme.
Ve složce /device/iot-device-samples/pnp-device-sample/termostat-device-sample spusťte aplikaci:
mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.Thermostat"
Zařízení je teď připravené přijímat příkazy a aktualizace vlastností a začal odesílat telemetrická data do centra. Při dokončení dalších kroků ponechte ukázku spuštěnou.
Spuštění ukázkového řešení
V části Nastavení prostředí pro službu IoT technologie Plug and Play rychlý start a kurzy, které jste vytvořili dvě proměnné prostředí pro konfiguraci ukázky pro připojení ke službě IoT Hub:
- IOTHUB_CONNECTION_STRING: IoT Hub připojovací řetězec jste si předtím poznamenali.
- IOTHUB_DEVICE_ID:
"my-pnp-device"
.
V tomto kurzu použijete ukázkové řešení IoT napsané v Javě k interakci s ukázkovým zařízením, které jste právě nastavili.
Poznámka:
Tato ukázka používá obor názvů com.microsoft.azure.sdk.iot.service z klienta služby IoT Hub. Další informace o rozhraních API, včetně rozhraní API pro digitální dvojčata, najdete v příručce pro vývojáře služeb.
Otevřete další okno terminálu, které chcete použít jako terminál služby .
V naklonovaném úložišti sady Java SDK přejděte do složky service/iot-service-samples/pnp-service-sample/termostat-service-sample .
Pokud chcete sestavit a spustit ukázkovou aplikaci služby, spusťte následující příkazy:
mvn clean package mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.service.Thermostat"
Získání dvojčete zařízení
Následující fragment kódu ukazuje, jak ve službě načíst dvojče zařízení:
// Get the twin and retrieve model Id set by Device client.
DeviceTwinDevice twin = new DeviceTwinDevice(deviceId);
twinClient.getTwin(twin);
System.out.println("Model Id of this Twin is: " + twin.getModelId());
Aktualizace dvojčete zařízení
Následující fragment kódu ukazuje, jak pomocí opravy aktualizovat vlastnosti prostřednictvím dvojčete zařízení:
String propertyName = "targetTemperature";
double propertyValue = 60.2;
twin.setDesiredProperties(Collections.singleton(new Pair(propertyName, propertyValue)));
twinClient.updateTwin(twin);
Výstup zařízení ukazuje, jak zařízení reaguje na tuto aktualizaci vlastnosti.
Vyvolání příkazu
Následující fragment kódu ukazuje volání příkazu na zařízení:
// The method to invoke for a device without components should be "methodName" as defined in the DTDL.
String methodToInvoke = "getMaxMinReport";
System.out.println("Invoking method: " + methodToInvoke);
Long responseTimeout = TimeUnit.SECONDS.toSeconds(200);
Long connectTimeout = TimeUnit.SECONDS.toSeconds(5);
// Invoke the command.
String commandInput = ZonedDateTime.now(ZoneOffset.UTC).minusMinutes(5).format(DateTimeFormatter.ISO_DATE_TIME);
MethodResult result = methodClient.invoke(deviceId, methodToInvoke, responseTimeout, connectTimeout, commandInput);
if(result == null)
{
throw new IOException("Method result is null");
}
System.out.println("Method result status is: " + result.getStatus());
Výstup zařízení ukazuje, jak zařízení reaguje na tento příkaz.
IoT technologie Plug and Play zjednodušuje IoT tím, že umožňuje pracovat s funkcemi zařízení bez znalosti základní implementace zařízení. V tomto kurzu se dozvíte, jak se pomocí Node.js připojit a řídit zařízení technologie Plug and Play IoT, které je připojené k vašemu řešení.
Požadavky
Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně ioT Hubu.
K dokončení tohoto kurzu potřebujete Node.js na vývojovém počítači. Nejnovější doporučenou verzi pro více platforem si můžete stáhnout z nodejs.org.
Aktuální verzi Node.js na počítači používaném pro vývoj můžete ověřit pomocí následujícího příkazu:
node --version
Klonování úložiště sady SDK pomocí ukázkového kódu
Naklonujte ukázky z úložiště Node SDK. Otevřete okno terminálu ve složce podle vašeho výběru. Spuštěním následujícího příkazu naklonujte sadu Microsoft Azure IoT SDK pro Node.js úložiště GitHub:
git clone https://github.com/Azure/azure-iot-sdk-node
Spuštění ukázkového zařízení
V nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky tak, aby se k vašemu centru IoT připojila pomocí služby Device Provisioning Service (DPS):
- IOTHUB_DEVICE_SECURITY_TYPE s hodnotou
DPS
- IOTHUB_DEVICE_DPS_ID_SCOPE s rozsahem ID DPS.
- IOTHUB_DEVICE_DPS_DEVICE_ID s hodnotou
my-pnp-device
. - IOTHUB_DEVICE_DPS_DEVICE_KEY s primárním klíčem registrace.
- IOTHUB_DEVICE_DPS_ENDPOINT s hodnotou
global.azure-devices-provisioning.net
.
Další informace o konfiguraci ukázky najdete v ukázkovém souboru readme.
V tomto kurzu použijete ukázkové termostatické zařízení napsané v Node.js jako zařízení technologie Plug and Play IoT. Spuštění ukázkového zařízení:
Otevřete okno terminálu a přejděte do místní složky, která obsahuje sadu Microsoft Azure IoT SDK pro Node.js úložiště, které jste naklonovali z GitHubu.
Toto okno terminálu se používá jako terminál zařízení. Přejděte do složky klonovaného úložiště a přejděte do složky /azure-iot-sdk-node/device/samples/javascript . Nainstalujte všechny závislosti spuštěním následujícího příkazu:
npm install
Spusťte ukázkové termostatické zařízení pomocí následujícího příkazu:
node pnp_simple_thermostat.js
Zobrazí se zprávy s oznámením, že zařízení odeslalo nějaké informace a oznámilo se online. Tyto zprávy značí, že zařízení začalo do centra odesílat telemetrická data a je teď připravené přijímat příkazy a aktualizace vlastností. Tento terminál nezavírejte, potřebujete ho k potvrzení, že ukázka služby funguje.
Spuštění ukázkového řešení
V části Nastavení prostředí pro službu IoT technologie Plug and Play rychlý start a kurzy, které jste vytvořili dvě proměnné prostředí pro konfiguraci ukázky pro připojení ke službě IoT Hub:
- IOTHUB_CONNECTION_STRING: IoT Hub připojovací řetězec jste si předtím poznamenali.
- IOTHUB_DEVICE_ID:
"my-pnp-device"
.
V tomto kurzu použijete ukázkové Node.js řešení IoT k interakci s ukázkovým zařízením, které jste právě nastavili a spustili.
Otevřete další okno terminálu, které chcete použít jako terminál služby .
V naklonovaném úložišti sady Node SDK přejděte do složky azure-iot-sdk-node/service/samples/javascript . Nainstalujte všechny závislosti spuštěním následujícího příkazu:
npm install
Čtení vlastnosti
Když jste spustili ukázkové termostatické zařízení v terminálu zařízení , viděli jste následující zprávy označující jeho stav online:
properties have been reported for component sending telemetry message 0...
Přejděte do terminálu služby a pomocí následujícího příkazu spusťte ukázku pro čtení informací o zařízení:
node twin.js
Ve výstupu terminálu služby si všimněte odpovědi dvojčete zařízení. Zobrazí se ID modelu zařízení a ohlášené přidružené vlastnosti:
Model Id: dtmi:com:example:Thermostat;1 { "deviceId": "my-pnp-device", "etag": "AAAAAAAAAAE=", "deviceEtag": "Njc3MDMxNDcy", "status": "enabled", "statusUpdateTime": "0001-01-01T00:00:00Z", "connectionState": "Connected", "lastActivityTime": "0001-01-01T00:00:00Z", "cloudToDeviceMessageCount": 0, "authenticationType": "sas", "x509Thumbprint": { "primaryThumbprint": null, "secondaryThumbprint": null }, "modelId": "dtmi:com:example:Thermostat;1", "version": 4, "properties": { "desired": { "$metadata": { "$lastUpdated": "2020-10-05T11:35:19.4574755Z" }, "$version": 1 }, "reported": { "maxTempSinceLastReboot": 31.343640523762232, "serialNumber": "123abc", "$metadata": { "$lastUpdated": "2020-10-05T11:35:23.7339042Z", "maxTempSinceLastReboot": { "$lastUpdated": "2020-10-05T11:35:23.7339042Z" }, "serialNumber": { "$lastUpdated": "2020-10-05T11:35:23.7339042Z" } }, "$version": 3 } }, "capabilities": { "iotEdge": false }, "tags": {} }
Následující fragment kódu ukazuje kód v twin.js , který načte ID modelu dvojčete zařízení:
var registry = Registry.fromConnectionString(connectionString); registry.getTwin(deviceId, function(err, twin) { if (err) { console.error(err.message); } else { console.log('Model Id: ' + twin.modelId); //... } //... }
V tomto scénáři se zobrazí výstup Model Id: dtmi:com:example:Thermostat;1
.
Poznámka:
Tyto ukázky služeb používají třídu Registru z klienta služby IoT Hub. Další informace o rozhraních API, včetně rozhraní API pro digitální dvojčata, najdete v příručce pro vývojáře služeb.
Aktualizace zapisovatelné vlastnosti
Otevřete soubor twin.js v editoru kódu.
Projděte si ukázkový kód, který ukazuje dva způsoby aktualizace dvojčete zařízení. Pokud chcete použít první způsob, upravte
twinPatch
proměnnou následujícím způsobem:var twinPatch = { tags: { city: "Redmond" }, properties: { desired: { targetTemperature: 42 } } };
Vlastnost
targetTemperature
je definována jako zapisovatelná vlastnost v modelu zařízení Termostat.V terminálu služby spusťte ukázku pro aktualizaci vlastnosti pomocí následujícího příkazu:
node twin.js
V terminálu zařízení uvidíte, že zařízení obdrželo aktualizaci:
The following properties will be updated for the default component: { targetTemperature: { value: 42, ac: 200, ad: 'Successfully executed patch for targetTemperature', av: 2 } } updated the property
V terminálu služby spusťte následující příkaz, abyste potvrdili, že je vlastnost aktualizována:
node twin.js
Ve výstupu terminálu služby se v
reported
části vlastnosti zobrazí aktualizovaná cílová teplota. Dokončení aktualizace může chvíli trvat. Tento krok opakujte, dokud zařízení nezpracovalo aktualizaci vlastnosti:"reported": { //... "targetTemperature": { "value": 42, "ac": 200, "ad": "Successfully executed patch for targetTemperature", "av": 4 }, //... }
Vyvolání příkazu
Otevřete soubor device_method.js a zkontrolujte kód.
Přejděte do terminálu služby . Pomocí následujícího příkazu spusťte ukázku pro vyvolání příkazu:
set IOTHUB_METHOD_NAME=getMaxMinReport set IOTHUB_METHOD_PAYLOAD=commandpayload node device_method.js
Výstup v terminálu služby zobrazí následující potvrzení:
getMaxMinReport on my-pnp-device: { "status": 200, "payload": { "maxTemp": 23.460596940801928, "minTemp": 23.460596940801928, "avgTemp": 23.460596940801928, "endTime": "2020-10-05T12:48:08.562Z", "startTime": "2020-10-05T12:47:54.450Z" } }
V terminálu zařízení se zobrazí potvrzení příkazu:
MaxMinReport commandpayload Response to method 'getMaxMinReport' sent successfully.
IoT technologie Plug and Play zjednodušuje IoT tím, že umožňuje pracovat s modelem zařízení bez znalosti základní implementace zařízení. V tomto kurzu se dozvíte, jak se pomocí Pythonu připojit a řídit zařízení ioT technologie Plug and Play, které je připojené k vašemu řešení.
Požadavky
Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně ioT Hubu.
K dokončení tohoto kurzu potřebujete Python nainstalovaný na vývojovém počítači. Zkontrolujte aktuální požadavky na verzi Pythonu v sadě Azure IoT Python SDK. Verzi Pythonu můžete zkontrolovat pomocí následujícího příkazu:
python --version
Nejnovější doporučenou verzi pro více platforem si můžete stáhnout z python.org.
V místním prostředí Pythonu nainstalujte balíček azure-iot-device následujícím způsobem:
pip install azure-iot-device
Nainstalujte balíček azure-iot-hub spuštěním následujícího příkazu:
pip install azure-iot-hub
Spuštění ukázkového zařízení
V nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky tak, aby se k vašemu centru IoT připojila pomocí služby Device Provisioning Service (DPS):
- IOTHUB_DEVICE_SECURITY_TYPE s hodnotou
DPS
- IOTHUB_DEVICE_DPS_ID_SCOPE s rozsahem ID DPS.
- IOTHUB_DEVICE_DPS_DEVICE_ID s hodnotou
my-pnp-device
. - IOTHUB_DEVICE_DPS_DEVICE_KEY s primárním klíčem registrace.
- IOTHUB_DEVICE_DPS_ENDPOINT s hodnotou
global.azure-devices-provisioning.net
.
Další informace o konfiguraci ukázky najdete v ukázkovém souboru readme.
V tomto kurzu použijete ukázkové termostatické zařízení napsané v Pythonu jako zařízení technologie Plug and Play IoT. Spuštění ukázkového zařízení:
Otevřete okno terminálu ve složce podle vašeho výběru. Spuštěním následujícího příkazu naklonujte úložiště GitHub SDK pro zařízení Azure IoT Do tohoto umístění:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
Toto okno terminálu se používá jako terminál zařízení. Přejděte do složky klonovaného úložiště a přejděte do složky azure-iot-sdk-python/samples/pnp .
Spusťte ukázkové termostatické zařízení pomocí následujícího příkazu:
python simple_thermostat.py
Zobrazí se zprávy s oznámením, že zařízení odeslalo nějaké informace a oznámilo se online. Tyto zprávy značí, že zařízení začalo do centra odesílat telemetrická data a je teď připravené přijímat příkazy a aktualizace vlastností. Tento terminál nezavírejte, potřebujete ho k potvrzení, že ukázka služby funguje.
Spuštění ukázkového řešení
V tomto kurzu použijete ukázkové řešení IoT v Pythonu k interakci s ukázkovým zařízením, které jste právě nastavili.
Otevřete další okno terminálu, které chcete použít jako terminál služby . Spuštěním následujícího příkazu naklonujte úložiště GitHub SDK služby Azure IoT Hub v Pythonu do tohoto umístění:
git clone https://github.com/Azure/azure-iot-hub-python
Instalace nástroje
Přejděte do složky /azure-iot-hub-python/samples naklonovaného úložiště sady Python SDK.
Otevřete soubor registry_manager_pnp_sample.py a zkontrolujte kód. Tato ukázka ukazuje, jak používat třídu IoTHubRegistryManager k interakci s vaším zařízením technologie Plug and Play IoT.
Poznámka:
Tyto ukázky služeb používají třídu IoTHubRegistryManager z klienta služby IoT Hub. Další informace o rozhraních API, včetně rozhraní API pro digitální dvojčata, najdete v příručce pro vývojáře služeb.
Získání dvojčete zařízení
V části Nastavení prostředí pro službu IoT technologie Plug and Play rychlý start a kurzy, které jste vytvořili dvě proměnné prostředí pro konfiguraci ukázky pro připojení ke službě IoT Hub:
- IOTHUB_CONNECTION_STRING: IoT Hub připojovací řetězec jste si předtím poznamenali.
- IOTHUB_DEVICE_ID:
"my-pnp-device"
.
Pomocí následujícího příkazu v terminálu služby spusťte tuto ukázku:
set IOTHUB_METHOD_NAME="getMaxMinReport"
set IOTHUB_METHOD_PAYLOAD="hello world"
python registry_manager_pnp_sample.py
Poznámka:
Pokud používáte tuto ukázku v Linuxuset
, použijte export
místo .
Výstup zobrazuje dvojče zařízení a vytiskne jeho ID modelu:
The Model ID for this device is:
dtmi:com:example:Thermostat;1
Následující fragment kódu ukazuje ukázkový kód z registry_manager_pnp_sample.py:
# Create IoTHubRegistryManager
iothub_registry_manager = IoTHubRegistryManager(iothub_connection_str)
# Get device twin
twin = iothub_registry_manager.get_twin(device_id)
print("The device twin is: ")
print("")
print(twin)
print("")
# Print the device's model ID
additional_props = twin.additional_properties
if "modelId" in additional_props:
print("The Model ID for this device is:")
print(additional_props["modelId"])
print("")
Aktualizace dvojčete zařízení
Tato ukázka ukazuje, jak aktualizovat targetTemperature
zapisovatelnou vlastnost v zařízení:
# Update twin
twin_patch = Twin()
twin_patch.properties = TwinProperties(
desired={"targetTemperature": 42}
) # this is relevant for the thermostat device sample
updated_twin = iothub_registry_manager.update_twin(device_id, twin_patch, twin.etag)
print("The twin patch has been successfully applied")
print("")
Můžete ověřit, že se aktualizace nainstalovala v terminálu zařízení , která zobrazuje následující výstup:
the data in the desired properties patch was: {'targetTemperature': 42, '$version': 2}
Terminál služby potvrdí, že oprava proběhla úspěšně:
The twin patch has been successfully applied
Vyvolání příkazu
Ukázka pak vyvolá příkaz:
V terminálu služby se zobrazí potvrzovací zpráva ze zařízení:
The device method has been successfully invoked
V terminálu zařízení se zobrazí, že zařízení obdrží příkaz:
Command request received with payload
hello world
Will return the max, min and average temperature from the specified time hello to the current time
Done generating
{"tempReport": {"avgTemp": 34.2, "endTime": "09/07/2020 09:58:11", "maxTemp": 49, "minTemp": 10, "startTime": "09/07/2020 09:56:51"}}
Vyčištění prostředků
Pokud jste dokončili rychlé starty a kurzy, přečtěte si téma Vyčištění prostředků.
Další kroky
V tomto kurzu jste zjistili, jak připojit zařízení IoT technologie Plug and Play k řešení IoT. Další informace o modelech zařízení ioT technologie Plug and Play najdete tady: