Device Update for IoT Hub dan IoT Plug and Play
Device Update for IoT Hub menggunakan IoT Plug and Play untuk menemukan dan mengelola perangkat yang mampu memperbarui melalui udara. Layanan Pembaruan Perangkat akan mengirim dan menerima properti serta pesan ke dan dari perangkat menggunakan antarmuka IoT Plug and Play.
Untuk informasi selengkapnya:
- Pahami klien perangkat IoT Plug and Play.
- Lihat bagaimana agen Pembaruan Perangkat diterapkan.
Model Pembaruan Perangkat
ID Model adalah cara perangkat pintar mengiklankan kemampuannya ke aplikasi Azure IoT dengan IoT Plug and Play.Untuk mempelajari lebih lanjut tentang cara membuat perangkat pintar untuk mengiklankan kemampuannya ke aplikasi Azure IoT, kunjungi panduan pengembang perangkat Plug and Play IoT.
Device Update for IoT Hub memerlukan perangkat pintar IoT Plug and Play untuk mengumumkan ID model sebagai bagian dari koneksi perangkat. Pelajari cara mengumumkan ID model.
Device Update memiliki beberapa model PnP yang didefinisikan yang mendukung fitur DU. Model Pembaruan Perangkat, 'dtmi:azure:iot:deviceUpdateContractModel; 3', mendukung fungsionalitas inti dan menggunakan antarmuka inti pembaruan perangkat untuk mengirim tindakan pembaruan dan metadata ke perangkat dan menerima status pembaruan dari perangkat.
Model lain yang didukung adalah dtmi:azure:iot:deviceUpdateModel; 3 yang memperluas deviceUpdateContractModel; 3 dan juga menggunakan antarmuka PnP lainnya yang mengirim properti dan informasi perangkat dan mengaktifkan fitur diagnostik. Pelajari selengkapnya tentang [Model Pembaruan Perangkat dan Versi Antarmuka] (https://github.com/Azure/iot-plugandplay-models/tree/main/dtmi/azure/iot).
Agen Pembaruan Perangkat menggunakan dtmi:azure:iot:deviceUpdateModel; 3 yang mendukung semua fitur terbaru dalam rilis 1.1.0. Model ini mendukung versi manifes V5. Manifes yang lebih lama akan bekerja dengan agen terbaru tetapi fitur baru memerlukan penggunaan versi manifes terbaru.
Metadata Agen
Agen Pembaruan Perangkat menggunakan bidang metadata agen untuk mengirim informasi ke layanan Pembaruan Perangkat.
Nama | Skema | Arah | Deskripsi | Contoh |
---|---|---|---|---|
deviceProperties | Peta | perangkat ke cloud | Kumpulan properti yang berisi produsen, model, dan informasi perangkat lainnya. | Lihat bagian Properti perangkat untuk detailnya. |
compatPropertyNames | String (dipisahkan koma) | perangkat ke cloud | Perangkat melaporkan properti yang digunakan untuk memeriksa kompatibilitas perangkat untuk menargetkan penyebaran pembaruan. Terbatas pada lima properti perangkat. | "compatPropertyNames": "produsen,model" |
lastInstallResult | Peta | perangkat ke cloud | Hasilnya dilaporkan oleh agen. Ini berisi kode hasil, kode hasil yang diperpanjang, dan detail hasil untuk pembaruan utama dan pembaruan langkah lainnya. | |
resultCode | Integer | perangkat ke cloud | Kode yang berisi informasi tentang hasil tindakan pembaruan terakhir. Dapat diisi baik untuk keberhasilan atau kegagalan. | 700 |
extendedResultCode | Integer | perangkat ke cloud | Kode yang berisi informasi tambahan tentang hasil. Dapat diisi baik untuk keberhasilan atau kegagalan. | 0x80004005 |
resultDetails | string | perangkat ke cloud | String formulir gratis yang ditentukan pelanggan untuk memberikan detail hasil tambahan. Kembali ke twin tanpa mengurai | |
stepResults | peta | perangkat ke cloud | Hasil yang dilaporkan oleh agen yang berisi kode hasil, kode hasil yang diperpanjang, dan detail hasil untuk pembaruan langkah. | "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""} |
state | Integer | perangkat ke cloud | Ini adalah bilangan bulat yang menunjukkan status agen Pembaruan Perangkat saat ini. | Lihat bagian Status untuk mengetahui detailnya. |
workflow | kompleks | perangkat ke cloud | Kumpulan nilai yang menunjukkan penerapan mana yang sedang dikerjakan oleh agen, ID penerapan saat ini, dan pengakuan atas setiap permintaan coba lagi yang dikirim dari layanan ke agen. Perhatikan bahwa ID alur kerja melaporkan nilai "nodeployment" setelah penyebaran dibatalkan. | "workflow": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"} |
installedUpdateId | string | perangkat ke cloud | ID pembaruan yang saat ini diinstal (melalui Pembaruan Perangkat). Nilai ini adalah string yang mengambil JSON ID Pembaruan atau null untuk perangkat yang tidak pernah melakukan pembaruan melalui Pembaruan Perangkat. | installedUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}" |
Properti perangkat
Bidang deviceProperties berisi informasi produsen dan model untuk perangkat.
Nama | Skema | Arah | Deskripsi |
---|---|---|---|
produsen | string | perangkat ke cloud | Produsen perangkat dari perangkat, dilaporkan melalui deviceProperties . Properti ini dibaca dari salah satu dari dua tempat - pertama, antarmuka DeviceUpdateCore mencoba membaca nilai 'aduc_manufacturer' dari file Konfigurasi. Jika nilai tidak diisi dalam file konfigurasi, defaultnya adalah melaporkan definisi waktu kompilasi untuk ADUC_DEVICEPROPERTIES_MANUFACTURER. Properti ini hanya dilaporkan pada waktu boot. Nilai default: 'Contoso'. |
model | string | perangkat ke cloud | Model perangkat dari perangkat, dilaporkan melalui deviceProperties . Properti ini dibaca dari salah satu dari dua tempat - pertama, antarmuka DeviceUpdateCore mencoba membaca nilai 'aduc_model' dari file Konfigurasi. Jika nilai tidak diisi dalam file konfigurasi, defaultnya adalah melaporkan definisi waktu kompilasi untuk ADUC_DEVICEPROPERTIES_MODEL. Properti ini hanya dilaporkan pada waktu boot. Nilai default: 'Video' |
contractModelId | string | perangkat ke cloud | Properti ini digunakan oleh layanan untuk mengidentifikasi versi model dasar yang digunakan oleh agen Pembaruan Perangkat untuk mengelola dan berkomunikasi dengan agen. Nilai: 'dtmi:azure:iot:deviceUpdateContractModel; 3' untuk perangkat yang menggunakan agen DU versi 1.1.0. Catatan: Agen yang menggunakan 'dtmi:azure:iot:deviceUpdateModel; 2' harus melaporkan contractModelId sebagai 'dtmi:azure:iot:deviceUpdateContractModel; 3' sebagai deviceUpdateModel; 3 diperluas dari deviceUpdateContractModel; 3 |
aduVer | string | perangkat ke cloud | Versi agen Pembaruan Perangkat yang berjalan di perangkat. Nilai ini dibaca dari build hanya jika ENABLE_ADU_TELEMETRY_REPORTING diatur ke 1 (true) selama waktu kompilasi. Pelanggan dapat memilih untuk menyisih dari pelaporan versi dengan menyetel nilai ke 0 (salah). Cara menyesuaikan properti agen Pembaruan Perangkat. |
doVer | string | perangkat ke cloud | Versi agen Pengoptimalan Pengiriman yang berjalan di perangkat. Nilai dibaca dari build hanya jika ENABLE_ADU_TELEMETRY_REPORTING diatur ke 1 (true) selama waktu kompilasi. Pelanggan dapat memilih untuk tidak ikut pelaporan versi dengan mengatur nilainya ke 0 (salah). Cara menyesuaikan properti agen Pengoptimalan Pengiriman. |
Properti kompatibilitas kustom | Ditentukan Pengguna | perangkat ke cloud | Pelaksana dapat menentukan properti perangkat lain yang akan digunakan untuk pemeriksaan kompatibilitas saat menargetkan penyebaran pembaruan. |
Contoh kembar perangkat IoT Hub:
"deviceUpdate": {
"__t": "c",
"agent": {
"deviceProperties": {
"manufacturer": "contoso",
"model": "virtual-vacuum-v1",
"contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;3",
"aduVer": "DU;agent/1.1.0",
},
"compatPropertyNames": "manufacturer,model",
"lastInstallResult": {
"resultCode": 700,
"extendedResultCode": 0,
"resultDetails": "",
"stepResults": {
"step_0": {
"resultCode": 700,
"extendedResultCode": 0,
"resultDetails": ""
}
}
},
"state": 0,
"workflow": {
"action": 3,
"id": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01",
"retryTimestamp": "2022-01-26T11:33:29.9680598Z"
},
"installedUpdateId": "{\"provider\":\"Contoso\",\"name\":\"Virtual-Vacuum\",\"version\":\"5.0\"}"
},
Catatan
Perangkat atau modul harus menambahkan penanda {"__t": "c"}
untuk menunjukkan bahwa elemen merujuk ke komponen. Untuk informasi selengkapnya, lihat Konvensi Plug and Play IoT.
Provinsi
Bidang Status adalah status yang dilaporkan oleh agen Pembaruan Perangkat (DU) setelah menerima tindakan dari layanan Pembaruan Perangkat. Status dilaporkan sebagai tanggapan atas Tindakan (lihat bagian Tindakan untuk detailnya) yang dikirim ke agen Pembaruan Perangkat dari layanan Pembaruan Perangkat. Untuk informasi selengkapnya tentang permintaan yang mengalir antara layanan Pembaruan Perangkat dan agen Pembaruan Perangkat, lihat alur kerja gambaran umum.
Nama | Nilai | Deskripsi |
---|---|---|
Diam | 0 | Perangkat siap menerima tindakan dari layanan Pembaruan Perangkat. Setelah pembaruan berhasil, status dikembalikan ke status Idle . |
DeploymentInprogress | 6 | Penyebaran sedang dalam proses. |
Gagal | 255 | Terjadi kegagalan saat memperbarui. |
DownloadSucceeded | 2 | Unduhan yang berhasil. Status ini hanya dilaporkan oleh perangkat dengan agen versi 0.7.0 atau lebih lama. |
InstallSucceeded | 4 | Penginstalan yang berhasil. Status ini hanya dilaporkan oleh perangkat dengan agen versi 0.7.0 atau lebih lama. |
Metadata layanan
Metadata layanan berisi bidang yang digunakan layanan Pembaruan Perangkat untuk mengomunikasikan tindakan dan data ke agen Pembaruan Perangkat.
Nama | Skema | Arah | Deskripsi |
---|---|---|---|
tindakan | Integer | cloud ke perangkat | Bilangan bulat yang sesuai dengan tindakan yang harus dilakukan agen. Lihat bagian Tindakan untuk detailnya. |
updateManifest | string | cloud ke perangkat | Digunakan untuk mendeskripsikan konten pembaruan. Dihasilkan dari Manifes impor. |
updateManifestSignature | Objek JSON | cloud ke perangkat | JSON Web Signature (JWS) dengan JSON Web Keys digunakan untuk verifikasi sumber. |
fileUrls | Peta | cloud ke perangkat | Peta FileID hingga DownloadUrl . Memberi tahu agen, file mana yang akan diunduh dan hash yang digunakan untuk memverifikasi bahwa file telah diunduh dengan benar. |
Perbuatan
Bidang tindakan menunjukkan tindakan yang diambil oleh agen Pembaruan Perangkat seperti yang diinstruksikan oleh layanan Pembaruan Perangkat. Agen Pembaruan Perangkat akan melaporkan status untuk memproses tindakan yang diterima. Untuk informasi selengkapnya tentang permintaan yang mengalir antara layanan Pembaruan Perangkat dan agen Pembaruan Perangkat, lihat alur kerja gambaran umum.
Nama | Nilai | Deskripsi |
---|---|---|
applyDeployment | 3 | Terapkan pembaruan. Ini memberi sinyal ke perangkat untuk menerapkan pembaruan yang disebarkan |
batalkan | 255 | Berhenti memproses tindakan saat ini dan kembali ke Idle , atau beri tahu agen dalam status Failed untuk kembali ke Idle . |
unduh | 0 | Unduh konten yang diterbitkan atau perbarui dan konten lain apa pun yang diperlukan. Tindakan ini hanya dikirim ke perangkat dengan agen versi 0.7.0 atau yang lebih lama. |
Instal | 1 | Pasang konten atau perbarui. Biasanya tindakan ini berarti memanggil alat penginstal untuk konten atau pembaruan. Tindakan ini hanya dikirim ke perangkat dengan agen versi 0.7.0 atau yang lebih lama. |
terapkan | 2 | Menyelesaikan pembaruan. Ini menandakan sistem untuk reboot jika perlu. Tindakan ini hanya dikirim ke perangkat dengan agen versi 0.7.0 atau yang lebih lama. |
Antarmuka informasi perangkat
Antarmuka informasi perangkat adalah konsep yang digunakan dalam arsitektur IoT Plug and Play. Ini berisi properti perangkat ke cloud yang memberikan informasi tentang perangkat keras dan sistem operasi perangkat. Device Update for IoT Hub menggunakan properti DeviceInformation.manufacturer
dan DeviceInformation.model
untuk telemetri dan diagnostik. Untuk mempelajari selengkapnya, lihat contoh antarmuka informasi perangkat ini.
Nama komponen yang diharapkan dalam model Anda adalah deviceInformation saat antarmuka ini diterapkan. Pelajari Komponen Azure IoT Plug and Play
Nama | Tipe | Skema | Arah | Deskripsi | Contoh |
---|---|---|---|---|---|
produsen | Properti | string | perangkat ke cloud | Nama perusahaan produsen perangkat. Properti ini bisa sama dengan nama produsen peralatan asli (OEM). | Contoso |
model | Properti | string | perangkat ke cloud | Nama atau ID model perangkat. | Perangkat IoT Edge |
swVersion | Properti | string | perangkat ke cloud | Versi perangkat lunak pada perangkat Anda. swVersion bisa menjadi versi firmware Anda. | 4.15.0-122 |
osName | Properti | string | perangkat ke cloud | Nama sistem operasi pada perangkat. | Ubuntu Server 18.04 |
processorArchitecture | Properti | string | perangkat ke cloud | Arsitektur prosesor pada perangkat. | ARM64 |
processorManufacturer | Properti | string | perangkat ke cloud | Nama produsen prosesor pada perangkat. | Microsoft |
totalStorage | Properti | string | perangkat ke cloud | Total penyimpanan yang tersedia pada perangkat dalam kilobyte. | 2048 |
totalMemory | Properti | string | perangkat ke cloud | Total memori yang tersedia pada perangkat dalam kilobyte. | 256 |
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk