Kurz: Připojení ukázkové aplikace ioT technologie Plug and Play zařízení spuštěné v Linuxu nebo Windows ke službě IoT Hub
V tomto kurzu se dozvíte, jak sestavit ukázkovou aplikaci ioT technologie Plug and Play zařízení, připojit ji k centru IoT a pomocí nástroje Azure IoT Explorer zobrazit telemetrii, kterou odesílá. Ukázková aplikace je napsaná v jazyce C a je součástí sady SDK pro zařízení Azure IoT pro jazyk C. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti technologie Plug and Play zařízení IoT, aniž by bylo nutné zobrazit kód zařízení.
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 "\
".
Požadavky se liší podle operačního systému:
Linux
V tomto kurzu se předpokládá, že používáte Ubuntu Linux. Kroky v tomto kurzu byly testovány pomocí Ubuntu 18.04.
Pokud chcete tento kurz dokončit v Linuxu, nainstalujte do místního linuxového prostředí následující software:
Pomocí příkazu nainstalujte GCC, Git, cmake a všechny požadované závislosti apt-get
:
sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev
Ověřte, že je verze cmake
vyšší než 2.8.12 a verze GCC je vyšší než 4.4.7.
cmake --version
gcc --version
Windows
Chcete-li dokončit tento kurz ve Windows, nainstalujte do místního prostředí Windows následující software:
- Visual Studio (Community, Professional nebo Enterprise) – při instalaci sady Visual Studio nezapomeňte zahrnout vývoj desktopových aplikací pomocí úlohy C++.
- Git
- CMake.
Stáhněte si kód
V tomto kurzu připravíte vývojové prostředí, které můžete použít ke klonování a sestavení sady AZURE IoT Hub Device C SDK.
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 úložiště GitHub sdk a knihoven Azure IoT C do tohoto umístění:
git clone https://github.com/Azure/azure-iot-sdk-c.git
cd azure-iot-sdk-c
git submodule update --init
Očekáváme, že dokončení této operace bude trvat několik minut.
Sestavení kódu
Kód můžete sestavit a spustit pomocí sady Visual Studio nebo cmake
na příkazovém řádku.
Použití sady Visual Studio
Otevřete kořenovou složku klonovaného úložiště. Po několika sekundách vytvoří podpora CMake v sadě Visual Studio vše, co potřebujete ke spuštění a ladění projektu.
Až bude Sada Visual Studio připravená, v Průzkumník řešení přejděte k ukázkové iothub_client/samples/pnp/pnp_simple_thermostat/.
Klikněte pravým tlačítkem myši na soubor pnp_simple_thermostat.c a vyberte Přidat konfiguraci ladění. Vyberte Výchozí.
Visual Studio otevře soubor launch.vs.json . Upravte tento soubor, jak je znázorněno v následujícím fragmentu kódu, a nastavte požadované proměnné prostředí. Po dokončení nastavení prostředí pro rychlé starty a kurzy služby IoT technologie Plug and Play jste si poznamenali ID oboru a primární klíč registrace:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "iothub_client\\samples\\pnp\\pnp_simple_thermostat\\pnp_pnp_simple_thermostat.c", "projectTarget": "", "name": "pnp_simple_thermostat.c", "env": { "IOTHUB_DEVICE_SECURITY_TYPE": "DPS", "IOTHUB_DEVICE_DPS_ID_SCOPE": "<Your ID scope>", "IOTHUB_DEVICE_DPS_DEVICE_ID": "my-pnp-device", "IOTHUB_DEVICE_DPS_DEVICE_KEY": "<Your enrollment primary key>" } } ] }
Klikněte pravým tlačítkem myši na soubor pnp_simple_thermostat.c a vyberte Nastavit jako spouštěcí položku.
Pokud chcete trasovat provádění kódu v sadě Visual Studio, přidejte do
main
funkce v souboru pnp_simple_thermostat.c zarážku.Ukázku teď můžete spustit a ladit z nabídky Ladění .
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.
Použití cmake k sestavení kódu
K sestavení kódu použijete nástroj příkazového řádku cmake:
Vytvořte podadresář cmake v kořenové složce sady SDK zařízení a přejděte do této složky:
cd azure-iot-sdk-c mkdir cmake cd cmake
Spuštěním následujících příkazů sestavte sadu SDK a ukázky:
cmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF .. cmake --build .
Spuštění ukázky 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.
Spuštění ukázkové aplikace v sadě SDK, která simuluje ioT technologie Plug and Play zařízení odesílající telemetrii do centra IoT:
Ve složce cmake přejděte do složky, která obsahuje spustitelný soubor, a spusťte ho:
# Bash
cd iothub_client/samples/pnp/pnp_simple_thermostat/
./pnp_simple_thermostat
REM Windows
cd iothub_client\samples\pnp\pnp_simple_thermostat\Debug
.\pnp_simple_thermostat.exe
Tip
Pokud chcete trasovat provádění kódu v sadě Visual Studio ve Windows, přidejte do funkce v souboru pnp_simple_thermostat.c zarážkumain
.
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.
Ověření kódu pomocí Azure IoT Exploreru
Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.
Otevřete Průzkumníka Azure IoT.
Pokud jste ještě nepřidali připojení k centru IoT, na stránce IoT Hubs vyberte + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.
Na stránce Nastavení ioT technologie Plug and Play vyberte + Přidat > místní složku a vyberte složku místních modelů, do které jste uložili soubory modelu.
Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných v Centru IoT.
Klikněte na ID zařízení, které jste vytvořili dříve.
Nabídka vlevo zobrazuje různé typy informací, které jsou pro zařízení k dispozici.
Výběrem komponent ioT technologie Plug and Play zobrazíte informace o modelu pro vaše zařízení.
Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další. Vyberte komponentu, se kterými chcete pracovat.
Vyberte stránku Telemetry (Telemetry) a pak výběrem možnosti Start (Start) zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.
Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.
Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete aktualizovat pro tuto komponentu.
Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.
Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .
Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.
Vyberte příkaz, který chcete otestovat, pokud existuje parametr. Výběrem příkazu Odeslat zavoláte příkaz na zařízení. Zařízení reaguje na příkaz v okně příkazového řádku, kde je spuštěn ukázkový kód.
Kontrola kódu
Tato ukázka implementuje jednoduché zařízení IoT technologie Plug and Play termostatu. Termostatový model nepoužívá komponenty IoT technologie Plug and Play. Soubor modelu DTDL pro termostat zařízení definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.
Kód zařízení používá standardní funkci pro připojení k centru IoT:
deviceHandle = IoTHubDeviceClient_CreateFromConnectionString(connectionString, MQTT_Protocol)
Zařízení odešle ID modelu modelu modelu DTDL, který implementuje v požadavku na připojení. Zařízení, které odesílá ID modelu, je zařízení ioT technologie Plug and Play:
static const char g_ModelId[] = "dtmi:com:example:Thermostat;1";
...
IoTHubDeviceClient_SetOption(deviceHandle, OPTION_MODEL_ID, modelId)
Kód, který aktualizuje vlastnosti, zpracovává příkazy a odesílá telemetrii, je identický s kódem zařízení, které nepoužívá konvence technologie Plug and Play IoT.
Kód používá knihovnu Parson k analýze objektů JSON v datových částech odeslaných z vašeho centra IoT:
// JSON parser
#include "parson.h"
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ů.
V tomto kurzu se dozvíte, jak sestavit ukázkovou aplikaci ioT technologie Plug and Play zařízení, připojit ji k centru IoT a pomocí nástroje Azure IoT Explorer zobrazit telemetrii, kterou odesílá. Ukázková aplikace je napsaná v jazyce C# a je součástí sady Azure IoT SDK pro jazyk C#. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti technologie Plug and Play zařízení IoT, aniž by bylo nutné zobrazit kód zařízení.
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
Stáhněte si kód
V tomto kurzu připravíte vývojové prostředí, které můžete použít ke klonování a sestavení sady Azure IoT SDK pro úložiště jazyka 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 úložiště GitHub sdk Microsoft Azure IoT pro C# (.NET) do tohoto umístění:
git clone https://github.com/Azure/azure-iot-sdk-csharp
Sestavení kódu
Teď můžete vytvořit ukázku 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.
Ověření kódu pomocí Azure IoT Exploreru
Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.
Otevřete Průzkumníka Azure IoT.
Pokud jste ještě nepřidali připojení k centru IoT, na stránce IoT Hubs vyberte + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.
Na stránce Nastavení ioT technologie Plug and Play vyberte + Přidat > místní složku a vyberte složku místních modelů, do které jste uložili soubory modelu.
Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných v Centru IoT.
Klikněte na ID zařízení, které jste vytvořili dříve.
Nabídka vlevo zobrazuje různé typy informací, které jsou pro zařízení k dispozici.
Výběrem komponent ioT technologie Plug and Play zobrazíte informace o modelu pro vaše zařízení.
Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další. Vyberte komponentu, se kterými chcete pracovat.
Vyberte stránku Telemetry (Telemetry) a pak výběrem možnosti Start (Start) zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.
Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.
Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete aktualizovat pro tuto komponentu.
Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.
Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .
Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.
Vyberte příkaz, který chcete otestovat, pokud existuje parametr. Výběrem příkazu Odeslat zavoláte příkaz na zařízení. Zařízení reaguje na příkaz v okně příkazového řádku, kde je spuštěn ukázkový kód.
Kontrola kódu
Tato ukázka implementuje jednoduché zařízení IoT technologie Plug and Play termostatu. Model, který tato ukázka implementuje, nepoužívá komponenty ioT technologie Plug and Play. Soubor modelu DTDL (Digital Twins Definition Language) pro termostatické zařízení definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.
Kód zařízení se připojí k ioT Hubu pomocí standardní CreateFromConnectionString
metody. Zařízení odešle ID modelu modelu modelu DTDL, který implementuje v požadavku na připojení. Zařízení, které odesílá ID modelu, je zařízení ioT technologie Plug and Play:
private static void InitializeDeviceClientAsync()
{
var options = new ClientOptions
{
ModelId = ModelId,
};
s_deviceClient = DeviceClient.CreateFromConnectionString(s_deviceConnectionString, TransportType.Mqtt, options);
s_deviceClient.SetConnectionStatusChangesHandler((status, reason) =>
{
s_logger.LogDebug($"Connection status change registered - status={status}, reason={reason}.");
});
}
ID modelu je uloženo v kódu, jak je znázorněno v následujícím fragmentu kódu:
private const string ModelId = "dtmi:com:example:Thermostat;1";
Kód, který aktualizuje vlastnosti, zpracovává příkazy a odesílá telemetrii, je identický s kódem zařízení, které nepoužívá konvence technologie Plug and Play IoT.
Ukázka používá knihovnu JSON k analýze objektů JSON v datových částech odeslaných z vašeho ioT Hubu:
using Newtonsoft.Json;
...
DateTime since = JsonConvert.DeserializeObject<DateTime>(request.DataAsJson);
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ů.
V tomto kurzu se dozvíte, jak sestavit ukázkovou aplikaci ioT technologie Plug and Play zařízení, připojit ji k centru IoT a pomocí nástroje Azure IoT Explorer zobrazit telemetrii, kterou odesílá. Ukázková aplikace je napsaná v Javě a je součástí sady SDK pro zařízení Azure IoT pro Javu. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti technologie Plug and Play zařízení IoT, aniž by bylo nutné zobrazit kód zařízení.
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:
Stáhněte si kód
V tomto kurzu připravíte vývojové prostředí, které můžete použít ke klonování a sestavení sady Azure IoT Hub Device Java SDK.
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 úložiště GitHub sdk a knihoven Azure IoT Java do tohoto umístění:
git clone https://github.com/Azure/azure-iot-sdk-java.git
Sestavení kódu
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
Spuštění ukázky 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.
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.
Ověření kódu pomocí Azure IoT Exploreru
Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.
Otevřete Průzkumníka Azure IoT.
Pokud jste ještě nepřidali připojení k centru IoT, na stránce IoT Hubs vyberte + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.
Na stránce Nastavení ioT technologie Plug and Play vyberte + Přidat > místní složku a vyberte složku místních modelů, do které jste uložili soubory modelu.
Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných v Centru IoT.
Klikněte na ID zařízení, které jste vytvořili dříve.
Nabídka vlevo zobrazuje různé typy informací, které jsou pro zařízení k dispozici.
Výběrem komponent ioT technologie Plug and Play zobrazíte informace o modelu pro vaše zařízení.
Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další. Vyberte komponentu, se kterými chcete pracovat.
Vyberte stránku Telemetry (Telemetry) a pak výběrem možnosti Start (Start) zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.
Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.
Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete aktualizovat pro tuto komponentu.
Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.
Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .
Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.
Vyberte příkaz, který chcete otestovat, pokud existuje parametr. Výběrem příkazu Odeslat zavoláte příkaz na zařízení. Zařízení reaguje na příkaz v okně příkazového řádku, kde je spuštěn ukázkový kód.
Kontrola kódu
Tato ukázka implementuje jednoduché zařízení IoT technologie Plug and Play termostatu. Model, který tato ukázka implementuje, nepoužívá komponenty ioT technologie Plug and Play. Soubor modelu DTDL pro termostat zařízení definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.
Kód zařízení používá standardní DeviceClient
třídu pro připojení k centru IoT. Zařízení odešle ID modelu modelu modelu DTDL, který implementuje v požadavku na připojení. Zařízení, které odesílá ID modelu, je zařízení ioT technologie Plug and Play:
private static void initializeDeviceClient() throws URISyntaxException, IOException {
ClientOptions options = new ClientOptions();
options.setModelId(MODEL_ID);
deviceClient = new DeviceClient(deviceConnectionString, protocol, options);
deviceClient.registerConnectionStatusChangeCallback((status, statusChangeReason, throwable, callbackContext) -> {
log.debug("Connection status change registered: status={}, reason={}", status, statusChangeReason);
if (throwable != null) {
log.debug("The connection status change was caused by the following Throwable: {}", throwable.getMessage());
throwable.printStackTrace();
}
}, deviceClient);
deviceClient.open();
}
ID modelu je uloženo v kódu, jak je znázorněno v následujícím fragmentu kódu:
private static final String MODEL_ID = "dtmi:com:example:Thermostat;1";
Kód, který aktualizuje vlastnosti, zpracovává příkazy a odesílá telemetrii, je identický s kódem zařízení, které nepoužívá konvence technologie Plug and Play IoT.
Ukázka používá knihovnu JSON k analýze objektů JSON v datových částech odeslaných z vašeho ioT Hubu:
import com.google.gson.Gson;
...
Date since = new Gson().fromJson(jsonRequest, Date.class);
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ů.
V tomto kurzu se dozvíte, jak sestavit ukázkovou aplikaci ioT technologie Plug and Play zařízení, připojit ji k centru IoT a pomocí nástroje Azure IoT Explorer zobrazit telemetrii, kterou odesílá. Ukázková aplikace je napsaná v Node.js a je součástí sady SDK pro zařízení Azure IoT pro Node.js. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti technologie Plug and Play zařízení IoT, aniž by bylo nutné zobrazit kód zařízení.
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 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
Stáhněte si kód
V tomto kurzu připravíte vývojové prostředí, které můžete použít ke klonování a sestavení sady SDK pro zařízení služby Azure IoT Hub pro Node.js.
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 sadu Microsoft Azure IoT SDK pro Node.js úložiště GitHub do tohoto umístění:
git clone https://github.com/Azure/azure-iot-sdk-node
Instalace požadovaných knihoven
Sadu SDK zařízení použijete k sestavení zahrnutého ukázkového kódu. Aplikace, kterou sestavíte, simuluje zařízení, které se připojuje k centru IoT. Aplikace odesílá telemetrii a vlastnosti a přijímá příkazy.
V okně místního terminálu přejděte do složky naklonovaného úložiště a přejděte do složky /azure-iot-sdk-node/device/samples/javascript . Potom spuštěním následujícího příkazu nainstalujte požadované knihovny:
npm install
Spuštění ukázkového zařízení
Tato ukázka implementuje jednoduché zařízení IoT technologie Plug and Play termostatu. Model, který tato ukázka implementuje, nepoužívá komponenty ioT technologie Plug and Play. Soubor modelu DTDL pro termostat zařízení definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.
Otevřete soubor pnp_simple_thermostat.js. V tomto souboru se dozvíte, jak:
- Importujte požadovaná rozhraní.
- Napište obslužnou rutinu aktualizace vlastnosti a obslužnou rutinu příkazu.
- Zpracování oprav požadovaných vlastností a odesílání telemetrie
- Volitelně můžete zařízení zřídit pomocí služby Azure Device Provisioning Service (DPS).
V hlavní funkci uvidíte, jak všechno dohromady:
- Vytvořte zařízení z připojovací řetězec nebo ho zřiďte pomocí DPS.)
- Pomocí možnosti ID modelu určete model zařízení technologie Plug and Play IoT.
- Povolte obslužnou rutinu příkazu.
- Odešle telemetrii ze zařízení do centra.
- Získejte dvojče zařízení a aktualizujte ohlášené vlastnosti.
- Povolte obslužnou rutinu aktualizace požadované vlastnosti.
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.
Spuštěním ukázkové aplikace simulujte zařízení IoT technologie Plug and Play, které odesílá telemetrii do centra IoT. Pokud chcete spustit ukázkovou aplikaci, použijte následující příkaz:
node pnp_simple_thermostat.js
Zobrazí se následující výstup, který označuje, že zařízení začalo odesílat telemetrická data do centra a je teď připravená přijímat příkazy a aktualizace vlastností.
Při dokončení dalších kroků ponechte ukázku spuštěnou.
Ověření kódu pomocí Azure IoT Exploreru
Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.
Otevřete Průzkumníka Azure IoT.
Pokud jste ještě nepřidali připojení k centru IoT, na stránce IoT Hubs vyberte + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.
Na stránce Nastavení ioT technologie Plug and Play vyberte + Přidat > místní složku a vyberte složku místních modelů, do které jste uložili soubory modelu.
Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných v Centru IoT.
Klikněte na ID zařízení, které jste vytvořili dříve.
Nabídka vlevo zobrazuje různé typy informací, které jsou pro zařízení k dispozici.
Výběrem komponent ioT technologie Plug and Play zobrazíte informace o modelu pro vaše zařízení.
Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další. Vyberte komponentu, se kterými chcete pracovat.
Vyberte stránku Telemetry (Telemetry) a pak výběrem možnosti Start (Start) zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.
Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.
Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete aktualizovat pro tuto komponentu.
Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.
Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .
Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.
Vyberte příkaz, který chcete otestovat, pokud existuje parametr. Výběrem příkazu Odeslat zavoláte příkaz na zařízení. Zařízení reaguje na příkaz v okně příkazového řádku, kde je spuštěn ukázkový kód.
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ů.
V tomto kurzu se dozvíte, jak sestavit ukázkovou aplikaci ioT technologie Plug and Play zařízení, připojit ji k centru IoT a pomocí nástroje Azure IoT Explorer zobrazit telemetrii, kterou odesílá. Ukázková aplikace je napsaná pro Python a je součástí sady SDK pro zařízení služby Azure IoT Hub pro Python. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti technologie Plug and Play zařízení IoT, aniž by bylo nutné zobrazit kód zařízení.
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 následujícím způsobem:
pip install azure-iot-device
Naklonujte úložiště IoT sady Python SDK:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
Spuštění ukázkového zařízení
Složka azure-iot-sdk-python/samples/pnp obsahuje ukázkový kód pro zařízení technologie Plug and Play IoT. Tento kurz používá soubor simple_thermostat.py . Tento ukázkový kód implementuje zařízení kompatibilní technologie Plug and Play IoT a používá klientskou knihovnu zařízení Azure IoT Python.
Otevřete soubor simple_thermostat.py v textovém editoru. Všimněte si, jak:
Definuje identifikátor modelu dvojčete zařízení (DTMI), který jedinečně představuje termostat. Rozhraní DTMI musí být známé uživateli a liší se v závislosti na scénáři implementace zařízení. Pro aktuální ukázku model představuje termostat, který má telemetrii, vlastnosti a příkazy přidružené k monitorování teploty.
Obsahuje funkce pro definování implementací obslužné rutiny příkazů. Tyto obslužné rutiny napíšete, abyste definovali, jak zařízení reaguje na požadavky příkazů.
Má funkci pro definování odpovědi příkazu. Vytvoříte funkce odpovědí příkazů pro odeslání odpovědi zpět do centra IoT.
Definuje vstupní funkci naslouchacího procesu klávesnice, která umožňuje ukončit aplikaci.
Má hlavní funkci. Hlavní funkce:
Pomocí sady SDK pro zařízení vytvoří klienta zařízení a připojí se k centru IoT.
Aktualizuje vlastnosti. Model Termostat definuje
targetTemperature
amaxTempSinceLastReboot
jako dvě vlastnosti termostatu. Vlastnosti se aktualizují pomocípatch_twin_reported_properties
metody definované v objektudevice_client
.Začne naslouchat žádostem o příkaz pomocí funkce execute_command_listener . Funkce nastaví naslouchací proces pro naslouchání příkazům přicházejícím ze služby. Když nastavíte naslouchací proces, poskytnete
method_name
,user_command_handler
acreate_user_response_handler
.- Funkce
user_command_handler
definuje, co má zařízení dělat, když obdrží příkaz. - Funkce
create_user_response_handler
vytvoří odpověď, která se odešle do centra IoT, když se příkaz úspěšně spustí. Tuto odpověď můžete zobrazit na portálu.
- Funkce
Začne odesílat telemetrii. Pnp_send_telemetry je definován v souboru pnp_methods.py. Vzorový kód používá smyčku k volání této funkce každých osm sekund.
Zakáže všechny naslouchací procesy a úkoly a existuje smyčka při stisknutí Q nebo q.
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.
Teď, když jste kód viděli, spusťte ukázku pomocí následujícího příkazu:
python simple_thermostat.py
Zobrazí se následující výstup, který označuje, že zařízení odesílá telemetrická data do centra a je teď připravená přijímat příkazy a aktualizace vlastností:
Listening for command requests and property updates
Press Q to quit
Sending telemetry for temperature
Sent message
Při dokončení dalších kroků ponechte ukázku spuštěnou.
Ověření kódu pomocí Azure IoT Exploreru
Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.
Otevřete Průzkumníka Azure IoT.
Pokud jste ještě nepřidali připojení k centru IoT, na stránce IoT Hubs vyberte + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.
Na stránce Nastavení ioT technologie Plug and Play vyberte + Přidat > místní složku a vyberte složku místních modelů, do které jste uložili soubory modelu.
Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných v Centru IoT.
Klikněte na ID zařízení, které jste vytvořili dříve.
Nabídka vlevo zobrazuje různé typy informací, které jsou pro zařízení k dispozici.
Výběrem komponent ioT technologie Plug and Play zobrazíte informace o modelu pro vaše zařízení.
Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další. Vyberte komponentu, se kterými chcete pracovat.
Vyberte stránku Telemetry (Telemetry) a pak výběrem možnosti Start (Start) zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.
Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.
Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete aktualizovat pro tuto komponentu.
Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.
Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .
Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.
Vyberte příkaz, který chcete otestovat, pokud existuje parametr. Výběrem příkazu Odeslat zavoláte příkaz na zařízení. Zařízení reaguje na příkaz v okně příkazového řádku, kde je spuštěn ukázkový kód.
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ů.
Pokud vyvíjíte pro zařízení s omezenými omezeními, můžete použít technologie Plug and Play IoT s:
- Klientská knihovna Azure SDK pro vložené knihovny C IoT
- Eclipse ThreadX..
Tento článek obsahuje odkazy a zdroje informací pro tyto omezené scénáře.
Požadavky
Řada níže uvedených ukázek vyžaduje konkrétní hardwarové zařízení a požadavky se pro každou ukázku liší. Postupujte podle odkazu na příslušnou ukázku s podrobnými požadavky, konfigurací a pokyny k sestavení.
Použití sady SDK pro vložený jazyk C
Sada SDK pro embedded C nabízí jednoduché řešení pro připojení omezených zařízení ke službám Azure IoT, včetně použití konvencí technologie Plug and Play IoT. Následující odkazy obsahují ukázky pro zařízení založená na MCU a pro vzdělávací a ladicí účely.
Použití zařízení založeného na MCU
Kompletní kurz s využitím sady SDK pro vložené C, služby Device Provisioning a IoT technologie Plug and Play v MCU najdete v tématu Repurpose PIC-IoT Wx Development Board pro připojení k Azure prostřednictvím služby IoT Hub Device Provisioning.
Úvodní ukázky
Sada SDK pro vložené úložiště jazyka C obsahuje několik ukázek, které ukazují, jak používat ioT technologie Plug and Play:
Poznámka:
Tyto ukázky se zobrazují ve Windows a Linuxu pro vzdělávací a ladicí účely. V produkčním scénáři jsou ukázky určeny pouze pro omezená zařízení.
Použití Eclipse ThreadX
Eclipse ThreadX obsahuje zjednodušenou vrstvu, která přidává nativní připojení ke cloudovým službám Azure IoT. Tato vrstva poskytuje jednoduchý mechanismus pro připojení omezených zařízení k Azure IoT při používání pokročilých funkcí Eclipse ThreadX. Další informace najdete v přehledu Eclipse ThreadX.
Sady nástrojů
Ukázky Eclipse ThreadX jsou k dispozici s různými druhy kombinací integrovaného vývojového prostředí (IDE) a sady nástrojů, například:
- IAR: Integrované vývojové prostředí workbench IAR
- GCC/CMake: Sestavení nad opensourcovým systémem sestavení CMake a sady nástrojů GNU Arm Embedded
- MCUExpresso: NXP je MCUXpresso IDE
- STM32Cube: STMicroelectronics STM32Cube IDE
- MPLAB: MIKROCHIP MPLAB X IDE
Ukázky
Následující tabulka uvádí ukázky, které ukazují, jak začít na různých zařízeních pomocí Eclipse ThreadX a IoT technologie Plug and Play:
Výrobce | Zařízení | Ukázky |
---|---|---|
Čip | ATSAME54-XPRO | GCC/CMake • IAR • MPLAB |
MXCHIP | AZ3166 | GCC/CMake |
NXP | MIMXRT1060-EVK | GCC/CMake • IAR • MCUXpresso |
STMicroelectronics | 32F746GDISCOVERY | IAR • STM32Cube |
STMicroelectronics | B-L475E-IOT01 | GCC/CMake • IAR • STM32Cube |
STMicroelectronics | B-L4S5I-IOT01 | GCC/CMake • IAR • STM32Cube |
Další kroky
V tomto kurzu jste zjistili, jak připojit zařízení IoT technologie Plug and Play k centru IoT. Další informace o tom, jak vytvořit řešení, které komunikuje s vašimi zařízeními ioT technologie Plug and Play, najdete tady: