Kurz: Připojení ukázkové aplikace zařízení IoT Plug and Play spuštěné v Linuxu nebo Windows k IoT Hub

V tomto kurzu se dozvíte, jak vytvořit ukázkovou IoT Plug and Play aplikaci zařízení, připojit ji ke službě IoT Hub 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 IoT Plug and Play zařízení bez nutnosti zobrazení kódu zařízení.

Procházet kód

Požadavky

Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně centra IoT.

Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí linuxovými konvencemi pro oddělovače cest ./ Pokud postupujete ve Windows, nezapomeňte tyto oddělovače prohodit za .\

Požadavky se liší podle operačního systému:

Linux

Tento kurz předpokládá, že používáte Ubuntu Linux. Kroky v tomto kurzu byly testovány pomocí Ubuntu 18.04.

Pokud chcete absolvovat tento kurz v Linuxu, nainstalujte do místního linuxového prostředí následující software:

Nainstalujte GCC, Git, cmake a všechny požadované závislosti pomocí apt-get příkazu :

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

Ověřte, že verze nástroje cmake je vyšší než 2.8.12 a verze GCC je vyšší než 4.4.7.

cmake --version
gcc --version

Windows

Pokud chcete absolvovat tento kurz ve Windows, nainstalujte do místního prostředí Windows 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í 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ávejte, ž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 z příkazového řádku.

Použití sady Visual Studio

  1. Otevřete kořenovou složku klonovaného úložiště. Po několika sekundách podpora CMake v sadě Visual Studio vytvoří vše, co potřebujete ke spuštění a ladění projektu.

  2. Až bude sada Visual Studio připravená, přejděte v Průzkumník řešení na ukázkovou iothub_client/samples/pnp/pnp_simple_thermostat/.

  3. Klikněte pravým tlačítkem na soubor pnp_simple_thermostat.c a vyberte Přidat konfiguraci ladění. Vyberte Výchozí.

  4. 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 IoT Plug and Play rychlých startů a kurzů 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>"
          }
        }
      ]
    }
    
  5. Klikněte pravým tlačítkem na soubor pnp_simple_thermostat.c a vyberte Nastavit jako položku po spuštění.

  6. Pokud chcete sledovat spuštění kódu v sadě Visual Studio, přidejte do main funkce v souboru pnp_simple_thermostat.c zarážku.

  7. Teď můžete spustit a ladit ukázku z nabídky Ladit .

Zařízení je teď připravené přijímat příkazy a aktualizace vlastností a začalo do centra odesílat telemetrická data. Po dokončení dalších kroků nechte ukázku běžet.

Použití cmake k sestavení kódu

K sestavení kódu použijete nástroj příkazového řádku cmake:

  1. V kořenové složce sady SDK pro zařízení vytvořte podadresář cmake a přejděte do této složky:

    cd azure-iot-sdk-c
    mkdir cmake
    cd cmake
    
  2. 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 části Nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky pro použití služby Device Provisioning Service (DPS) pro připojení k centru IoT:

  • IOTHUB_DEVICE_SECURITY_TYPE s hodnotou DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE s oborem ID služby 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 ukázkové konfiguraci najdete v ukázkovém souboru readme.

Spuštění ukázkové aplikace v sadě SDK, která simuluje IoT Plug and Play zařízení odesílající telemetrii do centra IoT:

Ze složky 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 sledovat spuštění kódu v sadě Visual Studio ve Windows, přidejte do main funkce v souboru pnp_simple_thermostat.c bod přerušení.

Zařízení je teď připravené přijímat příkazy a aktualizace vlastností a začalo do centra odesílat telemetrická data. Po dokončení dalších kroků nechte ukázku běžet.

Použití Azure IoT Exploreru k ověření kódu

Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.

  1. Otevřete Průzkumníka Azure IoT.

  2. Pokud jste ještě nepřidali připojení k centru IoT, vyberte na stránce Centra IoTmožnost + Přidat připojení. Zadejte připojovací řetězec pro centrum IoT, které jste vytvořili dříve, a vyberte Uložit.

  3. Na stránce nastavení IoT Plug and Play vyberte + Přidat > místní složku a vyberte místní složku models, do které jste uložili soubory modelů.

  4. Na stránce Centra IoT klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných ve službě IoT Hub.

  5. Klikněte na ID zařízení , které jste vytvořili dříve.

  6. Nabídka na levé straně zobrazuje různé typy informací, které jsou pro zařízení k dispozici.

  7. Vyberte IoT Plug and Play komponenty a zobrazte informace o modelu pro vaše zařízení.

  8. Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další komponenty. Vyberte komponentu, se kterými chcete pracovat.

  9. Vyberte stránku Telemetrie a pak vyberte Spustit a zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.

  10. Výběrem stránky Vlastnosti (jen pro čtení) zobrazíte vlastnosti jen pro čtení hlášené pro tuto komponentu.

  11. Výběrem stránky Vlastnosti (zapisovatelné) zobrazíte zapisovatelné vlastnosti, které můžete pro tuto komponentu aktualizovat.

  12. Vyberte vlastnost podle názvu, zadejte pro ni novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.

  13. Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .

  14. Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.

  15. Vyberte příkaz, který chcete otestovat, nastavte parametr , pokud existuje. Výběrem možnosti Odeslat příkaz zavolejte příkaz na zařízení. Odpověď zařízení na příkaz uvidíte v okně příkazového řádku, kde je spuštěný ukázkový kód.

Kontrola kódu

Tato ukázka implementuje jednoduché IoT Plug and Play termostatické zařízení. Model termostatu nepoužívá IoT Plug and Play komponenty. Soubor modelu DTDL pro termostatové zařízení definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.

Kód zařízení používá pro připojení k centru IoT standardní funkci:

deviceHandle = IoTHubDeviceClient_CreateFromConnectionString(connectionString, MQTT_Protocol)

Zařízení odešle ID modelu DTDL, který implementuje v požadavku na připojení. Zařízení, které odesílá ID modelu, je IoT Plug and Play zařízení:

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 shodný s kódem pro zařízení, které nepoužívá konvence IoT Plug and Play.

Kód používá knihovnu Parson k parsování 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á zprovoznění a kurzy, projděte si téma Vyčištění prostředků.

V tomto kurzu se dozvíte, jak vytvořit ukázkovou IoT Plug and Play aplikaci zařízení, připojit ji ke službě IoT Hub 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 IoT Plug and Play zařízení bez nutnosti zobrazení kódu zařízení.

Procházet kód

Požadavky

Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně centra IoT.

Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí linuxovými konvencemi pro oddělovače cest./ Pokud postupujete ve Windows, nezapomeňte tyto oddělovače prohodit za .\

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í 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ě GitHubu Microsoft Azure IoT SDK pro C# (.NET):

git clone  https://github.com/Azure/azure-iot-sdk-csharp

Sestavení kódu

Teď můžete ukázku sestavit a spustit. Spuštěním následujících příkazů vytvořte 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čalo do centra odesílat telemetrická data. Po dokončení dalších kroků nechte ukázku spuštěnou.

Použití Azure IoT Exploreru k ověření kódu

Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.

  1. Otevřete Průzkumníka Azure IoT.

  2. Pokud jste ještě nepřidali připojení ke službě IoT Hub, 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.

  3. Na stránce nastavení IoT Plug and Play vyberte + Přidat > místní složku a vyberte složku místní modely, do které jste uložili soubory modelu.

  4. Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných ve službě IoT Hub.

  5. Klikněte na ID zařízení , které jste vytvořili dříve.

  6. Nabídka na levé straně zobrazuje různé typy informací, které jsou pro zařízení k dispozici.

  7. Výběrem IoT Plug and Play komponent zobrazíte informace o modelu pro vaše zařízení.

  8. Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další komponenty. Vyberte komponentu, se kterým chcete pracovat.

  9. Vyberte stránku Telemetrie a pak výběrem možnosti Start zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.

  10. Vyberte stránku Vlastnosti (jen pro čtení) a zobrazte vlastnosti jen pro čtení hlášené pro tuto komponentu.

  11. Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete pro tuto komponentu aktualizovat.

  12. Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.

  13. Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .

  14. Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.

  15. Vyberte příkaz, který chcete otestovat, nastavte parametr ( pokud existuje). Výběrem možnosti Odeslat příkaz zavolejte příkaz na zařízení. V okně příkazového řádku, ve kterém je spuštěný ukázkový kód, uvidíte, jak vaše zařízení reaguje na příkaz.

Kontrola kódu

Tato ukázka implementuje jednoduché IoT Plug and Play termostatové zařízení. Model, který tato ukázka implementuje, nepoužívá IoT Plug and Play komponent. Soubor modelu DTDL (Digital Twins Definition Language) pro zařízení termostatu definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.

Kód zařízení se připojí k centru IoT pomocí standardní CreateFromConnectionString metody. Zařízení odešle ID modelu DTDL, který implementuje v žádosti o připojení. Zařízení, které odesílá ID modelu, je IoT Plug and Play zařízení:

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 stejný jako kód pro zařízení, které nepoužívá IoT Plug and Play konvence.

Ukázka používá knihovnu JSON k analýze objektů JSON v datových částech odeslaných ze služby IoT Hub:

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 vytvořit ukázkovou aplikaci IoT Plug and Play zařízení, připojit ji ke službě IoT Hub 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 IoT Plug and Play zařízení, aniž by bylo nutné zobrazit kód zařízení.

Procházet kód

Požadavky

Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně centra IoT.

Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí linuxovými konvencemi pro oddělovače cest./ Pokud postupujete ve 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 Java SDK pro Azure IoT Hub zařízení.

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 Java pro Azure IoT do tohoto umístění:

git clone https://github.com/Azure/azure-iot-sdk-java.git

Sestavení kódu

V naklonovaném úložišti sady Java SDK přejděte do kořenové složky ukázky termostatu a sestavte ho:

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 části Nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky pro připojení k centru IoT pomocí služby Device Provisioning Service (DPS):

  • IOTHUB_DEVICE_SECURITY_TYPE s hodnotou DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE s oborem ID služby 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 ukázkové konfiguraci najdete v ukázkovém souboru readme.

Ze složky /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čalo do centra odesílat telemetrická data. Po dokončení dalších kroků nechte ukázku spuštěnou.

Použití Azure IoT Exploreru k ověření kódu

Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.

  1. Otevřete Průzkumníka Azure IoT.

  2. Pokud jste ještě nepřidali připojení ke službě IoT Hub, 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.

  3. Na stránce nastavení IoT Plug and Play vyberte + Přidat > místní složku a vyberte složku místní modely, do které jste uložili soubory modelu.

  4. Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných ve službě IoT Hub.

  5. Klikněte na ID zařízení , které jste vytvořili dříve.

  6. Nabídka na levé straně zobrazuje různé typy informací, které jsou pro zařízení k dispozici.

  7. Výběrem IoT Plug and Play komponent zobrazíte informace o modelu pro vaše zařízení.

  8. Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další komponenty. Vyberte komponentu, se kterým chcete pracovat.

  9. Vyberte stránku Telemetrie a pak výběrem možnosti Start zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.

  10. Vyberte stránku Vlastnosti (jen pro čtení) a zobrazte vlastnosti jen pro čtení hlášené pro tuto komponentu.

  11. Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete pro tuto komponentu aktualizovat.

  12. Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.

  13. Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .

  14. Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.

  15. Vyberte příkaz, který chcete otestovat, nastavte parametr ( pokud existuje). Výběrem možnosti Odeslat příkaz zavolejte příkaz na zařízení. V okně příkazového řádku, ve kterém je spuštěný ukázkový kód, uvidíte, jak vaše zařízení reaguje na příkaz.

Kontrola kódu

Tato ukázka implementuje jednoduché IoT Plug and Play termostatové zařízení. Model, který tato ukázka implementuje, nepoužívá IoT Plug and Play komponent. Soubor modelu DTDL pro zařízení termostatu definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.

Kód zařízení používá pro připojení k centru IoT standardní DeviceClient třídu. Zařízení odešle ID modelu DTDL, který implementuje v žádosti o připojení. Zařízení, které odesílá ID modelu, je IoT Plug and Play zařízení:

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 stejný jako kód pro zařízení, které nepoužívá IoT Plug and Play konvence.

Ukázka používá knihovnu JSON k analýze objektů JSON v datových částech odeslaných ze služby IoT Hub:

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 vytvořit ukázkovou aplikaci IoT Plug and Play zařízení, připojit ji ke službě IoT Hub 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 IoT Plug and Play zařízení, aniž by bylo nutné zobrazit kód zařízení.

Procházet kód

Požadavky

Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně centra IoT.

Tento kurz můžete spustit v Linuxu nebo Windows. Příkazy prostředí v tomto kurzu se řídí linuxovými konvencemi pro oddělovače cest./ Pokud postupujete ve 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 AZURE IOT HUB Device SDK 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 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

K sestavení zahrnutého ukázkového kódu použijete sadu SDK zařízení. Aplikace, kterou sestavíte, simuluje zařízení, které se připojuje ke službě IoT Hub. Aplikace odesílá telemetrii a vlastnosti a přijímá příkazy.

  1. 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é IoT Plug and Play termostatové zařízení. Model, který tato ukázka implementuje, nepoužívá IoT Plug and Play komponent. Soubor modelu DTDL pro zařízení termostatu definuje telemetrii, vlastnosti a příkazy, které zařízení implementuje.

Otevřete souborpnp_simple_thermostat.js . V tomto souboru se dozvíte, jak:

  1. Importujte požadovaná rozhraní.
  2. Napište obslužnou rutinu aktualizace vlastnosti a obslužnou rutinu příkazu.
  3. Zpracujte opravy požadovaných vlastností a odesílejte telemetrii.
  4. Volitelně můžete zařízení zřídit pomocí služby Azure Device Provisioning Service (DPS).

V hlavní funkci se můžete podívat, jak to všechno dohromady:

  1. Vytvořte zařízení z připojovacího řetězce nebo ho zřiďte pomocí DPS.)
  2. Pomocí možnosti modelID určete model zařízení IoT Plug and Play.
  3. Povolte obslužnou rutinu příkazu.
  4. Odešlete telemetrii ze zařízení do centra.
  5. Získejte dvojče zařízení a aktualizujte ohlášené vlastnosti.
  6. Povolte obslužnou rutinu aktualizace požadované vlastnosti.

V části Nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky pro připojení k centru IoT pomocí služby Device Provisioning Service (DPS):

  • IOTHUB_DEVICE_SECURITY_TYPE s hodnotou DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE s oborem ID služby 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 ukázkové konfiguraci najdete v ukázkovém souboru readme.

Spusťte ukázkovou aplikaci pro simulaci IoT Plug and Play zařízení, které odesílá telemetrická data 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í.

Potvrzovací zprávy zařízení

Po dokončení dalších kroků nechte ukázku spuštěnou.

Použití Azure IoT Exploreru k ověření kódu

Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.

  1. Otevřete Průzkumníka Azure IoT.

  2. Pokud jste ještě nepřidali připojení ke službě IoT Hub, 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.

  3. Na stránce nastavení IoT Plug and Play vyberte + Přidat > místní složku a vyberte složku místní modely, do které jste uložili soubory modelu.

  4. Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných ve službě IoT Hub.

  5. Klikněte na ID zařízení , které jste vytvořili dříve.

  6. Nabídka na levé straně zobrazuje různé typy informací, které jsou pro zařízení k dispozici.

  7. Výběrem IoT Plug and Play komponent zobrazíte informace o modelu pro vaše zařízení.

  8. Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další komponenty. Vyberte komponentu, se kterým chcete pracovat.

  9. Vyberte stránku Telemetrie a pak výběrem možnosti Start zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.

  10. Vyberte stránku Vlastnosti (jen pro čtení) a zobrazte vlastnosti jen pro čtení hlášené pro tuto komponentu.

  11. Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete pro tuto komponentu aktualizovat.

  12. Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.

  13. Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .

  14. Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.

  15. Vyberte příkaz, který chcete otestovat, nastavte parametr ( pokud existuje). Výběrem možnosti Odeslat příkaz zavolejte příkaz na zařízení. V okně příkazového řádku, ve kterém je spuštěný ukázkový kód, uvidíte, jak vaše zařízení reaguje na příkaz.

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 vytvořit ukázkovou aplikaci IoT Plug and Play zařízení, připojit ji ke službě IoT Hub 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í Azure IoT Hub pro Python. Tvůrce řešení může pomocí nástroje Azure IoT Explorer pochopit možnosti IoT Plug and Play zařízení, aniž by bylo nutné zobrazit kód zařízení.

Procházet kód

Požadavky

Než budete pokračovat, ujistěte se, že jste nastavili prostředí, včetně centra IoT.

K dokončení tohoto kurzu potřebujete Python 3.7 na vývojovém počítači. Nejnovější doporučenou verzi pro více platforem si můžete stáhnout z python.org. Verzi Pythonu můžete zkontrolovat pomocí následujícího příkazu:

python --version

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 a podívejte se na hlavní server:

git clone 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 IoT Plug and Play zařízení. V tomto kurzu se používá soubor simple_thermostat.py . Tento ukázkový kód implementuje IoT Plug and Play kompatibilní zařízení 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 to vypadá:

  1. Definuje identifikátor jednoho modelu dvojčete zařízení (DTMI), který jedinečně představuje termostat. Rozhraní DTMI musí být uživateli známé 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.

  2. 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ů.

  3. Má funkci, která definuje odpověď na příkaz. Vytvoříte funkce odezvy příkazů, které odešlou odpověď zpět do centra IoT.

  4. Definuje funkci naslouchacího procesu vstupní klávesnice, která umožňuje ukončit aplikaci.

  5. hlavní funkci. Hlavní funkce:

    1. Pomocí sady SDK pro zařízení vytvoříte klienta zařízení a připojíte se k centru IoT.

    2. Aktualizace vlastnosti. Model termostatu definuje targetTemperature a maxTempSinceLastReboot jako dvě vlastnosti termostatu. Vlastnosti se aktualizují pomocí patch_twin_reported_properties metody definované v objektu device_client.

    3. 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. Při nastavování naslouchacího procesu zadáte method_name, user_command_handlera create_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.
    4. Začne odesílat telemetrii. Pnp_send_telemetry je definován v souboru pnp_methods.py. Ukázkový kód používá smyčku k volání této funkce každých osm sekund.

    5. Zakáže všechny naslouchací procesy a úkoly a při stisknutí klávesy Q nebo q existuje smyčka.

V části Nastavení prostředí jste vytvořili čtyři proměnné prostředí pro konfiguraci ukázky pro připojení k centru IoT pomocí služby Device Provisioning Service (DPS):

  • IOTHUB_DEVICE_SECURITY_TYPE s hodnotou DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE s oborem ID služby 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 ukázkové konfiguraci najdete v ukázkovém souboru readme.

Teď, když jste viděli kód, 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

Po dokončení dalších kroků nechte ukázku spuštěnou.

Použití Azure IoT Exploreru k ověření kódu

Po spuštění ukázky klienta zařízení pomocí nástroje Azure IoT Explorer ověřte, že funguje.

  1. Otevřete Průzkumníka Azure IoT.

  2. Pokud jste ještě nepřidali připojení ke službě IoT Hub, 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.

  3. Na stránce nastavení IoT Plug and Play vyberte + Přidat > místní složku a vyberte složku místní modely, do které jste uložili soubory modelu.

  4. Na stránce IoT Hubs klikněte na název centra, se kterým chcete pracovat. Zobrazí se seznam zařízení zaregistrovaných ve službě IoT Hub.

  5. Klikněte na ID zařízení , které jste vytvořili dříve.

  6. Nabídka na levé straně zobrazuje různé typy informací, které jsou pro zařízení k dispozici.

  7. Výběrem IoT Plug and Play komponent zobrazíte informace o modelu pro vaše zařízení.

  8. Můžete zobrazit různé součásti zařízení. Výchozí komponenta a všechny další komponenty. Vyberte komponentu, se kterým chcete pracovat.

  9. Vyberte stránku Telemetrie a pak výběrem možnosti Start zobrazte telemetrická data, která zařízení odesílá pro tuto komponentu.

  10. Vyberte stránku Vlastnosti (jen pro čtení) a zobrazte vlastnosti jen pro čtení hlášené pro tuto komponentu.

  11. Vyberte stránku Vlastnosti (zapisovatelné) a zobrazte zapisovatelné vlastnosti, které můžete pro tuto komponentu aktualizovat.

  12. Vyberte vlastnost podle názvu, zadejte novou hodnotu a vyberte Aktualizovat požadovanou hodnotu.

  13. Pokud chcete zobrazit novou hodnotu, vyberte tlačítko Aktualizovat .

  14. Výběrem stránky Příkazy zobrazíte všechny příkazy pro tuto komponentu.

  15. Vyberte příkaz, který chcete otestovat, nastavte parametr ( pokud existuje). Výběrem možnosti Odeslat příkaz zavolejte příkaz na zařízení. V okně příkazového řádku, ve kterém je spuštěný ukázkový kód, uvidíte, jak vaše zařízení reaguje na příkaz.

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 omezená zařízení, můžete použít IoT Plug and Play s:

Tento článek obsahuje odkazy a zdroje informací pro tyto omezené scénáře.

Požadavky

Mnoho níže uvedených ukázek vyžaduje konkrétní hardwarové zařízení a požadavky se pro každou ukázku liší. Podrobné požadavky, konfiguraci a pokyny k sestavení najdete na odkazu na příslušnou ukázku.

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í IoT Plug and Play. 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 Plug and Play na MCU najdete v tématu Změna účelu vývojového panelu PIC-IoT Wx pro připojení k Azure prostřednictvím služby IoT Hub Device Provisioning.

Úvodní ukázky

Úložiště SDK for Embedded C obsahuje několik ukázek, které ukazují, jak používat IoT 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čené jenom pro omezená zařízení.

Použití Azure RTOS

Azure RTOS obsahuje odlehč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žití pokročilých funkcí Azure RTOS. Další informace najdete v tématu Co je Microsoft Azure RTOS.

Toolchains

Ukázky Azure RTOS obsahují různé druhy kombinací integrovaného vývojového prostředí (IDE) a sady nástrojů, například:

Ukázky

Následující tabulka obsahuje ukázky, které ukazují, jak začít na různých zařízeních s Azure RTOS a IoT Plug and Play:

Manufacturer Zařízení Ukázky
Mikročip ATSAME54-XPRO GCC/CMakeIARMPLAB
MXCHIP AZ3166 GCC/CMake
Nxp MIMXRT1060-EVK GCC/CMakeIARMCUXpresso
STMicroelectronics 32F746GDISCOVERY IARSTM32Cube
STMicroelectronics B-L475E-IOT01 GCC/CMakeIARSTM32Cube
STMicroelectronics B-L4S5I-IOT01 GCC/CMakeIARSTM32Cube

Další kroky

V tomto kurzu jste se dozvěděli, jak připojit IoT Plug and Play zařízení ke službě IoT Hub. Další informace o tom, jak vytvořit řešení, které bude pracovat s vašimi IoT Plug and Play zařízeními, najdete tady: