Pengembangan perangkat IoT

Gambaran umum ini memperkenalkan konsep utama sekeliling mengembangkan perangkat yang terhubung ke solusi Azure IoT yang khas. Setiap bagian menyertakan tautan ke konten yang memberikan detail dan panduan lebih lanjut.

Diagram berikut menunjukkan tampilan tingkat tinggi komponen dalam solusi IoT yang khas. Artikel ini berfokus pada perangkat dan gateway yang diperlihatkan dalam diagram.

Diagram yang menunjukkan arsitektur solusi IoT tingkat tinggi yang menyoroti area konektivitas perangkat.

Di Azure IoT, pengembang perangkat menulis kode untuk dijalankan pada perangkat dalam solusi. Kode ini biasanya:

  • Membuat koneksi aman ke titik akhir cloud.
  • Mengirim telemetri yang dikumpulkan dari sensor yang terpasang ke cloud.
  • Mengelola status perangkat dan menyinkronkan status tersebut dengan cloud.
  • Merespons perintah yang dikirim dari cloud.
  • Memungkinkan penginstalan pembaruan perangkat lunak dari cloud.
  • Memungkinkan perangkat untuk tetap berfungsi saat terputus dari cloud.

Jenis perangkat

Perangkat IoT dapat dipisahkan menjadi dua kategori luas, microcontroller (MCUs) dan microprocessors (MPUs):

  • MCU lebih murah dan lebih mudah dioperasikan daripada MPU.
  • MCU berisi banyak fungsi, seperti memori, antarmuka, dan I/O pada chip itu sendiri. MPU mengakses fungsionalitas ini dari komponen dalam chip pendukung.
  • MCU sering menggunakan OS real-time (RTOS) atau menjalankan bare-metal (tanpa OS) dan memberikan respons real time dan reaksi yang sangat deterministik terhadap peristiwa eksternal. MPUs umumnya menjalankan OS tujuan umum, seperti Windows, Linux, atau macOS yang memberikan respons real-time yang tidakdeterministik. Biasanya tidak ada jaminan kapan tugas akan selesai.

Contoh perangkat keras dan sistem operasi khusus meliputi:

Windows untuk IoT adalah versi Windows yang disematkan untuk MPUs dengan konektivitas cloud yang memungkinkan Anda membuat perangkat aman dengan provisi dan manajemen yang mudah.

Eclipse ThreadX adalah sistem operasi real time untuk perangkat IoT dan edge yang didukung oleh MCUs. Eclipse ThreadX dirancang untuk mendukung perangkat yang sangat dibatasi yang bertenaga baterai dan memiliki memori flash kurang dari 64 KB.

Azure Sphere adalah platform aplikasi tingkat tinggi yang aman dengan fitur komunikasi dan keamanan bawaan untuk perangkat yang terhubung ke internet. Ini terdiri dari MCU yang aman, terhubung, crossover, sistem operasi berbasis Linux tingkat tinggi kustom, dan layanan keamanan berbasis cloud yang memberikan keamanan berkelanjutan dan terbarukan.

Primitif

Perangkat Azure IoT dapat menggunakan primitif berikut untuk berinteraksi dengan cloud:

  • Pesan perangkat ke cloud untuk mengirim telemetri rangkaian waktu ke cloud. Misalnya, data suhu yang dikumpulkan dari sensor yang terpasang pada perangkat.
  • Unggahan file untuk file media seperti gambar dan video yang diambil. Perangkat yang terhubung secara terputus-putus dapat mengirim batch telemetri. Perangkat dapat mengompres unggahan untuk menyimpan bandwidth.
  • Perangkat kembar untuk berbagi dan menyinkronkan data status dengan cloud. Misalnya, perangkat dapat menggunakan perangkat kembar untuk melaporkan status katup saat ini yang dikontrolnya ke cloud dan untuk menerima suhu target yang diinginkan dari cloud.
  • Kembar digital untuk mewakili perangkat di dunia digital. Misalnya, kembar digital dapat mewakili lokasi fisik perangkat, kemampuannya, dan hubungannya dengan perangkat lain.
  • Metode langsung untuk menerima perintah dari cloud. Metode langsung dapat memiliki parameter dan mengembalikan respons. Misalnya, cloud dapat memanggil metode langsung untuk meminta perangkat melakukan boot ulang dalam 30 detik.
  • Pesan cloud-ke-perangkat untuk menerima pemberitahuan satu arah dari cloud. Misalnya, pemberitahuan bahwa pembaruan siap diunduh.

Untuk mempelajari lebih lanjut, lihat Panduan komunikasi perangkat ke cloud dan panduan komunikasi cloud-ke-perangkat.

SDK Perangkat

SDK perangkat menyediakan abstraksi tingkat tinggi yang memungkinkan Anda menggunakan primitif tanpa mengetahui protokol komunikasi yang mendasar. SDK perangkat juga menangani detail pembuatan koneksi aman ke cloud dan mengautentikasi perangkat.

Untuk perangkat MPU, SDK perangkat tersedia untuk bahasa berikut:

Untuk perangkat MCU, lihat:

Sampel dan panduan

Semua SDK perangkat mencakup sampel yang menunjukkan cara menggunakan SDK untuk terhubung ke cloud, mengirim telemetri, dan menggunakan primitif lainnya.

Situs pengembangan perangkat IoT mencakup tutorial dan panduan cara yang menunjukkan kepada Anda cara menerapkan kode untuk berbagai jenis dan skenario perangkat.

Anda dapat menemukan lebih banyak sampel di browser sampel kode.

Untuk mempelajari selengkapnya tentang menerapkan koneksi ulang otomatis ke titik akhir, lihat Mengelola koneksi ulang perangkat untuk membuat aplikasi tangguh.

Pengembangan perangkat tanpa SDK perangkat

Meskipun Anda disarankan untuk menggunakan salah satu SDKS perangkat, mungkin ada skenario di mana Anda lebih suka tidak. Dalam skenario ini, kode perangkat Anda harus langsung menggunakan salah satu protokol komunikasi yang didukung IoT Hub dan Device Provisioning Service (DPS).

Untuk informasi selengkapnya, lihat:

Pemodelan perangkat

IoT Plug and Play memungkinkan penyusun solusi untuk mengintegrasikan perangkat IoT dengan solusi mereka tanpa konfigurasi manual. Inti dari IoT Plug and Play, adalah model perangkat yang digunakan perangkat untuk mengiklankan kemampuannya ke aplikasi yang mendukung IoT Plug and Play seperti IoT Central. Model ini disusun sebagai kumpulan elemen yang menentukan:

  • Properti yang mewakili status baca-saja atau bisa-tulis dari perangkat atau entitas lain. Misalnya, nomor seri perangkat mungkin merupakan properti baca-saja dan suhu target pada termostat mungkin merupakan properti yang dapat ditulis.
  • Telemetri adalah data yang dipancarkan oleh perangkat, baik data tersebut berupa aliran reguler pembacaan sensor, kesalahan sesekali, atau pesan informasi.
  • Perintah yang menjelaskan fungsi atau operasi yang bisa dilakukan pada perangkat. Misalnya, perintah bisa me-reboot gateway atau mengambil gambar menggunakan kamera jarak jauh.

Anda dapat mengelompokkan elemen-elemen ini dalam antarmuka untuk digunakan kembali di seluruh model untuk membuat kolaborasi lebih mudah dan mempercepat pengembangan.

Model ditentukan dengan menggunakan Digital Twins Definition Language (DTDL).

Penggunaan IoT Plug and Play, pemodelan, dan DTDL bersifat opsional. Anda dapat menggunakan primitif perangkat IoT tanpa menggunakan IoT Plug and Play atau pemodelan. Layanan Azure Digital Twins juga menggunakan model DTDL untuk membuat grafik kembar berdasarkan model lingkungan digital seperti bangunan atau pabrik.

Sebagai pengembang perangkat, saat Anda menerapkan perangkat IoT Plug and Play, ada serangkaian konvensi yang harus diikuti. Konvensi ini menyediakan cara standar untuk mengimplementasikan model perangkat dalam kode dengan menggunakan primitif yang tersedia di SDK perangkat.

Untuk mempelajari selengkapnya, lihat:

Kode perangkat dalam kontainer

Jika Anda menggunakan kontainer, seperti di Docker, untuk menjalankan kode perangkat, Anda dapat menyebarkan kode ke perangkat Anda dengan menggunakan kemampuan infrastruktur kontainer. Kontainer juga memungkinkan Anda menentukan lingkungan runtime untuk kode Anda dengan semua versi pustaka dan paket yang diperlukan terinstal. Kontainer memudahkan penyebaran pembaruan dan mengelola siklus hidup perangkat IoT Anda.

Azure IoT Edge menjalankan kode perangkat dalam kontainer. Anda dapat menggunakan Azure IoT Edge untuk menyebarkan modul kode ke perangkat Anda. Untuk mempelajari lebih lanjut, lihat Mengembangkan modul IoT Edge Anda sendiri.

Tip

Azure IoT Edge memungkinkan beberapa skenario. Selain menjalankan kode perangkat IoT Anda dalam kontainer, Anda dapat menggunakan Azure IoT Edge untuk menjalankan layanan Azure di perangkat Anda dan menerapkan gateway bidang. Untuk informasi selengkapnya, lihat Apa itu Azure IoT Edge?

Alat pengembangan

Tabel berikut ini mencantumkan beberapa alat pengembangan IoT yang tersedia:

Alat Deskripsi
Azure IoT Hub (ekstensi Visual Studio Code) Ekstensi Visual Studio Code ini memungkinkan Anda mengelola sumber daya dan perangkat IoT Hub dari dalam Visual Studio Code.
Penjelajah Azure IoT Alat lintas platform ini memungkinkan Anda mengelola sumber daya dan perangkat IoT Hub dari aplikasi desktop.
Ekstensi Azure IoT untuk Azure CLI Ekstensi CLI ini mencakup perintah seperti az iot device simulate, az iot device c2d-message, dan az iot hub monitor-events yang membantu Anda menguji interaksi dengan perangkat.

Langkah berikutnya

Sekarang setelah Anda melihat gambaran umum pengembangan perangkat di solusi Azure IoT, beberapa langkah berikutnya yang disarankan meliputi: