Kurz: Připojení ukázkovou aplikaci ioT technologie Plug and Play zařízení spuštěnou v Linuxu nebo Windows do IoT Hubu

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í.

Procházet kód

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:

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

  1. 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.

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

  3. Klikněte pravým tlačítkem myši 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 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>"
          }
        }
      ]
    }
    
  5. Klikněte pravým tlačítkem myši na soubor pnp_simple_thermostat.c a vyberte Nastavit jako spouštěcí položku.

  6. 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.

  7. 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:

  1. 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
    
  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 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 hodnotouDPS
  • 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.

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

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

  3. Na stránce IoT technologie Plug and Play Nastavení vyberte + Přidat > místní složku a vyberte složku místních modelů, 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 v Centru IoT.

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

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

  7. Výběrem komponent ioT technologie Plug and Play 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ší. Vyberte komponentu, se kterými chcete pracovat.

  9. 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.

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

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

  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, 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í.

Procházet kód

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 "\".

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.

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

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

  3. Na stránce IoT technologie Plug and Play Nastavení vyberte + Přidat > místní složku a vyberte složku místních modelů, 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 v Centru IoT.

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

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

  7. Výběrem komponent ioT technologie Plug and Play 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ší. Vyberte komponentu, se kterými chcete pracovat.

  9. 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.

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

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

  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, 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í.

Procházet kód

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 hodnotouDPS
  • 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.

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

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

  3. Na stránce IoT technologie Plug and Play Nastavení vyberte + Přidat > místní složku a vyberte složku místních modelů, 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 v Centru IoT.

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

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

  7. Výběrem komponent ioT technologie Plug and Play 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ší. Vyberte komponentu, se kterými chcete pracovat.

  9. 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.

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

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

  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, 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í.

Procházet kód

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.

  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é 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:

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

V hlavní funkci uvidíte, jak všechno dohromady:

  1. Vytvořte zařízení z připojovací řetězec nebo ho zřiďte pomocí DPS.)
  2. Pomocí možnosti ID modelu určete model zařízení technologie Plug and Play IoT.
  3. Povolte obslužnou rutinu příkazu.
  4. Odešle 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 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 hodnotouDPS
  • 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í.

Zprávy s potvrzením zařízení

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.

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

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

  3. Na stránce IoT technologie Plug and Play Nastavení vyberte + Přidat > místní složku a vyberte složku místních modelů, 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 v Centru IoT.

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

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

  7. Výběrem komponent ioT technologie Plug and Play 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ší. Vyberte komponentu, se kterými chcete pracovat.

  9. 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.

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

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

  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, 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í.

Procházet kód

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:

  1. 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.

  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 pro definování odpovědi příkazu. Vytvoříte funkce odpovědí příkazů pro odeslání odpovědi zpět do centra IoT.

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

  5. Má hlavní funkci. Hlavní funkce:

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

    2. Aktualizace vlastnosti. Model Termostat 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. Když nastavíte naslouchací proces, poskytnete 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. Vzorový 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 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 hodnotouDPS
  • 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.

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

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

  3. Na stránce IoT technologie Plug and Play Nastavení vyberte + Přidat > místní složku a vyberte složku místních modelů, 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 v Centru IoT.

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

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

  7. Výběrem komponent ioT technologie Plug and Play 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ší. Vyberte komponentu, se kterými chcete pracovat.

  9. 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.

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

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

  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, 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:

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í do Azure prostřednictvím služby IoT Hub Device Provisioning Service.

Ú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:

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
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 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: