Bagikan melalui


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:

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