Tutorial: Menyambungkan sampel aplikasi perangkat Plug and Play IoT yang berjalan di Linux atau Windows ke IoT Hub
Tutorial ini menunjukkan kepada Anda cara membuat 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 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.
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 '\
'.
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:
- Visual Studio (Komunitas, Profesional, atau Perusahaan) - pastikan Anda menyertakan beban kerja Pengembangan Desktop dengan C++ saat Anda memasang Visual Studio.
- Git.
- CMake.
Unduh 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 direktori 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.
Bangun kode
Anda dapat membuat dan menjalankan kode menggunakan Visual Studio atau cmake
di baris perintah.
Gunakan Visual Studio
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.
Saat Visual Studio siap, di Penjelajah Solusi, navigasikan ke sampel iothub_client/samples/pnp/pnp_simple_thermostat/.
Klik kanan pada file pnp_simple_thermostat.c dan pilih Tambahkan Konfigurasi Debug. Pilih Default.
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_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>" } } ] }
Klik kanan pada file pnp_simple_thermostat.c dan pilih Atur sebagai Item Startup.
Untuk melacak eksekusi kode di Visual Studio, tambahkan titik henti ke
main
fungsi dalam file pnp_simple_thermostat.c .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.
Menggunakan cmake untuk membangun kode
Anda menggunakan utilitas baris perintah cmake untuk membangun kode:
Buat subdirektori cmake di folder akar SDK perangkat, dan navigasikan ke folder itu:
cd azure-iot-sdk-c mkdir cmake cd cmake
Jalankan perintah berikut untuk membuat SDK dan sampel:
cmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF .. cmake --build .
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.
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.
Buka explorer IoT Azure.
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.
Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.
Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.
Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.
Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.
Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.
Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.
Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.
Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.
Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.
Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.
Untuk melihat nilai baru muncul pilih tombol Refresh.
Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.
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 mengimplementasikan perangkat termostat IoT Plug and Play sederhana. Model termostat 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, mirip 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.
Tutorial ini menunjukkan kepada Anda cara membuat 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 C# dan disertakan dalam Azure IoT SDK 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.
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 '\
'.
Unduh kode
Dalam tutorial ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk mengkloning dan membangun repositori Azure IoT SDK for C#.
Buka perintah di folder pilihan Anda. Jalankan perintah berikut untuk mengkloning repositori GitHub Microsoft Azure IoT SDK for C# (.NET) ke lokasi ini:
git clone https://github.com/Azure/azure-iot-sdk-csharp
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/Thermostat
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.
Buka explorer IoT Azure.
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.
Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.
Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.
Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.
Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.
Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.
Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.
Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.
Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.
Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.
Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.
Untuk melihat nilai baru muncul pilih tombol Refresh.
Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.
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 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.
Tutorial ini menunjukkan kepada Anda cara membuat 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 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.
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
Dalam tutorial ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk mengkloning 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
Bangun kode
Navigasikan ke folder akar sampel termostat di repositori Java SDK kloning dan buat:
cd azure-iot-sdk-java/device/iot-device-samples/pnp-device-sample/thermostat-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 mempelajari selengkapnya tentang konfigurasi sampel, lihat sampel readme.
Dari folder /device/iot-device-samples/pnp-device-sample/thermostat-device-sample , jalankan aplikasi:
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. 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.
Buka explorer IoT Azure.
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.
Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.
Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.
Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.
Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.
Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.
Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.
Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.
Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.
Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.
Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.
Untuk melihat nilai baru muncul pilih tombol Refresh.
Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.
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 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 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";
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.
Tutorial ini menunjukkan kepada Anda cara membuat 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.
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 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
Dalam tutorial ini, Anda menyiapkan lingkungan pengembangan yang dapat Anda gunakan untuk mengkloning dan membangun Azure IoT Hub Device SDK untuk Node.js.
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 yang terhubung ke hub IoT. Aplikasi mengirim telemetri dan properti dan menerima perintah.
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
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 menentukan telemetri, properti, dan perintah yang diterapkan perangkat.
Buka file pnp_simple_thermostat.js. Dalam file ini, Anda dapat melihat cara:
- Mengimpor antarmuka yang diperlukan.
- Menulis penghandel pembaruan properti dan penghandel perintah.
- Menangani patch properti yang diinginkan dan mengirim telemetri.
- Secara opsional, provisi perangkat Anda menggunakan Azure Device Provisioning Service (DPS).
Dalam fungsi utama, Anda dapat melihat bagaimana semuanya disatukan:
- Buat perangkat dari string koneksi Anda atau provisikan menggunakan DPS.)
- Gunakan opsi modelID untuk menentukan model perangkat IoT Plug and Play.
- Aktifkan penghandel perintah.
- Kirim telemetri dari perangkat ke hub Anda.
- Dapatkan kembaran perangkat dan perbarui properti yang dilaporkan.
- 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.
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.
Buka explorer IoT Azure.
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.
Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.
Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.
Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.
Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.
Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.
Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.
Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.
Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.
Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.
Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.
Untuk melihat nilai baru muncul pilih tombol Refresh.
Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.
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.
Tutorial ini menunjukkan kepada Anda cara membuat sampel aplikasi perangkat IoT Plug and Play, menyambungkannya ke hub IoT 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.
Prasyarat
Sebelum melanjutkan, pastikan Anda telah menyiapkan lingkungan Anda, termasuk hub IoT Anda.
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.
Di lingkungan Python lokal Anda, instal paket sebagai berikut:
pip install azure-iot-device
Kloning repositori Python SDK IoT:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
Menjalankan perangkat sampel
Folder azure-iot-sdk-python/samples/pnp berisi kode sampel untuk perangkat IoT Plug and Play. Tutorial 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:
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.
Memiliki fungsi untuk menentukan implementasi pengatur perintah. Anda menulis pengatur ini untuk menentukan bagaimana perangkat merespons permintaan perintah.
Memiliki fungsi untuk menentukan respons perintah. Anda membuat fungsi respons perintah untuk mengirim respons kembali ke IoT hub Anda.
Menentukan fungsi pendengar keyboard input untuk memungkinkan Anda keluar dari aplikasi.
Memiliki fungsi utama. Fungsi utama:
Menggunakan SDK perangkat untuk membuat perangkat klien dan terhubung ke hub IoT Anda.
Memperbarui properti. Model Termostat mendefinisikan
targetTemperature
danmaxTempSinceLastReboot
sebagai dua properti untuk Termostat. Properti diperbarui menggunakan metodepatch_twin_reported_properties
yang ditentukan padadevice_client
.Mulai mendengarkan permintaan perintah menggunakan fungsi execute_command_listener. Fungsi ini menyiapkan 'listener' untuk mendengarkan perintah yang berasal dari layanan. Saat Anda menyiapkan pendengar, Anda menyediakan
method_name
, ,user_command_handler
dancreate_user_response_handler
.- 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.
- Fungsi
Mulai mengirim telemetri. pnp_send_telemetry ditentukan dalam file pnp_methods.py. Kode sampel menggunakan perulangan untuk memanggil fungsi ini setiap delapan detik.
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
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.
Buka explorer IoT Azure.
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.
Pada halaman Pengaturan IoT Plug and Play, pilih + Tambahkan > folder Lokal dan pilih folder model lokal tempat Anda menyimpan file model Anda.
Pada halaman hub IoT, klik nama hub yang ingin Anda gunakan. Anda melihat daftar perangkat yang didaftarkan di hub IoT.
Klik ID Perangkat dari perangkat yang Anda buat sebelumnya.
Menu di sebelah kiri menunjukkan berbagai jenis informasi yang tersedia untuk perangkat.
Pilih Komponen IoT Plug and Play untuk melihat informasi model perangkat Anda.
Anda dapat melihat berbagai komponen perangkat. Komponen default dan komponen tambahan apa pun. Pilih komponen untuk digunakan.
Pilih halaman Telemetri lalu pilih Mulai untuk melihat data telemetri yang dikirim perangkat untuk komponen ini.
Pilih halaman Properti (baca-saja) guna melihat properti baca-saja yang dilaporkan untuk komponen ini.
Pilih halaman Properti (bisa-tulis) guna melihat properti bisa-tulis yang dapat Anda perbarui untuk komponen ini.
Pilih properti dengan nama, masukkan nilai baru untuk properti, dan pilih Perbarui nilai yang diinginkan.
Untuk melihat nilai baru muncul pilih tombol Refresh.
Pilih halaman Perintah guna melihat semua perintah untuk komponen ini.
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 for Embedded C berisi beberapa sampel yang menunjukkan 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 terbatas.
Menggunakan Eclipse ThreadX
Eclipse ThreadX mencakup lapisan ringan yang menambahkan konektivitas asli ke layanan cloud Azure IoT. Lapisan ini menyediakan mekanisme sederhana untuk menghubungkan perangkat yang dibatasi ke Azure IoT sambil menggunakan fitur lanjutan Eclipse ThreadX. Untuk mempelajari lebih lanjut , lihat ringkasan Eclipse ThreadX.
Toolchain
Sampel Eclipse ThreadX disediakan dengan berbagai jenis IDE dan kombinasi toolchain, seperti:
- IAR: Embedded Workbench IDE IAR
- GCC/CMake: Bangun di atas sistem build CMake sumber terbuka dan toolchain GNU Arm Embedded.
- MCUExpresso: MCUXpresso IDE NXP
- STM32Cube: STM32Cube IDE STMicroelectronics
- MPLAB: MPLAB X IDE Microchip
Sampel
Tabel berikut mencantumkan sampel yang menunjukkan kepada Anda cara memulai di perangkat yang berbeda dengan Eclipse ThreadX dan IoT Plug and Play:
Produsen | Perangkat | Sampel |
---|---|---|
Microchip | ATSAME54-XPRO | GCC/CMake • IAR • MPLAB |
MXCHIP | AZ3166 | GCC/CMake |
NXP | MIMXRT1060-EVK | GCC/CMake • IAR • MCUXpresso |
STMicroelectronics | 32F746GDISCOVERY | IAR • STM32Cube |
STMicroelectronics | B-L475E-IOT01 | GCC/CMake • IAR • STM32Cube |
STMicroelectronics | B-L4S5I-IOT01 | GCC/CMake • IAR • STM32Cube |
Langkah berikutnya
Dalam tutorial ini, Anda telah mempelajari cara menghubungkan perangkat IoT Plug and Play ke IoT Hub. Untuk mempelajari lebih lanjut cara membuat solusi yang berinteraksi dengan perangkat IoT Plug and Play Anda, lihat: