Oktatóanyag: Csatlakozás egy linuxos vagy Windows rendszeren futó IoT Plug and Play-eszközalkalmazás mintáját az IoT Hubra

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy minta IoT Plug and Play-eszközalkalmazást, hogyan csatlakoztathatja azt az IoT Hubhoz, és hogyan tekintheti meg az Azure IoT Explorer eszközt az általa küldött telemetriai adatok megtekintéséhez. A mintaalkalmazás C nyelven van megírva, és szerepel a C-hez készült Azure IoT-eszköz SDK-ban. A megoldáskészítők az Azure IoT Explorer eszközzel megismerhetik az IoT Plug and Play-eszközök képességeit anélkül, hogy bármilyen eszközkódot meg kellene tekinteniük.

Kód tallózása

Előfeltételek

A folytatás előtt győződjön meg arról, hogy beállította a környezetét, beleértve az IoT Hubot is.

Ezt az oktatóanyagot Linuxon vagy Windowson is futtathatja. Az oktatóanyagban szereplő rendszerhéjparancsok a ""/ elérési útelválasztók Linux-konvencióját követik, ha a Windowson végig követi őket, mindenképpen cserélje fel ezeket az elválasztókat a következőre: ""\.

Az előfeltételek az operációs rendszertől függően eltérnek:

Linux

Ez az oktatóanyag feltételezi, hogy Ubuntu Linuxot használ. Az oktatóanyag lépéseit az Ubuntu 18.04-ben teszteltük.

Az oktatóanyag Linuxon való elvégzéséhez telepítse a következő szoftvert a helyi Linux-környezetbe:

Telepítse a GCC-t, a Gitet, a cmake-t és az összes szükséges függőséget a apt-get következő paranccsal:

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

Ellenőrizze, hogy a verziószáma cmake meghaladja-e a 2.8.12-es verziót, és hogy a GCC verziója a 4.4.7-esnél magasabb-e.

cmake --version
gcc --version

Windows

Az oktatóanyag Windows rendszeren való elvégzéséhez telepítse a következő szoftvert a helyi Windows-környezetben:

A kód letöltése

Ebben az oktatóanyagban egy fejlesztési környezetet készít elő, a segítségével klónozhat és létrehozhatja az Azure IoT Hub Device C SDK-t.

Nyisson meg egy parancssort a választott könyvtárban. Hajtsa végre a következő parancsot az Azure IoT C SDK-k és -tárak GitHub-adattárának klónozásához erre a helyre:

git clone https://github.com/Azure/azure-iot-sdk-c.git
cd azure-iot-sdk-c
git submodule update --init

A művelet végrehajtása várhatóan több percet vesz igénybe.

A kód létrehozása

A kódot a Visual Studióval vagy cmake a parancssorban hozhatja létre és futtathatja.

A Visual Studio használata

  1. Nyissa meg a klónozott adattár gyökérmappáját. Néhány másodperc elteltével a Visual Studio CMake-támogatása minden szükséges eszközt létrehoz a projekt futtatásához és hibakereséséhez.

  2. Ha a Visual Studio készen áll, a Megoldáskezelő lépjen a minta iothub_client/samples/pnp/pnp_simple_thermostat/.

  3. Kattintson a jobb gombbal a pnp_simple_thermostat.c fájlra, és válassza a Hibakeresési konfiguráció hozzáadása lehetőséget. Válassza az Alapértelmezett lehetőséget.

  4. A Visual Studio megnyitja a launch.vs.json fájlt. Szerkessze ezt a fájlt az alábbi kódrészletben látható módon a szükséges környezeti változók beállításához. Jegyezte fel a hatókör azonosítóját és a regisztrációs elsődleges kulcsot, amikor befejezte a környezet beállítását az IoT Plug and Play gyorsútmutatóihoz és oktatóanyagaihoz:

    {
      "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. Kattintson a jobb gombbal a pnp_simple_thermostat.c fájlra, és válassza a Beállítás indítási elemként lehetőséget.

  6. A Visual Studióban a kódvégrehajtás nyomon követéséhez adjon hozzá egy töréspontot a main függvényhez a pnp_simple_thermostat.c fájlban.

  7. Most már futtathatja és hibakeresésre használhatja a mintát a Hibakeresés menüből.

Az eszköz készen áll a parancsok és a tulajdonságfrissítések fogadására, és megkezdte a telemetriai adatok küldését a központba. A minta futásának fenntartása a következő lépések végrehajtása során.

A kód létrehozása a cmake használatával

A cmake parancssori segédprogrammal hozhatja létre a kódot:

  1. Hozzon létre egy cmake alkönyvtárat az eszköz SDK gyökérmappájában, és keresse meg a mappát:

    cd azure-iot-sdk-c
    mkdir cmake
    cd cmake
    
  2. Futtassa az alábbi parancsokat az SDK és a minták létrehozásához:

    cmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF ..
    cmake --build .
    

Az eszközminta futtatása

A környezet beállításakor négy környezeti változót hozott létre, hogy a mintát úgy konfigurálja, hogy a Device Provisioning Service (DPS) használatával csatlakozzon az IoT Hubhoz:

  • IOTHUB_DEVICE_Standard kiadás CURITY_TYPE az értékkelDPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE a DPS-azonosító hatókörével.
  • IOTHUB_DEVICE_DPS_DEVICE_ID az értékkelmy-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY a regisztrációs elsődleges kulccsal.
  • IOTHUB_DEVICE_DPS_ENDPOINT az értékkelglobal.azure-devices-provisioning.net.

A mintakonfigurációval kapcsolatos további információkért tekintse meg a mintabeolvasást.

A mintaalkalmazás futtatása az SDK-ban, amely egy IoT Plug and Play-eszközt szimulál, telemetriát küld az IoT Hubnak:

A cmake mappából keresse meg a végrehajtható fájlt tartalmazó mappát, és futtassa azt:

# 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

Tipp.

A windowsos Visual Studio kódvégrehajtásának nyomon követéséhez adjon hozzá egy töréspontot a main függvényhez a pnp_simple_thermostat.c fájlban.

Az eszköz készen áll a parancsok és a tulajdonságfrissítések fogadására, és megkezdte a telemetriai adatok küldését a központba. A minta futásának fenntartása a következő lépések végrehajtása során.

Az Azure IoT Explorer használata a kód ellenőrzéséhez

Az eszközügyfél-minta elindítása után az Azure IoT Explorer eszközzel ellenőrizze, hogy működik-e.

  1. Nyissa meg az Azure IoT Explorert.

  2. Az IoT Hubs lapon, ha még nem adott hozzá kapcsolatot az IoT Hubhoz, válassza a + Kapcsolat hozzáadása lehetőséget. Adja meg a korábban létrehozott IoT Hub kapcsolati sztring, és válassza a Mentés lehetőséget.

  3. Az IoT Plug and Play Gépház lapon válassza a + Helyi mappa hozzáadása > lehetőséget, és válassza ki azt a helyi modellmappát, ahová a modellfájlokat mentette.

  4. Az IoT Hubs lapon kattintson a használni kívánt központ nevére. Megjelenik az IoT Hubon regisztrált eszközök listája.

  5. Kattintson a korábban létrehozott eszköz eszközazonosítójára .

  6. A bal oldali menüben az eszközhöz elérhető különböző típusú információk láthatók.

  7. Válassza az IoT Plug and Play-összetevőket az eszköz modelladatainak megtekintéséhez.

  8. Megtekintheti az eszköz különböző összetevőit. Az alapértelmezett összetevő és a továbbiak. Válasszon ki egy összetevőt, amellyel dolgozni szeretne.

  9. Válassza a Telemetriai lapot, majd a Start gombra kattintva megtekintheti az eszköz által az összetevőhöz küldött telemetriai adatokat.

  10. Válassza a Tulajdonságok (írásvédett) lapot az összetevőhöz jelentett írásvédett tulajdonságok megtekintéséhez.

  11. Válassza a Tulajdonságok (írható) lapot az összetevőhöz frissíthető írható tulajdonságok megtekintéséhez.

  12. Válasszon ki egy tulajdonságot a neve alapján, adjon meg egy új értéket, és válassza a Kívánt érték frissítése lehetőséget.

  13. Az új érték megjelenítéséhez válassza a Frissítés gombot.

  14. Válassza a Parancsok lapot az összetevő összes parancsának megtekintéséhez.

  15. Válassza ki azt a parancsot, amelyet tesztelni szeretne, és ha van ilyen, állítsa be a paramétert. Válassza a Küldés parancsot az eszköz parancsának meghívásához. Az eszköz a parancsra válaszolva jelenik meg a parancssori ablakban, ahol a mintakód fut.

A kód áttekintése

Ez a minta egy egyszerű IoT Plug and Play termosztát-eszközt implementál. A termosztátmodell nem használ IoT Plug and Play-összetevőket. A termosztát-eszköz DTDL-modellfájlja határozza meg az eszköz által implementált telemetriát, tulajdonságokat és parancsokat.

Az eszközkód a standard függvénnyel csatlakozik az IoT Hubhoz:

deviceHandle = IoTHubDeviceClient_CreateFromConnectionString(connectionString, MQTT_Protocol)

Az eszköz elküldi a kapcsolatkérésben implementált DTDL-modell modellazonosítóját. A modellazonosítót küldő eszköz egy IoT Plug and Play-eszköz:

static const char g_ModelId[] = "dtmi:com:example:Thermostat;1";

...

IoTHubDeviceClient_SetOption(deviceHandle, OPTION_MODEL_ID, modelId)

A tulajdonságokat frissítéseket, parancsokat kezelő és telemetriai adatokat küldő kód megegyezik az IoT Plug and Play-konvenciót nem használó eszközök kódjának kódjaival.

A kód a Parson-kódtár használatával elemzi az IoT Hubról küldött hasznos adatok JSON-objektumait:

// JSON parser
#include "parson.h"

Az erőforrások eltávolítása

Ha végzett a rövid útmutatókkal és az oktatóanyagokkal, tekintse meg az erőforrások megtisztítása című témakört.

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy minta IoT Plug and Play-eszközalkalmazást, hogyan csatlakoztathatja azt az IoT Hubhoz, és hogyan tekintheti meg az Azure IoT Explorer eszközt az általa küldött telemetriai adatok megtekintéséhez. A mintaalkalmazás C# nyelven van megírva, és a C#-hoz készült Azure IoT SDK része. A megoldáskészítők az Azure IoT Explorer eszközzel megismerhetik az IoT Plug and Play-eszközök képességeit anélkül, hogy bármilyen eszközkódot meg kellene tekinteniük.

Kód tallózása

Előfeltételek

A folytatás előtt győződjön meg arról, hogy beállította a környezetét, beleértve az IoT Hubot is.

Ezt az oktatóanyagot Linuxon vagy Windowson is futtathatja. Az oktatóanyagban szereplő rendszerhéjparancsok a ""/ elérési útelválasztók Linux-konvencióját követik, ha a Windowson végig követi őket, mindenképpen cserélje fel ezeket az elválasztókat a következőre: ""\.

A kód letöltése

Ebben az oktatóanyagban egy fejlesztési környezetet készít, a segítségével klónozhatja és létrehozhatja az Azure IoT SDK for C#-adattárat.

Nyisson meg egy parancssort egy tetszőleges mappában. Futtassa a következő parancsot a Microsoft Azure IoT SDK for C# (.NET) GitHub-adattár ezen a helyen való klónozásához:

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

A kód létrehozása

Most már létrehozhatja és futtathatja a mintát. A minta létrehozásához futtassa a következő parancsokat:

cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/Thermostat
dotnet build

Az eszközminta futtatása

A minta futtatásához futtassa a következő parancsot:

dotnet run

Az eszköz készen áll a parancsok és a tulajdonságfrissítések fogadására, és megkezdte a telemetriai adatok küldését a központba. A minta futásának fenntartása a következő lépések végrehajtása során.

Az Azure IoT Explorer használata a kód ellenőrzéséhez

Az eszközügyfél-minta elindítása után az Azure IoT Explorer eszközzel ellenőrizze, hogy működik-e.

  1. Nyissa meg az Azure IoT Explorert.

  2. Az IoT Hubs lapon, ha még nem adott hozzá kapcsolatot az IoT Hubhoz, válassza a + Kapcsolat hozzáadása lehetőséget. Adja meg a korábban létrehozott IoT Hub kapcsolati sztring, és válassza a Mentés lehetőséget.

  3. Az IoT Plug and Play Gépház lapon válassza a + Helyi mappa hozzáadása > lehetőséget, és válassza ki azt a helyi modellmappát, ahová a modellfájlokat mentette.

  4. Az IoT Hubs lapon kattintson a használni kívánt központ nevére. Megjelenik az IoT Hubon regisztrált eszközök listája.

  5. Kattintson a korábban létrehozott eszköz eszközazonosítójára .

  6. A bal oldali menüben az eszközhöz elérhető különböző típusú információk láthatók.

  7. Válassza az IoT Plug and Play-összetevőket az eszköz modelladatainak megtekintéséhez.

  8. Megtekintheti az eszköz különböző összetevőit. Az alapértelmezett összetevő és a továbbiak. Válasszon ki egy összetevőt, amellyel dolgozni szeretne.

  9. Válassza a Telemetriai lapot, majd a Start gombra kattintva megtekintheti az eszköz által az összetevőhöz küldött telemetriai adatokat.

  10. Válassza a Tulajdonságok (írásvédett) lapot az összetevőhöz jelentett írásvédett tulajdonságok megtekintéséhez.

  11. Válassza a Tulajdonságok (írható) lapot az összetevőhöz frissíthető írható tulajdonságok megtekintéséhez.

  12. Válasszon ki egy tulajdonságot a neve alapján, adjon meg egy új értéket, és válassza a Kívánt érték frissítése lehetőséget.

  13. Az új érték megjelenítéséhez válassza a Frissítés gombot.

  14. Válassza a Parancsok lapot az összetevő összes parancsának megtekintéséhez.

  15. Válassza ki azt a parancsot, amelyet tesztelni szeretne, és ha van ilyen, állítsa be a paramétert. Válassza a Küldés parancsot az eszköz parancsának meghívásához. Az eszköz a parancsra válaszolva jelenik meg a parancssori ablakban, ahol a mintakód fut.

A kód áttekintése

Ez a minta egy egyszerű IoT Plug and Play termosztát-eszközt implementál. A minta implementálási modellje nem használ IoT Plug and Play-összetevőket. A termosztátos eszköz Digital Twins definíciós nyelvének (DTDL) modellfájlja határozza meg az eszköz által implementált telemetriát, tulajdonságokat és parancsokat.

Az eszközkód a standard CreateFromConnectionString módszerrel csatlakozik az IoT Hubhoz. Az eszköz elküldi a kapcsolatkérésben implementált DTDL-modell modellazonosítóját. A modellazonosítót küldő eszköz egy IoT Plug and Play-eszköz:

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}.");
  });
}

A modellazonosítót a kód tárolja az alábbi kódrészletben látható módon:

private const string ModelId = "dtmi:com:example:Thermostat;1";

A tulajdonságokat frissítéseket, parancsokat kezelő és telemetriai adatokat küldő kód megegyezik az IoT Plug and Play-konvenciót nem használó eszközök kódjának kódjaival.

A minta egy JSON-kódtár használatával elemzi az IoT Hubról küldött hasznos adatok JSON-objektumait:

using Newtonsoft.Json;

...

DateTime since = JsonConvert.DeserializeObject<DateTime>(request.DataAsJson);

Az erőforrások eltávolítása

Ha végzett a rövid útmutatókkal és az oktatóanyagokkal, tekintse meg az erőforrások megtisztítása című témakört.

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy minta IoT Plug and Play-eszközalkalmazást, hogyan csatlakoztathatja azt az IoT Hubhoz, és hogyan tekintheti meg az Azure IoT Explorer eszközt az általa küldött telemetriai adatok megtekintéséhez. A mintaalkalmazás Java nyelven van megírva, és a Java-hoz készült Azure IoT-eszköz SDK része. A megoldáskészítők az Azure IoT Explorer eszközzel megismerhetik az IoT Plug and Play-eszközök képességeit anélkül, hogy bármilyen eszközkódot meg kellene tekinteniük.

Kód tallózása

Előfeltételek

A folytatás előtt győződjön meg arról, hogy beállította a környezetét, beleértve az IoT Hubot is.

Ezt az oktatóanyagot Linuxon vagy Windowson is futtathatja. Az oktatóanyagban szereplő rendszerhéjparancsok a ""/ elérési útelválasztók Linux-konvencióját követik, ha a Windowson végig követi őket, mindenképpen cserélje fel ezeket az elválasztókat a következőre: ""\.

Az oktatóanyag elvégzéséhez telepítse a következő szoftvert a helyi fejlesztési környezetben:

A kód letöltése

Ebben az oktatóanyagban egy fejlesztési környezetet készít, a segítségével klónozhat és létrehozhatja az Azure IoT Hub Device Java SDK-t.

Nyisson meg egy parancssort a választott könyvtárban. Hajtsa végre a következő parancsot az Azure IoT Java SDK-k és -tárak GitHub-adattárának klónozásához erre a helyre:

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

A kód létrehozása

Keresse meg a termosztátminta gyökérmappáját a klónozott Java SDK-adattárban, és hozza létre:

cd azure-iot-sdk-java/device/iot-device-samples/pnp-device-sample/thermostat-device-sample
mvn clean package

Az eszközminta futtatása

A környezet beállításakor négy környezeti változót hozott létre, hogy a mintát úgy konfigurálja, hogy a Device Provisioning Service (DPS) használatával csatlakozzon az IoT Hubhoz:

  • IOTHUB_DEVICE_Standard kiadás CURITY_TYPE az értékkelDPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE a DPS-azonosító hatókörével.
  • IOTHUB_DEVICE_DPS_DEVICE_ID az értékkelmy-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY a regisztrációs elsődleges kulccsal.
  • IOTHUB_DEVICE_DPS_ENDPOINT az értékkelglobal.azure-devices-provisioning.net.

A mintakonfigurációval kapcsolatos további információkért tekintse meg a mintabeolvasást.

A /device/iot-device-samples/pnp-device-sample/thermostat-device-sample mappából futtassa az alkalmazást:

mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.Thermostat"

Az eszköz készen áll a parancsok és a tulajdonságfrissítések fogadására, és megkezdte a telemetriai adatok küldését a központba. A minta futásának fenntartása a következő lépések végrehajtása során.

Az Azure IoT Explorer használata a kód ellenőrzéséhez

Az eszközügyfél-minta elindítása után az Azure IoT Explorer eszközzel ellenőrizze, hogy működik-e.

  1. Nyissa meg az Azure IoT Explorert.

  2. Az IoT Hubs lapon, ha még nem adott hozzá kapcsolatot az IoT Hubhoz, válassza a + Kapcsolat hozzáadása lehetőséget. Adja meg a korábban létrehozott IoT Hub kapcsolati sztring, és válassza a Mentés lehetőséget.

  3. Az IoT Plug and Play Gépház lapon válassza a + Helyi mappa hozzáadása > lehetőséget, és válassza ki azt a helyi modellmappát, ahová a modellfájlokat mentette.

  4. Az IoT Hubs lapon kattintson a használni kívánt központ nevére. Megjelenik az IoT Hubon regisztrált eszközök listája.

  5. Kattintson a korábban létrehozott eszköz eszközazonosítójára .

  6. A bal oldali menüben az eszközhöz elérhető különböző típusú információk láthatók.

  7. Válassza az IoT Plug and Play-összetevőket az eszköz modelladatainak megtekintéséhez.

  8. Megtekintheti az eszköz különböző összetevőit. Az alapértelmezett összetevő és a továbbiak. Válasszon ki egy összetevőt, amellyel dolgozni szeretne.

  9. Válassza a Telemetriai lapot, majd a Start gombra kattintva megtekintheti az eszköz által az összetevőhöz küldött telemetriai adatokat.

  10. Válassza a Tulajdonságok (írásvédett) lapot az összetevőhöz jelentett írásvédett tulajdonságok megtekintéséhez.

  11. Válassza a Tulajdonságok (írható) lapot az összetevőhöz frissíthető írható tulajdonságok megtekintéséhez.

  12. Válasszon ki egy tulajdonságot a neve alapján, adjon meg egy új értéket, és válassza a Kívánt érték frissítése lehetőséget.

  13. Az új érték megjelenítéséhez válassza a Frissítés gombot.

  14. Válassza a Parancsok lapot az összetevő összes parancsának megtekintéséhez.

  15. Válassza ki azt a parancsot, amelyet tesztelni szeretne, és ha van ilyen, állítsa be a paramétert. Válassza a Küldés parancsot az eszköz parancsának meghívásához. Az eszköz a parancsra válaszolva jelenik meg a parancssori ablakban, ahol a mintakód fut.

A kód áttekintése

Ez a minta egy egyszerű IoT Plug and Play termosztát-eszközt implementál. A minta implementálási modellje nem használ IoT Plug and Play-összetevőket. A termosztát-eszköz DTDL-modellfájlja határozza meg az eszköz által implementált telemetriát, tulajdonságokat és parancsokat.

Az eszközkód a standard DeviceClient osztály használatával csatlakozik az IoT Hubhoz. Az eszköz elküldi a kapcsolatkérésben implementált DTDL-modell modellazonosítóját. A modellazonosítót küldő eszköz egy IoT Plug and Play-eszköz:

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();
}

A modellazonosítót a kód tárolja az alábbi kódrészletben látható módon:

private static final String MODEL_ID = "dtmi:com:example:Thermostat;1";

A tulajdonságokat frissítéseket, parancsokat kezelő és telemetriai adatokat küldő kód megegyezik az IoT Plug and Play-konvenciót nem használó eszközök kódjának kódjaival.

A minta egy JSON-kódtár használatával elemzi az IoT Hubról küldött hasznos adatok JSON-objektumait:

import com.google.gson.Gson;

...

Date since = new Gson().fromJson(jsonRequest, Date.class);

Az erőforrások eltávolítása

Ha végzett a rövid útmutatókkal és az oktatóanyagokkal, tekintse meg az erőforrások megtisztítása című témakört.

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy minta IoT Plug and Play-eszközalkalmazást, hogyan csatlakoztathatja azt az IoT Hubhoz, és hogyan tekintheti meg az Azure IoT Explorer eszközt az általa küldött telemetriai adatok megtekintéséhez. A mintaalkalmazás Node.js van megírva, és az Azure IoT-eszköz SDK Node.js része. A megoldáskészítők az Azure IoT Explorer eszközzel megismerhetik az IoT Plug and Play-eszközök képességeit anélkül, hogy bármilyen eszközkódot meg kellene tekinteniük.

Kód tallózása

Előfeltételek

A folytatás előtt győződjön meg arról, hogy beállította a környezetét, beleértve az IoT Hubot is.

Ezt az oktatóanyagot Linuxon vagy Windowson is futtathatja. Az oktatóanyagban szereplő rendszerhéjparancsok a ""/ elérési útelválasztók Linux-konvencióját követik, ha a Windowson végig követi őket, mindenképpen cserélje fel ezeket az elválasztókat a következőre: ""\.

Az oktatóanyag elvégzéséhez Node.js kell a fejlesztői gépen. A legújabb ajánlott verziót több platformra is letöltheti a nodejs.org.

A Node.js aktuális verzióját a következő paranccsal ellenőrizheti a fejlesztői gépen:

node --version

A kód letöltése

Ebben az oktatóanyagban egy fejlesztési környezetet készít elő, a Node.js az Azure IoT Hub Device SDK klónozásához és létrehozásához.

Nyisson meg egy parancssort a választott könyvtárban. Hajtsa végre a következő parancsot a Microsoft Azure IoT SDK klónozásához Node.js GitHub-adattárhoz erre a helyre:

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

A szükséges kódtárak telepítése

Az eszköz SDK-jával hozza létre a mellékelt mintakódot. A buildelt alkalmazás egy IoT Hubhoz csatlakozó eszközt szimulál. Az alkalmazás telemetriát és tulajdonságokat küld, és parancsokat fogad.

  1. Egy helyi terminálablakban lépjen a klónozott adattár mappájába, és keresse meg az /azure-iot-sdk-node/device/samples/javascript mappát. Ezután futtassa a következő parancsot a szükséges kódtárak telepítéséhez:

    npm install
    

A mintaeszköz futtatása

Ez a minta egy egyszerű IoT Plug and Play termosztát-eszközt implementál. A minta implementálási modellje nem használ IoT Plug and Play-összetevőket. A termosztát-eszköz DTDL-modellfájlja határozza meg az eszköz által implementált telemetriát, tulajdonságokat és parancsokat.

Nyissa meg a pnp_simple_thermostat.js fájlt. Ebben a fájlban a következő lépéseket láthatja:

  1. Importálja a szükséges illesztőket.
  2. Írjon egy tulajdonságfrissítési kezelőt és egy parancskezelőt.
  3. Kezelje a kívánt tulajdonságjavításokat, és küldjön telemetriát.
  4. Ha szükséges, az eszközt az Azure Device Provisioning Service (DPS) használatával építheti ki.

A fő függvényben láthatja, hogyan jön össze az egész:

  1. Hozza létre az eszközt a kapcsolati sztring, vagy hozza létre a DPS használatával.)
  2. A modelID beállítással adja meg az IoT Plug and Play eszközmodellt.
  3. Engedélyezze a parancskezelőt.
  4. Telemetria küldése az eszközről a központba.
  5. Kérje le az ikereszközöket, és frissítse a jelentett tulajdonságokat.
  6. Engedélyezze a kívánt tulajdonságfrissítés-kezelőt.

A környezet beállításakor négy környezeti változót hozott létre, hogy a mintát úgy konfigurálja, hogy a Device Provisioning Service (DPS) használatával csatlakozzon az IoT Hubhoz:

  • IOTHUB_DEVICE_Standard kiadás CURITY_TYPE az értékkelDPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE a DPS-azonosító hatókörével.
  • IOTHUB_DEVICE_DPS_DEVICE_ID az értékkelmy-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY a regisztrációs elsődleges kulccsal.
  • IOTHUB_DEVICE_DPS_ENDPOINT az értékkelglobal.azure-devices-provisioning.net.

A mintakonfigurációval kapcsolatos további információkért tekintse meg a mintabeolvasást.

Futtassa a mintaalkalmazást egy IoT Plug and Play-eszköz szimulálásához, amely telemetriát küld az IoT Hubnak. A mintaalkalmazás futtatásához használja a következő parancsot:

node pnp_simple_thermostat.js

Az alábbi kimenet azt jelzi, hogy az eszköz megkezdte a telemetriai adatok küldését a központba, és készen áll a parancsok és a tulajdonságfrissítések fogadására.

Eszközmegerősítő üzenetek

A minta futásának fenntartása a következő lépések végrehajtása során.

Az Azure IoT Explorer használata a kód ellenőrzéséhez

Az eszközügyfél-minta elindítása után az Azure IoT Explorer eszközzel ellenőrizze, hogy működik-e.

  1. Nyissa meg az Azure IoT Explorert.

  2. Az IoT Hubs lapon, ha még nem adott hozzá kapcsolatot az IoT Hubhoz, válassza a + Kapcsolat hozzáadása lehetőséget. Adja meg a korábban létrehozott IoT Hub kapcsolati sztring, és válassza a Mentés lehetőséget.

  3. Az IoT Plug and Play Gépház lapon válassza a + Helyi mappa hozzáadása > lehetőséget, és válassza ki azt a helyi modellmappát, ahová a modellfájlokat mentette.

  4. Az IoT Hubs lapon kattintson a használni kívánt központ nevére. Megjelenik az IoT Hubon regisztrált eszközök listája.

  5. Kattintson a korábban létrehozott eszköz eszközazonosítójára .

  6. A bal oldali menüben az eszközhöz elérhető különböző típusú információk láthatók.

  7. Válassza az IoT Plug and Play-összetevőket az eszköz modelladatainak megtekintéséhez.

  8. Megtekintheti az eszköz különböző összetevőit. Az alapértelmezett összetevő és a továbbiak. Válasszon ki egy összetevőt, amellyel dolgozni szeretne.

  9. Válassza a Telemetriai lapot, majd a Start gombra kattintva megtekintheti az eszköz által az összetevőhöz küldött telemetriai adatokat.

  10. Válassza a Tulajdonságok (írásvédett) lapot az összetevőhöz jelentett írásvédett tulajdonságok megtekintéséhez.

  11. Válassza a Tulajdonságok (írható) lapot az összetevőhöz frissíthető írható tulajdonságok megtekintéséhez.

  12. Válasszon ki egy tulajdonságot a neve alapján, adjon meg egy új értéket, és válassza a Kívánt érték frissítése lehetőséget.

  13. Az új érték megjelenítéséhez válassza a Frissítés gombot.

  14. Válassza a Parancsok lapot az összetevő összes parancsának megtekintéséhez.

  15. Válassza ki azt a parancsot, amelyet tesztelni szeretne, és ha van ilyen, állítsa be a paramétert. Válassza a Küldés parancsot az eszköz parancsának meghívásához. Az eszköz a parancsra válaszolva jelenik meg a parancssori ablakban, ahol a mintakód fut.

Az erőforrások eltávolítása

Ha végzett a rövid útmutatókkal és az oktatóanyagokkal, tekintse meg az erőforrások megtisztítása című témakört.

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy minta IoT Plug and Play-eszközalkalmazást, hogyan csatlakoztathatja azt az IoT Hubhoz, és hogyan tekintheti meg az Azure IoT Explorer eszközt az általa küldött telemetriai adatok megtekintéséhez. A mintaalkalmazás Pythonhoz készült, és az Azure IoT Hub Device SDK for Python része. A megoldáskészítők az Azure IoT Explorer eszközzel megismerhetik az IoT Plug and Play-eszközök képességeit anélkül, hogy bármilyen eszközkódot meg kellene tekinteniük.

Kód tallózása

Előfeltételek

A folytatás előtt győződjön meg arról, hogy beállította a környezetét, beleértve az IoT Hubot is.

Az oktatóanyag elvégzéséhez telepítenie kell a Pythont a fejlesztői gépen. Tekintse meg az Azure IoT Python SDK aktuális Python-verziókövetelményeit. A Python-verziót a következő paranccsal ellenőrizheti:

python --version

A legújabb ajánlott verziót több platformra is letöltheti a python.org.

A helyi Python-környezetben telepítse a csomagot az alábbiak szerint:

pip install azure-iot-device

Klónozza a Python SDK IoT-adattárat:

git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python

A mintaeszköz futtatása

Az azure-iot-sdk-python/samples/pnp mappa tartalmazza az IoT Plug and Play eszköz mintakódját. Ez az oktatóanyag a simple_thermostat.py fájlt használja. Ez a mintakód egy IoT Plug and Play-kompatibilis eszközt implementál, és az Azure IoT Python-eszköz ügyféloldali kódtárát használja.

Nyissa meg a simple_thermostat.py fájlt egy szövegszerkesztőben. Figyelje meg, hogyan:

  1. Egyetlen ikereszköz-modellazonosítót (DTMI) határoz meg, amely egyedileg jelöli a termosztátot. A DTMI-nek ismertnek kell lennie a felhasználó számára, és az eszköz implementálási forgatókönyvétől függően változik. Az aktuális minta esetében a modell egy olyan termosztátot jelöl, amely telemetriával, tulajdonságokkal és parancsokkal rendelkezik a figyelési hőmérséklethez társítva.

  2. A parancskezelő implementációit definiáló függvényekkel rendelkezik. Ezeket a kezelőket úgy kell megírni, hogy az eszköz hogyan reagáljon a parancskérelmekre.

  3. Van egy függvénye, amely parancsválaszt határoz meg. Parancsválaszfüggvényeket hoz létre, amelyek választ küldenek az IoT Hubnak.

  4. Egy beviteli billentyűzetfigyelő függvényt határoz meg, amely lehetővé teszi az alkalmazásból való kilépést.

  5. Fő függvénye van. A függvény:

    1. Az eszköz SDK használatával hoz létre egy eszközügyfélt, és csatlakozik az IoT Hubhoz.

    2. Frissítések tulajdonságok. A termosztát modell a termosztát két tulajdonságát határozza meg és maxTempSinceLastReboot határozza megtargetTemperature. A tulajdonságok a patch_twin_reported_properties megadott metódussal frissülnek.device_client

    3. A parancskérések figyelése a execute_command_listener függvénnyel kezdődik. A függvény beállít egy "figyelőt" a szolgáltatásból érkező parancsok figyeléséhez. A figyelő beállításakor meg kell adnia egy , user_command_handlerés create_user_response_handler.method_name

      • A user_command_handler függvény határozza meg, hogy mit kell tennie az eszköznek, amikor parancsot kap.
      • A create_user_response_handler függvény létrehoz egy választ, amelyet elküld az IoT Hubnak egy parancs sikeres végrehajtásakor. Ezt a választ a portálon tekintheti meg.
    4. Elkezdi a telemetriai adatok küldését. A pnp_send_telemetry a pnp_methods.py fájlban van definiálva. A mintakód egy ciklus használatával hívja meg ezt a függvényt nyolc másodpercenként.

    5. Letiltja az összes figyelőt és feladatot, és a Q vagy a q billentyű lenyomásakor létezik a hurok.

A környezet beállításakor négy környezeti változót hozott létre, hogy a mintát úgy konfigurálja, hogy a Device Provisioning Service (DPS) használatával csatlakozzon az IoT Hubhoz:

  • IOTHUB_DEVICE_Standard kiadás CURITY_TYPE az értékkelDPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE a DPS-azonosító hatókörével.
  • IOTHUB_DEVICE_DPS_DEVICE_ID az értékkelmy-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY a regisztrációs elsődleges kulccsal.
  • IOTHUB_DEVICE_DPS_ENDPOINT az értékkelglobal.azure-devices-provisioning.net.

A mintakonfigurációval kapcsolatos további információkért tekintse meg a mintabeolvasást.

Most, hogy megismerte a kódot, futtassa a mintát a következő paranccsal:

python simple_thermostat.py

A következő kimenet jelenik meg, amely azt jelzi, hogy az eszköz telemetriai adatokat küld a központnak, és készen áll a parancsok és a tulajdonságfrissítések fogadására:

Listening for command requests and property updates
Press Q to quit
Sending telemetry for temperature
Sent message

A minta futásának fenntartása a következő lépések végrehajtása során.

Az Azure IoT Explorer használata a kód ellenőrzéséhez

Az eszközügyfél-minta elindítása után az Azure IoT Explorer eszközzel ellenőrizze, hogy működik-e.

  1. Nyissa meg az Azure IoT Explorert.

  2. Az IoT Hubs lapon, ha még nem adott hozzá kapcsolatot az IoT Hubhoz, válassza a + Kapcsolat hozzáadása lehetőséget. Adja meg a korábban létrehozott IoT Hub kapcsolati sztring, és válassza a Mentés lehetőséget.

  3. Az IoT Plug and Play Gépház lapon válassza a + Helyi mappa hozzáadása > lehetőséget, és válassza ki azt a helyi modellmappát, ahová a modellfájlokat mentette.

  4. Az IoT Hubs lapon kattintson a használni kívánt központ nevére. Megjelenik az IoT Hubon regisztrált eszközök listája.

  5. Kattintson a korábban létrehozott eszköz eszközazonosítójára .

  6. A bal oldali menüben az eszközhöz elérhető különböző típusú információk láthatók.

  7. Válassza az IoT Plug and Play-összetevőket az eszköz modelladatainak megtekintéséhez.

  8. Megtekintheti az eszköz különböző összetevőit. Az alapértelmezett összetevő és a továbbiak. Válasszon ki egy összetevőt, amellyel dolgozni szeretne.

  9. Válassza a Telemetriai lapot, majd a Start gombra kattintva megtekintheti az eszköz által az összetevőhöz küldött telemetriai adatokat.

  10. Válassza a Tulajdonságok (írásvédett) lapot az összetevőhöz jelentett írásvédett tulajdonságok megtekintéséhez.

  11. Válassza a Tulajdonságok (írható) lapot az összetevőhöz frissíthető írható tulajdonságok megtekintéséhez.

  12. Válasszon ki egy tulajdonságot a neve alapján, adjon meg egy új értéket, és válassza a Kívánt érték frissítése lehetőséget.

  13. Az új érték megjelenítéséhez válassza a Frissítés gombot.

  14. Válassza a Parancsok lapot az összetevő összes parancsának megtekintéséhez.

  15. Válassza ki azt a parancsot, amelyet tesztelni szeretne, és ha van ilyen, állítsa be a paramétert. Válassza a Küldés parancsot az eszköz parancsának meghívásához. Az eszköz a parancsra válaszolva jelenik meg a parancssori ablakban, ahol a mintakód fut.

Az erőforrások eltávolítása

Ha végzett a rövid útmutatókkal és az oktatóanyagokkal, tekintse meg az erőforrások megtisztítása című témakört.

Ha korlátozott eszközökhöz fejleszt, az IoT Plug and Play a következőkkel használható:

Ez a cikk hivatkozásokat és erőforrásokat tartalmaz ezekhez a korlátozott forgatókönyvekhez.

Előfeltételek

Az alábbi minták közül sok konkrét hardvereszközt igényel, és az előfeltételek mindegyik mintához eltérőek. Az előfeltételekre, a konfigurációra és a létrehozásra vonatkozó utasításokért kövesse a megfelelő mintára mutató hivatkozást.

A Beágyazott C SDK használata

Az SDK for Embedded C egy egyszerűsített megoldást kínál a korlátozott eszközök Azure IoT-szolgáltatásokhoz való csatlakoztatására, beleértve az IoT Plug and Play-konvenciók használatát is. Az alábbi hivatkozások az MCU-alapú eszközök mintáit, valamint oktatási és hibakeresési célokat szolgálnak.

MCU-alapú eszköz használata

Az SDK for Embedded C, a Device Provisioning Service és az IoT Plug and Play MCU használatával végzett teljes körű oktatóanyagért tekintse meg a PIC-IoT Wx fejlesztési tanács újbóli felhasználásával Csatlakozás az Azure-ba az IoT Hub Device Provisioning Service-en keresztül.

Bevezető minták

Az SDK for Embedded C-adattár több mintát tartalmaz, amelyek bemutatják az IoT Plug and Play használatát:

Feljegyzés

Ezek a minták oktatási és hibakeresési célokból Windowson és Linuxon futnak. Éles környezetben a minták csak korlátozott eszközökhöz készültek.

Az Eclipse ThreadX használata

Az Eclipse ThreadX egy egyszerűsített réteget tartalmaz, amely natív kapcsolatot biztosít az Azure IoT-felhőszolgáltatásokhoz. Ez a réteg egy egyszerű mechanizmust biztosít a korlátozott eszközök Azure IoT-hez való csatlakoztatásához az Eclipse ThreadX speciális funkcióinak használata közben. További információkért tekintse meg az Eclipse ThreadX áttekintését.

Eszközláncok

Az Eclipse ThreadX-minták különböző IDE- és eszközlánc-kombinációkkal vannak ellátva, például:

Minták

Az alábbi táblázat olyan példákat sorol fel, amelyek bemutatják, hogyan kezdheti el a különböző eszközökön az Eclipse ThreadX és az IoT Plug and Play használatát:

Gyártó Eszköz Minták
Microchip 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

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan csatlakoztathat egy IoT Plug and Play-eszközt egy IoT Hubhoz. Az IoT Plug and Play-eszközökkel interakcióba lépő megoldások készítéséről az alábbiakban olvashat bővebben: