Tutorial: Menyambungkan sampel aplikasi perangkat Plug and Play IoT yang berjalan di Linux atau Windows ke IoT Hub

Mulai cepat ini menunjukkan cara membuat sampel aplikasi perangkat IoT Plug and Play, menghubungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk menampilkan telemetri yang dikirimkannya. 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.

Browse code

Prasyarat

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

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

Prasyarat berbeda dengan sistem operasi:

Linux

Mulai cepat ini mengasumsikan Anda menggunakan Ubuntu Linux. Langkah-langkah dalam mulai cepat ini diuji menggunakan Ubuntu 18.04.

Untuk menyelesaikan mulai cepat ini di Linux, pasang perangkat lunak berikut pada 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 dari cmake adalah di atas 2.8.12 dan versi dari GCC adalah di atas 4.4.7.

cmake --version
gcc --version

Windows

Untuk menyelesaikan mulai cepat ini di Windows, pasang perangkat lunak berikut ini pada lingkungan Windows lokal Anda:

Mengunduh kode

Dalam mulai cepat ini, Anda menyiapkan lingkungan pengembangan yang dapat digunakan untuk mengkloning dan membuat SDK C Perangkat Azure IoT Hub.

Buka perintah di direktori pilihan Anda. Jalankan perintah berikut untuk mengkloning SDK dan Pustaka Azure IoT C repositori GitHub ke lokasi ini:

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

Harapkan operasi ini memakan waktu beberapa menit untuk diselesaikan.

Membuat kode

Anda menggunakan SDK perangkat untuk membuat kode contoh yang disertakan:

  1. Buat subdirektori cmake di folder akar SDK perangkat, dan navigasikan ke folder itu:

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

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

Tip

Di Windows, Anda dapat membuka solusi yang dihasilkan oleh perintah cmake di Visual Studio 2019. Buka proyek azure_iot_sdks.sln di direktori cmake dan tetapkan proyek pnp_simple_thermostat sebagai proyek permulaan dalam solusi. Kini Anda dapat membuat sampel di Visual Studio dan menjalankannya dalam mode debug.

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 mempelajari selengkapnya tentang konfigurasi sampel, lihat sampel readme.

Untuk menjalankan aplikasi sampel di SDK yang menyimulasikan perangkat IoT Plug and Play yang mengirim telemetri ke hub IoT Anda:

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

# 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

Untuk melacak eksekusi kode di Visual Studio pada Windows, tambahkan titik putus ke fungsi main di filepnp_simple_thermostat.c.

Kini perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Biarkan sampel tetap berjalan saat Anda menyelesaikan 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 IoT Plug and Play Pengaturan, 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) untuk melihat properti bisa-tulis yang bisa 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.

Meninjau kode

Sampel ini mengimplementasikan perangkat termostat IoT Plug and Play sederhana. Model yang diimplementasikan sampel ini tidak menggunakan komponen IoT Plug and Play. File model DTDL untuk perangkat termostat menentukan telemetri, properti, dan perintah yang diterapkan perangkat.

Kode perangkat menggunakan fungsi standar untuk dapat terhubung ke hub IoT Anda:

deviceHandle = IoTHubDeviceClient_CreateFromConnectionString(connectionString, MQTT_Protocol)

Perangkat mengirimkan ID model dari model DTDL yang diterapkannya dalam permintaan koneksi. Perangkat yang mengirim ID model adalah perangkat IoT Plug and Play:

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

...

IoTHubDeviceClient_SetOption(deviceHandle, OPTION_MODEL_ID, modelId)

Kode yang memperbarui properti, menangani perintah, dan mengirim telemetri, identik dengan kode untuk perangkat yang tidak menggunakan konvensi IoT Plug and Play.

Kode ini menggunakan pustaka Parson untuk mengurai objek JSON dalam payload yang dikirim dari hub IoT Anda:

// JSON parser
#include "parson.h"

Membersihkan sumber daya

Jika Anda sudah selesai dengan mulai cepat dan tutorial, lihat Membersihkan sumber daya.

Mulai cepat ini menunjukkan cara membangun sampel aplikasi perangkat IoT Plug and Play, meyambungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat telemetri yang dikirimnya. Aplikasi sampel ditulis dalam C# dan disertakan dalam Sampel Azure IoT untuk C#. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kapabilitas perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Browse code

Prasyarat

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

Untuk menyelesaikan mulai cepat ini pada Windows, Anda memerlukan perangkat lunak berikut yang terpasang pada komputer pengembangan Anda:

Mengunduh kode

Dalam quickstart ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk membuat klon dan membangun Sampel Azure IoT untuk repositori C#.

Buka perintah di folder pilihan Anda. Jalankan perintah berikut untuk membuat klon Sampel Microsoft Azure IoT untuk repositori C# (.NET) GitHub ke lokasi ini:

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

Membangun kode

Kini Anda dapat membangun sampel di Visual Studio dan menjalankannya dalam mode debug.

  1. Buka file proyek azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\Thermostat\Thermostat.csproj di Visual Studio 2019.

  2. Di Visual Studio, navigasikan ke Project > Debug Properti > Termostat. Kemudian tambahkan variabel lingkungan berikut ke proyek:

    Nama Nilai
    IOTHUB_DEVICE_SECURITY_TYPE DPS
    IOTHUB_DEVICE_DPS_ENDPOINT global.azure-devices-provisioning.net
    IOTHUB_DEVICE_DPS_ID_SCOPE Nilai yang dicatat ketika Anda menyelesaikan Penyiapan lingkungan Anda
    IOTHUB_DEVICE_DPS_DEVICE_ID my-pnp-device
    IOTHUB_DEVICE_DPS_DEVICE_KEY Nilai yang dicatat ketika Anda menyelesaikan Penyiapan lingkungan Anda

Kini Anda dapat membangun sampel di Visual Studio dan menjalankannya dalam mode debug.

Menjalankan sampel perangkat

Untuk melacak eksekusi kode di Visual Studio di Windows, tambahkan titik pemisah main ke fungsi dalam file program.cs.

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Biarkan sampel tetap berjalan saat Anda menyelesaikan 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 Plug and Play Pengaturan IoT, 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) untuk melihat properti bisa-tulis yang bisa 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.

Meninjau kode

Sampel ini mengimplementasikan perangkat termostat IoT Plug and Play sederhana. Model yang diimplementasikan sampel ini tidak menggunakan komponen IoT Plug and Play. File model bahasa pemrogram definisi Digital Twins (DTDL) untuk perangkat termostat mendefinisikan 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 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 model disimpan dalam kode seperti yang ditunjukkan dalam cuplikan berikut:

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

Kode yang memperbarui properti, menangani perintah, dan mengirim telemetri, mirip dengan kode untuk perangkat yang tidak menggunakan konvensi IoT Plug and Play.

Sampel menggunakan pustaka JSON untuk mengurai objek JSON dalam payload yang dikirim dari IoT hub Anda:

using Newtonsoft.Json;

...

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

Membersihkan sumber daya

Jika Anda sudah selesai dengan mulai cepat dan tutorial, lihat Membersihkan sumber daya.

Mulai cepat ini menunjukkan cara membangun aplikasi contoh perangkat IoT Plug and Play, meyambungkannya ke IoT hub Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat telemetri yang dikirimnya. Aplikasi contoh ditulis dalam Java dan disertakan dalam Azure IoT device SDK for Java. Penyusun solusi dapat menggunakan alat penjelajah Azure IoT untuk memahami kemampuan perangkat IoT Plug and Play tanpa perlu melihat kode perangkat apa pun.

Browse code

Prasyarat

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

Untuk menyelesaikan mulai cepat ini di Windows, pasang perangkat lunak berikut ini pada lingkungan Windows lokal Anda:

Mengunduh kode

Dalam mulai cepat ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk mengklon dan membangun Azure IoT Hub Device Java SDK.

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

Membangun kode

Pada Windows, navigasi ke folder akar repositori Java SDK yang diklon.

Jalankan perintah berikut untuk membangun aplikasi contoh:

mvn install -T 2C -DskipTests

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 mempelajari selengkapnya tentang konfigurasi sampel, lihat readme sampel.

Navigasi ke folder \device\iot-device-samples\pnp-device-sample\thermostat-device-sample.

Untuk menjalankan aplikasi contoh, jalankan perintah berikut:

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

Sekarang perangkat siap untuk menerima perintah dan pembaruan properti, dan telah mulai mengirim data telemetri ke hub. Biarkan sampel tetap berjalan saat Anda menyelesaikan 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 Plug and Play Pengaturan IoT, 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) untuk melihat properti bisa-tulis yang bisa 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.

Meninjau kode

Sampel ini mengimplementasikan perangkat termostat IoT Plug and Play sederhana. Model yang diimplementasikan sampel ini tidak menggunakan komponen IoT Plug and Play. File model DTDL untuk perangkat termostat mendefinisikan telemetri, properti, dan perintah yang diimplementasikan perangkat.

Kode perangkat menggunakan kelas DeviceClient standar untuk tersambung ke IoT hub Anda. Perangkat mengirimkan ID model dari model DTDL yang diterapkan 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";

Kode yang memperbarui properti, menangani perintah, dan mengirim telemetri, mirip dengan kode untuk perangkat yang tidak menggunakan konvensi IoT Plug and Play.

Sampel menggunakan pustaka JSON untuk mengurai objek JSON dalam payload yang dikirim dari IoT hub Anda:

import com.google.gson.Gson;

...

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

Membersihkan sumber daya

Jika Anda sudah selesai dengan mulai cepat dan tutorial, lihat Membersihkan sumber daya.

Mulai cepat ini menunjukkan cara membangun sampel aplikasi perangkat IoT Plug and Play, menyambungkannya ke hub IoT Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat telemetri yang dikirimnya. Aplikasi sampel ditulis dalam Node.js dan disertakan dalam SDK perangkat Azure IoT 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.

Browse code

Prasyarat

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

Untuk menyelesaikan mulai cepat ini, Anda memerlukan Node.js pada komputer pengembangan. 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

Mengunduh kode

Dalam mulai cepat ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk membuat klon dan membangun Azure IoT Hub Device SDK untuk Node.js.

Buka prompt 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 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
    
  2. Konfigurasikan variabel lingkungan dengan string koneksi perangkat yang Anda catat sebelumnya:

    set IOTHUB_DEVICE_CONNECTION_STRING=<YourDeviceConnectionString>
    

Menjalankan perangkat sampel

Sampel ini mengimplementasikan perangkat termostat IoT Plug and Play sederhana. Model yang diimplementasikan sampel ini tidak menggunakan komponen IoT Plug and Play. File model DTDL untuk perangkat termostat mendefinisikan telemetri, properti, dan perintah yang diimplementasikan perangkat.

Buka file pnp_simple_thermostat.js. Dalam file ini, Anda dapat melihat cara:

  1. Mengimpor antarmuka yang diperlukan.
  2. Menulis penghandel pembaruan properti dan penghandel perintah.
  3. Menangani patch properti yang diinginkan dan mengirim telemetri.
  4. Secara opsional, provisi perangkat Anda menggunakan Azure Device Provisioning Service (DPS).

Dalam fungsi utama, Anda dapat melihat bagaimana semuanya disatukan:

  1. Buat perangkat dari string koneksi Anda atau provisikan menggunakan DPS.)
  2. Gunakan opsi modelID untuk menentukan model perangkat IoT Plug and Play.
  3. Aktifkan penghandel perintah.
  4. Kirim telemetri dari perangkat ke hub Anda.
  5. Dapatkan kembaran perangkat dan perbarui properti yang dilaporkan.
  6. Aktifkan penghandel pembaruan properti yang diinginkan.

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.

Jalankan aplikasi sampel untuk mensimulasikan perangkat IoT Plug and Play yang mengirim telemetri ke hub IoT Anda. Untuk menjalankan aplikasi sampel, gunakan perintah berikut:

node pnp_simple_thermostat.js

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

Device confirmation messages

Biarkan sampel tetap berjalan saat Anda menyelesaikan 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 Plug and Play Pengaturan IoT, 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) untuk melihat properti bisa-tulis yang bisa 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 sudah selesai dengan mulai cepat dan tutorial, lihat Membersihkan sumber daya.

Mulai cepat ini menunjukkan kepada Anda cara membangun contoh aplikasi perangkat IoT Plug and Play, menghubungkannya ke IoT hub Anda, dan menggunakan alat penjelajah Azure IoT untuk melihat telemetri yang dikirimnya. Aplikasi contoh ditulis untuk Python dan disertakan dalam Azure IoT Hub Device SDK 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.

Browse code

Prasyarat

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

Untuk menyelesaikan mulai cepat ini, Anda memerlukan Python 3.7 pada komputer pengembangan Anda. Anda dapat mengunduh versi terbaru yang direkomendasikan untuk beberapa platform dari python.org. Anda dapat memeriksa versi Python Anda dengan perintah berikut:

python --version

Di lingkungan Python lokal Anda, instal paket sebagai berikut:

pip install azure-iot-device

Lakukan klon repositori Python IoT SDK dan periksa master:

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

Jalankan perangkat sampel

Folder azure-iot-sdk-python\azure-iot-device\samples\pnp berisi kode sampel untuk perangkat IoT Plug and Play. Mulai cepat ini menggunakan file simple_thermostat.py. Kode sampel ini mengimplementasikan perangkat yang kompatibel dengan IoT Plug and Play dan menggunakan Azure IoT Python Device Client Library.

Buka file simple_thermostat.py di editor teks. Perhatikan bagaimana caranya untuk:

  1. Menentukan pengidentifikasi model kembar perangkat tunggal (DTMI) yang secara unik mewakili Thermostat. DTMI harus diketahui oleh pengguna dan bervariasi bergantung pada skenario implementasi perangkat. Untuk sampel saat ini, model mewakili termostat yang memiliki telemetri, properti, dan perintah yang terkait dengan suhu pemantauan.

  2. Memiliki fungsi untuk menentukan implementasi pengatur perintah. Anda menulis pengatur ini untuk menentukan bagaimana perangkat merespons permintaan perintah.

  3. Memiliki fungsi untuk menentukan respons perintah. Anda membuat fungsi respons perintah untuk mengirim respons kembali ke IoT hub Anda.

  4. Menentukan fungsi pendengar keyboard input untuk memungkinkan Anda keluar dari aplikasi.

  5. Memiliki fungsi utama. Fungsi utama:

    1. Menggunakan SDK perangkat untuk membuat klien perangkat dan menyambungkan ke IoT hub Anda.

    2. Memperbarui properti. Model yang kami gunakan, Thermostat, menentukan targetTemperature dan maxTempSinceLastReboot sebagai dua properti untuk Thermostat kami, jadi itulah yang akan kami gunakan. Properti diperbarui menggunakan metode patch_twin_reported_properties yang ditentukan pada device_client.

    3. Mulai mendengarkan permintaan perintah menggunakan fungsi execute_command_listener. Fungsi ini menyiapkan 'listener' untuk mendengarkan perintah yang berasal dari layanan. Ketika Anda menyiapkan listener Anda menyediakan method_name, user_command_handler, dan create_user_response_handler.

      • Fungsi user_command_handler menentukan apa yang harus dilakukan perangkat ketika menerima perintah. Misalnya, jika alarm Anda berbunyi, efek menerima perintah ini adalah Anda bangun. Anggap ini sebagai 'efek' dari perintah yang dipanggil.
      • Fungsi create_user_response_handler membuat respons yang akan dikirim ke IoT hub Anda ketika perintah berhasil dijalankan. Misalnya, jika alarm Anda berbunyi, Anda merespons dengan menekan tunda, yang merupakan tanggapan ke layanan. Anggap ini sebagai balasan yang Anda berikan kepada layanan. Anda dapat melihat respons ini di portal.
    4. Mulai mengirim telemetri. pnp_send_telemetry ditentukan dalam file pnp_methods.py. Kode sampel menggunakan perulangan untuk memanggil fungsi ini setiap delapan detik.

    5. Menonaktifkan semua pendengar dan tugas, dan ada loop 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:

python simple_thermostat.py

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

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

Buat sampel tetap berjalan 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 IoT Plug and Play Pengaturan, 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) untuk melihat properti bisa-tulis yang bisa 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 sudah selesai dengan mulai cepat dan tutorial, lihat Membersihkan sumber daya.

Jika Anda mengembangkan untuk perangkat yang dibatasi, Anda dapat menggunakan IoT Plug and Play dengan:

Artikel ini menyertakan link dan sumber daya untuk skenario yang dibatasi ini.

Prasyarat

Kebanyakan dari sampel di bawah ini memerlukan perangkat keras tertentu dan prasyaratnya berbeda untuk setiap sampel. Ikuti link ke sampel yang relevan untuk petunjuk prasyarat, konfigurasi, dan build terperinci.

Menggunakan SDK untuk Embedded C

SDK untuk Embedded C menawarkan solusi ringan untuk menyambungkan perangkat yang dibatasi ke layanan Azure IoT, termasuk menggunakan konvensi IoT Plug and Play. Link berikut ini mencakup sampel untuk perangkat berbasis MCU dan untuk tujuan pendidikan dan penelusuran kesalahan.

Menggunakan perangkat berbasis MCU

Untuk tutorial end-to-end lengkap menggunakan SDK untuk Embedded C, Device Provisioning Service, serta IoT Plug and Play pada MCU, lihat Menggunakan kembali PIC-IoT Wx Development Board untuk Tersambung ke Azure melalui IoT Hub Device Provisioning Service.

Sampel pengantar

Repositori SDK untuk Embedded C berisi beberapa sampel yang menunjukkan kepada Anda cara menggunakan IoT Plug and Play:

Catatan

Sampel ini ditampilkan berjalan di Windows dan Linux untuk tujuan pendidikan dan penelusuran kesalahan. Dalam skenario produksi, sampel hanya ditujukan untuk perangkat yang dibatasi.

Menggunakan Azure RTOS

Azure RTOS menyertakan lapisan ringan yang menambahkan konektivitas native ke layanan cloud Azure IoT. Lapisan ini menyediakan mekanisme sederhana untuk menyambungkan perangkat yang dibatasi ke Azure IoT sambil menggunakan fitur canggih Azure RTOS. Untuk mempelajari selengkapnya, lihat Apa itu Microsoft Azure RTOS.

Toolchain

Sampel Azure RTOS dilengkapi dengan berbagai jenis kombinasi IDE dan toolchain, seperti:

Sampel

Tabel berikut ini mencantumkan sampel yang memperlihatkan kepada Anda cara memulai di berbagai perangkat dengan Azure RTOS dan IoT Plug and Play:

Produsen Perangkat Sampel
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

Langkah berikutnya

Dalam tutorial ini, Anda telah mempelajari cara menghubungkan perangkat IoT Plug and Play ke IoT Hub. Untuk mempelajari selengkapnya tentang membangun solusi yang berinteraksi dengan perangkat Plug and Play IoT Anda, lihat: