Bagikan melalui


Tutorial: Menghubungkan beberapa aplikasi perangkat komponen IoT Plug and Play yang berjalan di Linux atau Windows ke IoT Hub

Tutorial ini menunjukkan cara membuat sampel aplikasi perangkat Plug and Play IoT dengan komponen, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat informasi yang dikirim ke hub. Aplikasi sampel ditulis dalam C dan disertakan dalam SDK perangkat Azure IoT untuk C. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Telusuri kode

Di tutorial ini, Anda akan:

  • Unduh kode sampel.
  • Bangun kode sampel.
  • Jalankan aplikasi perangkat sampel dan validasi bahwa itu terhubung ke hub IoT Anda.
  • Tinjau kode sumber.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.

Anda dapat menyelesaikan tutorial ini di Linux atau Windows. Perintah shell dalam tutorial ini mengikuti konvensi Linux untuk pemisah jalur '/', jika Anda mengikuti di Windows pastikan untuk menukar pemisah ini dengan '\'.

Prasyarat berbeda menurut sistem operasi:

Linux

Tutorial ini mengasumsikan Anda menggunakan Ubuntu Linux. Langkah-langkah dalam tutorial ini diuji menggunakan Ubuntu 18.04.

Untuk menyelesaikan tutorial ini di Linux, instal perangkat lunak berikut di lingkungan Linux lokal Anda:

PasangGCC, Git, cmake, dan semua dependensi yang diperlukan menggunakan perintah apt-get:

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

Pastikan versi cmake di atas versi 2.8.12 dan versi GCC di atas versi 4.4.7.

cmake --version
gcc --version

Windows

Untuk menyelesaikan tutorial ini di Windows, instal perangkat lunak berikut di lingkungan Windows lokal Anda:

Unduh kode

Jika Anda menyelesaikan Tutorial: Menyambungkan sampel aplikasi perangkat IoT Plug and Play yang berjalan di Linux atau Windows ke IoT Hub (C), Anda telah mengunduh kode.

Dalam tutorial ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk mengkloning dan membangun Azure IoT Hub Device C SDK.

Buka perintah di folder pilihan Anda. Jalankan perintah berikut untuk mengkloning repositori GitHub Azure IoT C SDKs dan Libraries ke lokasi ini:

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

Diperlukan waktu beberapa menit untuk menyelesaikan operasi ini.

Membangun dan menjalankan kode

Anda dapat membuat dan menjalankan kode menggunakan Visual Studio atau cmake di baris perintah.

Gunakan Visual Studio

  1. Masuk ke folder akar repositori kloning Anda. Setelah beberapa detik, dukungan CMake di Visual Studio menciptakan semua yang Anda butuhkan untuk menjalankan dan mendebug proyek.

  2. Saat Visual Studio siap, di Penjelajah Solusi, navigasikan ke sampel iothub_client/samples/pnp/pnp_temperature_controller/.

  3. Klik kanan pada file pnp_temperature_controller.c dan pilih Tambahkan Konfigurasi Debug. Pilih Default.

  4. Visual Studio membuka file launch.vs.json. Edit file ini seperti ditunjukkan dalam cuplikan berikut untuk mengatur variabel lingkungan yang diperlukan. Anda membuat catatan ID lingkup dan pendaftaran kunci primer ketika Anda menyelesaikan Pengaturan lingkungan Anda untuk IoT Plug and Play quickstarts dan tutorial:

    {
      "version": "0.2.1",
      "defaults": {},
      "configurations": [
        {
          "type": "default",
          "project": "iothub_client\\samples\\pnp\\pnp_temperature_controller\\pnp_temperature_controller.c",
          "projectTarget": "",
          "name": "pnp_temperature_controller.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. Klik kanan pada file pnp_temperature_controller.c dan pilih Atur sebagai Item Startup.

  6. Untuk melacak eksekusi kode di Visual Studio, tambahkan titik henti ke fungsi main di file pnp_temperature_controller.c.

  7. Anda sekarang dapat menjalankan dan mendebug sampel dari menu Debug.

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Gunakan cmake di baris perintah

Untuk menyusun sampel:

  1. Buat subfolder cmake di folder akar SDK perangkat kloning, dan navigasi ke folder tersebut:

    cd azure-iot-sdk-c
    mkdir cmake
    cd cmake
    
  2. Jalankan perintah berikut untuk membuat dan menyusun file proyek untuk SDK dan sampel:

    cmake ..
    cmake --build .
    

Di Menyiapkan lingkungan Anda, Anda membuat empat variabel lingkungan guna mengonfigurasi sampel untuk menggunakan Device Provisioning Service (DPS) agar menyambungkan ke IoT Hub:

  • IOTHUB_DEVICE_SECURITY_TYPE dengan nilai DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE dengan cakupan ID DPS.
  • IOTHUB_DEVICE_DPS_DEVICE_ID dengan nilai my-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY dengan kunci utama pendaftaran.
  • IOTHUB_DEVICE_DPS_ENDPOINT dengan nilai global.azure-devices-provisioning.net.

Untuk mempelajari selengkapnya tentang konfigurasi sampel, lihat sampel readme.

Untuk menjalankan sampel:

  1. Dari folder cmake, navigasikan ke folder yang berisi file yang dapat dieksekusi dan jalankan:

    # Bash
    cd iothub_client/samples/pnp/pnp_temperature_controller
    ./pnp_temperature_controller
    
    REM Windows
    cd iothub_client\samples\pnp\pnp_temperature_controller\Debug
    pnp_temperature_controller.exe
    

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Menggunakan penjelajah Azure IoT untuk memvalidasi kode

Setelah sampel perangkat klien dimulai, gunakan alat penjelajah Azure IoT untuk memverifikasi bahwa itu berfungsi.

  1. Buka explorer IoT Azure.

  2. Pada halaman hub IoT, jika Anda belum menambahkan koneksi ke hub IoT, pilih +Tambahkan koneksi. Masukkan string koneksi untuk hub IoT yang Anda buat sebelumnya dan pilih Simpan.

  3. Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.

  4. Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.

  5. Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.

  6. Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.

  7. Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.

  8. Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.

  9. Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.

  10. Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.

  11. Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.

  12. Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.

  13. Untuk melihat nilai baru muncul pilih tombol Refresh.

  14. Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.

  15. Pilih perintah yang ingin Anda uji, atur parameternya jika ada. Pilih Kirim perintah untuk memanggil perintah di perangkat. Anda dapat melihat perangkat merespons perintah di jendela wantian perintah tempat kode sampel berjalan.

Mengulas kode

Sampel ini menerapkan perangkat pengontrol suhu Plug and Play IoT. Sampel ini mengimplementasikan model dengan beberapa komponen. File model Digital Twins Definition Language (DTDL) untuk perangkat suhu menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Fungsi pembantu IoT Plug and Play

Untuk sampel ini, kode menggunakan beberapa fungsi pembantu dari folder /common:

pnp_device_client_ll berisi metode sambungkan untuk IoT Plug and Play dengan model-id disertakan sebagai parameter: PnP_CreateDeviceClientLLHandle.

pnp_protocol: berisi fungsi pembantu IoT Plug and Play:

  • PnP_CreateReportedProperty
  • PnP_CreateReportedPropertyWithStatus
  • PnP_ParseCommandName
  • PnP_CreateTelemetryMessageHandle
  • PnP_ProcessTwinData
  • PnP_CopyPayloadToString
  • PnP_CreateDeviceClientLLHandle_ViaDps

Fungsi pembantu ini cukup umum untuk digunakan dalam proyek Anda sendiri. Sampel ini menggunakannya dalam tiga file yang sesuai dengan setiap komponen dalam model:

  • pnp_deviceinfo_component
  • pnp_temperature_controller
  • pnp_thermostat_component

Misalnya, dalam file pnp_deviceinfo_component, fungsi SendReportedPropertyForDeviceInformation menggunakan dua fungsi pembantu:

if ((jsonToSend = PnP_CreateReportedProperty(componentName, propertyName, propertyValue)) == NULL)
{
    LogError("Unable to build reported property response for propertyName=%s, propertyValue=%s", propertyName, propertyValue);
}
else
{
    const char* jsonToSendStr = STRING_c_str(jsonToSend);
    size_t jsonToSendStrLen = strlen(jsonToSendStr);

    if ((iothubClientResult = IoTHubDeviceClient_LL_SendReportedState(deviceClientLL, (const unsigned char*)jsonToSendStr, jsonToSendStrLen, NULL, NULL)) != IOTHUB_CLIENT_OK)
    {
        LogError("Unable to send reported state for property=%s, error=%d", propertyName, iothubClientResult);
    }
    else
    {
        LogInfo("Sending device information property to IoTHub.  propertyName=%s, propertyValue=%s", propertyName, propertyValue);
    }
}

Setiap komponen dalam sampel mengikuti pola ini.

Alur kode

Fungsi main menginisialisasi koneksi dan mengirim ID model:

deviceClient = CreateDeviceClientAndAllocateComponents();

Kode ini digunakan PnP_CreateDeviceClientLLHandle untuk menyambungkan ke hub IoT, mengatur modelId sebagai opsi, dan mengatur metode perangkat dan penangan panggilan balik kembar perangkat untuk metode langsung dan pembaruan kembar perangkat:

g_pnpDeviceConfiguration.deviceMethodCallback = PnP_TempControlComponent_DeviceMethodCallback;
g_pnpDeviceConfiguration.deviceTwinCallback = PnP_TempControlComponent_DeviceTwinCallback;
g_pnpDeviceConfiguration.modelId = g_temperatureControllerModelId;
...

deviceClient = PnP_CreateDeviceClientLLHandle(&g_pnpDeviceConfiguration);

&g_pnpDeviceConfiguration juga berisi informasi koneksi. Variabel lingkungan IOTHUB_DEVICE_SECURITY_TYPE menentukan apakah sampel menggunakan string koneksi atau layanan provisi perangkat untuk tersambung ke hub IoT.

Ketika perangkat mengirim ID model, perangkat tersebut menjadi perangkat IoT Plug and Play.

Dengan penangan panggilan balik di tempat, perangkat bereaksi terhadap pembaruan kembar dan panggilan metode langsung:

  • Untuk panggilan balik kembar perangkat, PnP_TempControlComponent_DeviceTwinCallback memanggil fungsi PnP_ProcessTwinData untuk memproses data. PnP_ProcessTwinData menggunakan pola pengunjung untuk menguraikan JSON dan kemudian mengunjungi setiap properti, memanggil setiap elemen PnP_TempControlComponent_ApplicationPropertyCallback.

  • Untuk perintah panggilan balik, fungsi PnP_TempControlComponent_DeviceMethodCallback menggunakan fungsi pembantu untuk menguraikan nama perintah dan komponen:

    PnP_ParseCommandName(methodName, &componentName, &componentNameSize, &pnpCommandName);
    

    Fungsi PnP_TempControlComponent_DeviceMethodCallback kemudian memanggil perintah pada komponen:

    LogInfo("Received PnP command for component=%.*s, command=%s", (int)componentNameSize, componentName, pnpCommandName);
    if (strncmp((const char*)componentName, g_thermostatComponent1Name, g_thermostatComponent1Size) == 0)
    {
        result = PnP_ThermostatComponent_ProcessCommand(g_thermostatHandle1, pnpCommandName, rootValue, response, responseSize);
    }
    else if (strncmp((const char*)componentName, g_thermostatComponent2Name, g_thermostatComponent2Size) == 0)
    {
        result = PnP_ThermostatComponent_ProcessCommand(g_thermostatHandle2, pnpCommandName, rootValue, response, responseSize);
    }
    else
    {
        LogError("PnP component=%.*s is not supported by TemperatureController", (int)componentNameSize, componentName);
        result = PNP_STATUS_NOT_FOUND;
    }
    

Fungsi main ini menginisialisasi properti baca-saja yang dikirim ke hub IoT:

PnP_TempControlComponent_ReportSerialNumber_Property(deviceClient);
PnP_DeviceInfoComponent_Report_All_Properties(g_deviceInfoComponentName, deviceClient);
PnP_TempControlComponent_Report_MaxTempSinceLastReboot_Property(g_thermostatHandle1, deviceClient);
PnP_TempControlComponent_Report_MaxTempSinceLastReboot_Property(g_thermostatHandle2, deviceClient);

Fungsi main ini memasukkan perulangan untuk memperbarui data peristiwa dan telemetri untuk setiap komponen:

while (true)
{
    PnP_TempControlComponent_SendWorkingSet(deviceClient);
    PnP_ThermostatComponent_SendTelemetry(g_thermostatHandle1, deviceClient);
    PnP_ThermostatComponent_SendTelemetry(g_thermostatHandle2, deviceClient);
}

Fungsi PnP_ThermostatComponent_SendTelemetry ini menunjukkan kepada Anda cara menggunakan struct PNP_THERMOSTAT_COMPONENT. Sampel menggunakan struct ini untuk menyimpan informasi tentang dua termostat dalam pengontrol suhu. Kode menggunakan fungsi PnP_CreateTelemetryMessageHandle untuk menyiapkan pesan dan mengirimkannya:

messageHandle = PnP_CreateTelemetryMessageHandle(pnpThermostatComponent->componentName, temperatureStringBuffer);
...
iothubResult = IoTHubDeviceClient_LL_SendEventAsync(deviceClientLL, messageHandle, NULL, NULL);

Fungsi main ini akhirnya menghancurkan komponen yang berbeda dan menutup koneksi ke hub.

Tutorial ini menunjukkan cara membuat sampel aplikasi perangkat Plug and Play IoT dengan komponen, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat informasi yang dikirim ke hub. Aplikasi sampel ditulis dalam C# dan disertakan dalam SDK perangkat Azure IoT untuk C#. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Telusuri kode

Di tutorial ini, Anda akan:

  • Unduh kode sampel.
  • Bangun kode sampel.
  • Jalankan aplikasi perangkat sampel dan validasi bahwa itu terhubung ke hub IoT Anda.
  • Tinjau kode sumber.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.

Anda dapat menjalankan tutorial ini di Linux atau Windows. Perintah shell dalam tutorial ini mengikuti konvensi Linux untuk pemisah jalur '/', jika Anda mengikuti di Windows pastikan untuk menukar pemisah ini dengan '\'.

Mengkloning repositori SDK dengan kode sampel

Jika Anda menyelesaikan Tutorial: Menyambungkan sampel aplikasi perangkat IoT Plug and Play yang berjalan di Windows ke Azure IoT Hub (C#), Anda telah mengkloning repositori.

Kloning sampel dari Sampel Azure IoT untuk repositori C# GitHub. Buka perintah di folder pilihan Anda. Jalankan perintah berikut untuk mengkloning repositori GitHub Microsoft Azure IoT SDK for .NET :

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

Bangun kode

Anda sekarang dapat membangun sampel dan menjalankannya. Jalankan perintah berikut untuk membuat sampel:

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

Menjalankan sampel perangkat

Untuk menjalankan sampel, jalankan perintah berikut:

dotnet run

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Menggunakan penjelajah Azure IoT untuk memvalidasi kode

Setelah sampel perangkat klien dimulai, gunakan alat penjelajah Azure IoT untuk memverifikasi bahwa itu berfungsi.

  1. Buka explorer IoT Azure.

  2. Pada halaman hub IoT, jika Anda belum menambahkan koneksi ke hub IoT, pilih +Tambahkan koneksi. Masukkan string koneksi untuk hub IoT yang Anda buat sebelumnya dan pilih Simpan.

  3. Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.

  4. Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.

  5. Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.

  6. Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.

  7. Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.

  8. Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.

  9. Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.

  10. Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.

  11. Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.

  12. Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.

  13. Untuk melihat nilai baru muncul pilih tombol Refresh.

  14. Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.

  15. Pilih perintah yang ingin Anda uji, atur parameternya jika ada. Pilih Kirim perintah untuk memanggil perintah di perangkat. Anda dapat melihat perangkat merespons perintah di jendela wantian perintah tempat kode sampel berjalan.

Mengulas kode

Sampel ini menerapkan perangkat pengontrol suhu Plug and Play IoT. Model yang diterapkan sampel ini menggunakan beberapa komponen. File model Digital Twins Definition Language (DTDL) untuk perangkat suhu menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Kode perangkat terhubung ke hub IoT Anda menggunakan metode CreateFromConnectionString standar. Perangkat mengirimkan ID model dari model DTDL yang diterapkannya dalam permintaan koneksi. Perangkat yang mengirim ID model adalah perangkat IoT Plug and Play:

private static DeviceClient InitializeDeviceClient(string hostname, IAuthenticationMethod authenticationMethod)
{
    var options = new ClientOptions
    {
        ModelId = ModelId,
    };

    var deviceClient = DeviceClient.Create(hostname, authenticationMethod, TransportType.Mqtt, options);
    deviceClient.SetConnectionStatusChangesHandler((status, reason) =>
    {
        s_logger.LogDebug($"Connection status change registered - status={status}, reason={reason}.");
    });

    return deviceClient;
}

ID model disimpan dalam kode seperti yang ditunjukkan dalam cuplikan berikut:

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

Setelah perangkat tersambung ke hub IoT Anda, kode mendaftarkan penangan perintah. Perintah reboot didefinisikan dalam komponen default. Perintah getMaxMinReport didefinisikan dalam masing-masing dari dua komponen termostat:

await _deviceClient.SetMethodHandlerAsync("reboot", HandleRebootCommandAsync, _deviceClient, cancellationToken);
await _deviceClient.SetMethodHandlerAsync("thermostat1*getMaxMinReport", HandleMaxMinReportCommandAsync, Thermostat1, cancellationToken);
await _deviceClient.SetMethodHandlerAsync("thermostat2*getMaxMinReport", HandleMaxMinReportCommandAsync, Thermostat2, cancellationToken);

Ada penangan terpisah untuk pembaruan properti yang diinginkan pada dua komponen termostat:

_desiredPropertyUpdateCallbacks.Add(Thermostat1, TargetTemperatureUpdateCallbackAsync);
_desiredPropertyUpdateCallbacks.Add(Thermostat2, TargetTemperatureUpdateCallbackAsync);

Kode sampel mengirimkan telemetri dari setiap komponen termostat:

await SendTemperatureAsync(Thermostat1, cancellationToken);
await SendTemperatureAsync(Thermostat2, cancellationToken);

Metode SendTemperatureTelemetryAsync ini menggunakan kelas PnpHelper untuk membuat pesan untuk setiap komponen:

using Message msg = PnpHelper.CreateIothubMessageUtf8(telemetryName, JsonConvert.SerializeObject(currentTemperature), componentName);

Kelas PnpHelper berisi metode sampel lain yang dapat Anda gunakan dengan model beberapa komponen.

Gunakan alat penjelajah Azure IoT untuk melihat telemetri dan properti dari dua komponen termostat:

Perangkat beberapa komponen di penjelajah Azure IoT

Anda juga dapat menggunakan alat penjelajah Azure IoT untuk memanggil perintah di salah satu dari dua komponen termostat, atau di komponen default.

Tutorial ini menunjukkan cara membuat sampel aplikasi perangkat Plug and Play IoT dengan komponen, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat informasi yang dikirim ke hub. Aplikasi sampel ditulis dalam Java dan disertakan dalam SDK perangkat Azure IoT untuk Java. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Telusuri kode

Di tutorial ini, Anda akan:

  • Unduh kode sampel.
  • Bangun kode sampel.
  • Jalankan aplikasi perangkat sampel dan validasi bahwa itu terhubung ke hub IoT Anda.
  • Tinjau kode sumber.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.

Anda dapat menjalankan tutorial ini di Linux atau Windows. Perintah shell dalam tutorial ini mengikuti konvensi Linux untuk pemisah jalur '/', jika Anda mengikuti di Windows pastikan untuk menukar pemisah ini dengan '\'.

Untuk menyelesaikan tutorial ini, instal perangkat lunak berikut di lingkungan pengembangan lokal Anda:

Unduh kode

Jika Anda menyelesaikan Tutorial: Menyambungkan sampel aplikasi perangkat IoT Plug and Play ke IoT Hub (Java), Anda telah mengkloning repositori.

Buka perintah di direktori pilihan Anda. Jalankan perintah berikut untuk mengklon repositori GitHub Azure IoT Java SDK and Library ke lokasi ini:

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

Diperlukan waktu beberapa menit untuk menyelesaikan operasi ini.

Bangun kode

Navigasi ke folder akar sampel pengontrol suhu di repositori Java SDK kloning dan buat:

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

Menjalankan sampel perangkat

Di Menyiapkan lingkungan Anda, Anda membuat empat variabel lingkungan guna mengonfigurasi sampel untuk menggunakan Device Provisioning Service (DPS) agar menyambungkan ke IoT Hub:

  • IOTHUB_DEVICE_SECURITY_TYPE dengan nilai DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE dengan cakupan ID DPS.
  • IOTHUB_DEVICE_DPS_DEVICE_ID dengan nilai my-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY dengan kunci utama pendaftaran.
  • IOTHUB_DEVICE_DPS_ENDPOINT dengan nilai global.azure-devices-provisioning.net.

Untuk menjalankan aplikasi sampel, navigasikan ke folder /device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample dan jalankan perintah berikut:

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

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Menggunakan penjelajah Azure IoT untuk memvalidasi kode

Setelah sampel perangkat klien dimulai, gunakan alat penjelajah Azure IoT untuk memverifikasi bahwa itu berfungsi.

  1. Buka explorer IoT Azure.

  2. Pada halaman hub IoT, jika Anda belum menambahkan koneksi ke hub IoT, pilih +Tambahkan koneksi. Masukkan string koneksi untuk hub IoT yang Anda buat sebelumnya dan pilih Simpan.

  3. Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.

  4. Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.

  5. Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.

  6. Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.

  7. Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.

  8. Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.

  9. Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.

  10. Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.

  11. Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.

  12. Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.

  13. Untuk melihat nilai baru muncul pilih tombol Refresh.

  14. Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.

  15. Pilih perintah yang ingin Anda uji, atur parameternya jika ada. Pilih Kirim perintah untuk memanggil perintah di perangkat. Anda dapat melihat perangkat merespons perintah di jendela wantian perintah tempat kode sampel berjalan.

Mengulas kode

Sampel ini menerapkan perangkat pengontrol suhu Plug and Play IoT. Model yang diterapkan sampel ini menggunakan beberapa komponen. File model Digital Twins Definition Language (DTDL) untuk perangkat suhu menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Kode perangkat menggunakan kelas DeviceClient standar untuk tersambung ke IoT hub Anda. Perangkat mengirimkan ID model dari model DTDL yang diterapkannya dalam permintaan koneksi. Perangkat yang mengirim ID model adalah perangkat IoT 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 model disimpan dalam kode seperti yang ditunjukkan dalam cuplikan berikut:

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

Setelah perangkat tersambung ke hub IoT Anda, kode mendaftarkan penangan perintah.

deviceClient.subscribeToDeviceMethod(new MethodCallback(), null, new MethodIotHubEventCallback(), null);

Ada penangan terpisah untuk pembaruan properti yang diinginkan pada dua komponen termostat:

deviceClient.startDeviceTwin(new TwinIotHubEventCallback(), null, new GenericPropertyUpdateCallback(), null);
Map<Property, Pair<TwinPropertyCallBack, Object>> desiredPropertyUpdateCallback = Stream.of(
        new AbstractMap.SimpleEntry<Property, Pair<TwinPropertyCallBack, Object>>(
                new Property(THERMOSTAT_1, null),
                new Pair<>(new TargetTemperatureUpdateCallback(), THERMOSTAT_1)),
        new AbstractMap.SimpleEntry<Property, Pair<TwinPropertyCallBack, Object>>(
                new Property(THERMOSTAT_2, null),
                new Pair<>(new TargetTemperatureUpdateCallback(), THERMOSTAT_2))
).collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey, AbstractMap.SimpleEntry::getValue));

deviceClient.subscribeToTwinDesiredProperties(desiredPropertyUpdateCallback);

Kode sampel mengirimkan telemetri dari setiap komponen termostat:

sendTemperatureReading(THERMOSTAT_1);
sendTemperatureReading(THERMOSTAT_2);

Metode sendTemperatureReading ini menggunakan kelas PnpHelper untuk membuat pesan untuk setiap komponen:

Message message = PnpHelper.createIotHubMessageUtf8(telemetryName, currentTemperature, componentName);

Kelas PnpHelper berisi metode sampel lain yang dapat Anda gunakan dengan model beberapa komponen.

Gunakan alat penjelajah Azure IoT untuk melihat telemetri dan properti dari dua komponen termostat:

Perangkat beberapa komponen di penjelajah Azure IoT

Anda juga dapat menggunakan alat penjelajah Azure IoT untuk memanggil perintah di salah satu dari dua komponen termostat, atau di komponen default.

Tutorial ini menunjukkan cara membuat sampel aplikasi perangkat Plug and Play IoT dengan komponen, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat informasi yang dikirim ke hub. Aplikasi sampel ditulis untuk Node.js dan disertakan dalam SDK Perangkat Azure IoT Hub untuk Node.js. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Telusuri kode

Di tutorial ini, Anda akan:

  • Unduh kode sampel.
  • Jalankan aplikasi perangkat sampel dan validasi bahwa itu terhubung ke hub IoT Anda.
  • Tinjau kode sumber.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.

Untuk menyelesaikan tutorial ini, Anda memerlukan Node.js di komputer pengembangan Anda. Anda dapat mengunduh versi terbaru yang direkomendasikan untuk beberapa platform dari nodejs.org.

Anda dapat memverifikasi versi Node.js saat ini di komputer pengembangan Anda menggunakan perintah berikut:

node --version

Unduh kode

Jika Anda menyelesaikan Tutorial: Menyambungkan sampel aplikasi perangkat IoT Plug and Play yang berjalan di Windows ke IoT Hub (Node), Anda telah mengkloning repositori.

Buka perintah di direktori pilihan Anda. Jalankan perintah berikut untuk mengkloning repositori GitHub Microsoft Azure IoT SDK untuk Node.js ke lokasi ini:

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

Instal pustaka yang diperlukan

Anda menggunakan SDK perangkat untuk membuat kode sampel yang disertakan. Aplikasi yang Anda buat mensimulasikan perangkat Plug and Play dengan beberapa komponen yang terhubung ke hub IoT. Aplikasi mengirim telemetri dan properti dan menerima perintah.

  1. Di jendela terminal lokal, buka folder repositori dikloning dan navigasikan ke folder /azure-iot-sdk-node/device/samples/javascript. Kemudian jalankan perintah berikut untuk menginstal pustaka yang diperlukan:
npm install

Perintah ini menginstal file npm yang relevan yang diperlukan untuk menjalankan sampel di folder.

Mengulas kode

Navigasi ke folder azure-iot-sdk-node/device/samples/javascript .

Folder azure-iot-sdk-node/device/samples/javascript berisi kode sampel untuk perangkat pengontrol suhu IoT Plug and Play.

Kode dalam file pnp_temperature_controller.js mengimplementasikan perangkat pengontrol suhu IoT Plug and Play. Model yang diterapkan sampel ini menggunakan beberapa komponen. File model Digital Twins Definition Language (DTDL) untuk perangkat suhu menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Buka file pnp_temperature_controller.js di editor kode pilihan Anda. Kode sampel menunjukkan cara:

  • modelId Tentukan DTMI untuk perangkat yang Anda terapkan. DTMI ini ditentukan pengguna dan harus cocok dengan DTMI dari model DTDL pengontrol suhu.

  • Menerapkan komponen yang ditentukan dalam model DTDL pengontrol suhu. Komponen dalam pengontrol suhu nyata harus menerapkan dua antarmuka ini. Kedua antarmuka ini sudah diterbitkan di repositori pusat. Dalam sampel ini, dua antarmuka adalah:

    • Termostat
    • Informasi perangkat yang dikembangkan oleh Azure
  • Tentukan nama komponen. Sampel ini memiliki dua termostat dan satu komponen informasi perangkat.

  • Tentukan nama perintah untuk perintah yang ditanggapi perangkat.

  • Tentukan konstanta serialNumber. serialNumber telah diperbaiki pada perangkat apa pun.

  • Tentukan penangan perintah.

  • Tentukan fungsi untuk mengirim respons perintah.

  • Tentukan fungsi bantuan untuk mencatat permintaan perintah.

  • Tentukan fungsi bantuan untuk membuat properti.

  • Tentukan pendengar untuk pembaruan properti.

  • Tentukan fungsi untuk mengirim telemetri dari perangkat ini. Termostat dan komponen default, keduanya mengirimkan telemetri. Fungsi ini menerima nama komponen sebagai parameter.

  • Tentukan fungsi main yang:

    • Menggunakan SDK perangkat untuk membuat perangkat klien dan terhubung ke hub IoT Anda. Perangkat memasok modelId sehingga IoT Hub dapat mengidentifikasi perangkat sebagai perangkat IoT Plug and Play.

    • Mulai mendengarkan permintaan perintah menggunakan fungsi onDeviceMethod. Fungsi menyiapkan pendengar untuk permintaan perintah dari layanan:

      • DTDL perangkat menentukan perintah reboot dan getMaxMinReport.
      • Fungsi commandHandler menentukan bagaimana perangkat merespons sebuah perintah.
    • Mulai mengirim telemetri dengan menggunakan setInterval dan sendTelemetry.

    • Menggunakan fungsi helperCreateReportedPropertiesPatch untuk membuat properti dan updateComponentReportedProperties untuk memperbarui properti.

    • Menggunakan desiredPropertyPatchListener untuk mendengarkan pembaruan properti.

    • Menonaktifkan semua pendengar dan tugas, dan keluar dari perulangan saat Anda menekan Q atau q.

Di Menyiapkan lingkungan Anda, Anda membuat empat variabel lingkungan guna mengonfigurasi sampel untuk menggunakan Device Provisioning Service (DPS) agar menyambungkan ke IoT Hub:

  • IOTHUB_DEVICE_SECURITY_TYPE dengan nilai DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE dengan cakupan ID DPS.
  • IOTHUB_DEVICE_DPS_DEVICE_ID dengan nilai my-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY dengan kunci utama pendaftaran.
  • IOTHUB_DEVICE_DPS_ENDPOINT dengan nilai global.azure-devices-provisioning.net.

Untuk mempelajari selengkapnya tentang konfigurasi sampel, lihat sampel readme.

Sekarang setelah Anda melihat kode, gunakan perintah berikut untuk menjalankan sampel:

node pnp_temperature_controller.js

Anda melihat output berikut, yang menunjukkan perangkat mengirim data telemetri ke hub, dan sekarang siap untuk menerima perintah dan pembaruan properti.

Pesan konfirmasi perangkat

Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Menggunakan penjelajah Azure IoT untuk memvalidasi kode

Setelah sampel perangkat klien dimulai, gunakan alat penjelajah Azure IoT untuk memverifikasi bahwa itu berfungsi.

  1. Buka explorer IoT Azure.

  2. Pada halaman hub IoT, jika Anda belum menambahkan koneksi ke hub IoT, pilih +Tambahkan koneksi. Masukkan string koneksi untuk hub IoT yang Anda buat sebelumnya dan pilih Simpan.

  3. Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.

  4. Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.

  5. Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.

  6. Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.

  7. Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.

  8. Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.

  9. Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.

  10. Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.

  11. Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.

  12. Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.

  13. Untuk melihat nilai baru muncul pilih tombol Refresh.

  14. Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.

  15. Pilih perintah yang ingin Anda uji, atur parameternya jika ada. Pilih Kirim perintah untuk memanggil perintah di perangkat. Anda dapat melihat perangkat merespons perintah di jendela wantian perintah tempat kode sampel berjalan.

Tutorial ini menunjukkan cara membuat sampel aplikasi perangkat Plug and Play IoT dengan komponen, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat informasi yang dikirim ke hub. Aplikasi sampel ditulis dengan Python dan disertakan dalam SDK perangkat Azure IoT untuk Python. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Telusuri kode

Di tutorial ini, Anda akan:

  • Unduh kode sampel.
  • Jalankan aplikasi perangkat sampel dan validasi bahwa itu terhubung ke hub IoT Anda.
  • Tinjau kode sumber.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.

Anda dapat menjalankan tutorial ini di Linux atau Windows. Perintah shell dalam tutorial ini mengikuti konvensi Linux untuk pemisah jalur '/', jika Anda mengikuti di Windows pastikan untuk menukar pemisah ini dengan '\'.

Untuk menyelesaikan tutorial ini, Anda memerlukan Python yang diinstal pada komputer pengembangan Anda. Periksa Azure IoT Python SDK untuk persyaratan versi Python saat ini. Anda dapat memeriksa versi Python Anda dengan perintah berikut:

python --version

Anda dapat mengunduh versi terbaru yang disarankan untuk berbagai platform dari python.org.

Unduh kode

Paket perangkat azure-iot diterbitkan sebagai PIP.

Di lingkungan Python lokal Anda, instal paket sebagai berikut:

pip install azure-iot-device

Jika Anda menyelesaikan Tutorial: Menyambungkan contoh aplikasi perangkat IoT Plug and Play yang berjalan di Windows ke IoT Hub (Python), Anda telah mengkloning repositori.

Kloning repositori Python SDK IoT:

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

Mengulas kode

Sampel ini menerapkan perangkat pengontrol suhu Plug and Play IoT. Model yang diterapkan sampel ini menggunakan beberapa komponen. File model Digital Twins Definition Language (DTDL) untuk perangkat suhu menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Folder azure-iot-sdk-python/samples/pnp berisi kode sampel untuk perangkat IoT Plug and Play. File untuk sampel pengontrol suhu adalah:

  • temp_controller_with_thermostats.py
  • pnp_helper.py

Pengontrol suhu memiliki beberapa komponen dan komponen default, berdasarkan model DTDL pengontrol suhu.

Buka file temp_controller_with_thermostats.py pada editor yang Anda pilih. Kode dalam file ini:

  1. Impor pnp_helper.py untuk mendapatkan akses ke metode bantuan.

  2. Menentukan dua pengidentifikasi model kembar digital (DTMIs) yang secara unik mewakili dua antarmuka yang berbeda, yang ditentukan dalam model DTDL. Komponen dalam pengontrol suhu nyata harus menerapkan dua antarmuka ini. Kedua antarmuka ini sudah diterbitkan di repositori pusat. DTMI ini harus diketahui pengguna dan bervariasi tergantung pada skenario implementasi perangkat. Untuk sampel saat ini, dua antarmuka ini mewakili:

    • Termostat
    • Informasi perangkat yang dikembangkan oleh Azure.
  3. Menentukan DTMI model_id untuk perangkat yang sedang diterapkan. DTMI ditentukan oleh pengguna dan harus cocok dengan DTMI dalam file model DTDL.

  4. Menentukan nama yang diberikan untuk komponen dalam file DTDL. Terdapat dua termostat di DTDL dan satu komponen informasi perangkat. Konstanta yang disebut serial_number juga ditentukan dalam komponen default. serial_number tidak dapat diubah untuk perangkat.

  5. Menentukan implementasi pengendali perintah. Handler ini menentukan apa yang dilakukan perangkat saat menerima permintaan perintah.

  6. Menentukan fungsi untuk membuat respons perintah. Fungsi-fungsi ini menentukan bagaimana perangkat merespons permintaan perintah. Anda membuat fungsi respons perintah jika perintah perlu mengirim respons kustom kembali ke hub IoT. Jika fungsi respons untuk suatu perintah tidak disediakan, respons umum akan dikirim. Dalam sampel ini, hanya perintah getMaxMinReport yang memiliki respons kustom.

  7. Menentukan fungsi untuk mengirim telemetri dari perangkat ini. Termostat dan komponen default, keduanya mengirimkan telemetri. Fungsi ini memiliki parameter nama komponen opsional untuk memungkinkannya mengidentifikasi komponen mana yang mengirim telemetri.

  8. Menentukan pendengar untuk permintaan perintah.

  9. Menentukan pendengar untuk pembaruan properti yang diinginkan.

  10. Memiliki fungsi main yang:

    • Menggunakan SDK perangkat untuk membuat perangkat klien dan terhubung ke hub IoT Anda. Perangkat mengirimkan model_id sehingga hub IoT dapat mengidentifikasi perangkat sebagai perangkat IoT Plug and Play.

    • Menggunakan fungsi create_reported_properties dalam file bantuan untuk membuat properti. Berikan nama komponen, dan properti sebagai pasangan nilai kunci ke fungsi ini.

    • Perbarui properti yang dapat dibaca untuk komponennya dengan memanggil patch_twin_reported_properties.

    • Mulai mendengarkan permintaan perintah menggunakan fungsi execute_command_listener. Fungsi mengatur pendengar untuk permintaan perintah dari layanan. Saat menyiapkan pendengar, Anda menyediakan method_name, user_command_handler, dan opsional create_user_response_handler sebagai parameter.

      • method_name menentukan permintaan perintah. Dalam sampel ini, model menentukan perintah reboot, dan getMaxMinReport.
      • Fungsi user_command_handler menentukan apa yang harus dilakukan perangkat saat menerima perintah.
      • Fungsi create_user_response_handler membuat respons untuk dikirim ke hub IoT Anda saat perintah berhasil dijalankan. Anda dapat melihat respons ini di portal. Jika fungsi ini tidak tersedia, respons umum akan dikirim ke layanan.
    • Menggunakan execute_property_listener untuk mendengarkan pembaruan properti.

    • Mulai mengirim telemetri menggunakan send_telemetry. Kode sampel menggunakan perulangan untuk memanggil tiga fungsi pengiriman telemetri. Masing-masing dipanggil setiap delapan detik

    • Menonaktifkan semua pendengar dan tugas, dan keluar dari perulangan saat Anda menekan Q atau q.

Di Menyiapkan lingkungan Anda, Anda membuat empat variabel lingkungan guna mengonfigurasi sampel untuk menggunakan Device Provisioning Service (DPS) agar menyambungkan ke IoT Hub:

  • IOTHUB_DEVICE_SECURITY_TYPE dengan nilai DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE dengan cakupan ID DPS.
  • IOTHUB_DEVICE_DPS_DEVICE_ID dengan nilai my-pnp-device.
  • IOTHUB_DEVICE_DPS_DEVICE_KEY dengan kunci utama pendaftaran.
  • IOTHUB_DEVICE_DPS_ENDPOINT dengan nilai global.azure-devices-provisioning.net.

Untuk mempelajari selengkapnya tentang konfigurasi sampel, lihat sampel readme.

Gunakan perintah berikut untuk menjalankan sampel:

python temp_controller_with_thermostats.py

Perangkat sampel mengirimkan pesan telemetri setiap beberapa detik ke hub IoT Anda.

Anda melihat output berikut, yang menunjukkan perangkat mengirim data telemetri ke hub, dan sekarang siap menerima perintah dan pembaruan properti.

Pesan konfirmasi perangkat

Tetap jalankan sampel saat Anda menyelesaikan langkah-langkah berikutnya.

Menggunakan penjelajah Azure IoT untuk memvalidasi kode

Setelah sampel perangkat klien dimulai, gunakan alat penjelajah Azure IoT untuk memverifikasi bahwa itu berfungsi.

  1. Buka explorer IoT Azure.

  2. Pada halaman hub IoT, jika Anda belum menambahkan koneksi ke hub IoT, pilih +Tambahkan koneksi. Masukkan string koneksi untuk hub IoT yang Anda buat sebelumnya dan pilih Simpan.

  3. Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.

  4. Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.

  5. Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.

  6. Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.

  7. Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.

  8. Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.

  9. Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.

  10. Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.

  11. Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.

  12. Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.

  13. Untuk melihat nilai baru muncul pilih tombol Refresh.

  14. Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.

  15. Pilih perintah yang ingin Anda uji, atur parameternya jika ada. Pilih Kirim perintah untuk memanggil perintah di perangkat. Anda dapat melihat perangkat merespons perintah di jendela wantian perintah tempat kode sampel berjalan.

Membersihkan sumber daya

Jika Anda berencana untuk melanjutkan dengan lebih banyak artikel pengembang perangkat, Anda dapat menyimpan dan menggunakan kembali sumber daya yang Anda gunakan dalam artikel ini. Jika tidak, Anda dapat menghapus sumber daya yang Anda buat di artikel ini untuk menghindari lebih banyak biaya.

Anda dapat menghapus hub dan perangkat terdaftar sekaligus dengan menghapus seluruh grup sumber daya dengan perintah Azure CLI berikut. Jangan gunakan perintah ini jika sumber daya ini berbagi grup sumber daya dengan sumber daya lain yang ingin Anda pertahankan.

az group delete --name <YourResourceGroupName>

Untuk menghapus hanya hub IoT, jalankan perintah berikut menggunakan Azure CLI:

az iot hub delete --name <YourIoTHubName>

Untuk menghapus hanya identitas perangkat yang Anda daftarkan dengan hub IoT Anda, jalankan perintah berikut menggunakan Azure CLI:

az iot hub device-identity delete --hub-name <YourIoTHubName> --device-id <YourDeviceID>

Anda mungkin juga ingin menghapus file sampel kloning dari mesin pengembangan Anda.

Langkah berikutnya

Dalam tutorial ini, Anda telah belajar cara menghubungkan perangkat IoT Plug and Play dengan komponen ke hub IoT. Untuk mempelajari selengkapnya model perangkat IoT Plug and Play, lihat: