Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Perbarui Perangkat for Azure IoT Hub mendukung pembaruan berbasis gambar, berbasis paket, dan berbasis skrip. Tutorial ini menunjukkan pembaruan Device Update for IoT Hub berbasis gambar end-to-end menggunakan gambar Yocto pada papan Raspberry Pi 3 B+.
Pembaruan gambar memberikan tingkat keyakinan yang tinggi dalam status akhir perangkat, dan tidak menimbulkan tantangan manajemen paket dan dependensi yang sama seperti pembaruan berbasis paket atau skrip. Lebih mudah untuk mereplikasi hasil pembaruan gambar antara lingkungan praproduksi dan produksi, atau dengan mudah mengadopsi model failover A/B.
Di tutorial ini, Anda akan:
- Unduh dan instal pembaruan gambar.
- Tetapkan tag ke perangkat IoT Anda.
- Impor pembaruan gambar.
- Sebarkan pembaruan gambar.
- Lihat riwayat penyebaran pembaruan.
Prasyarat
Akun dan instans Pembaruan Perangkat yang dikonfigurasi dengan hub IoT.
Papan Raspberry Pi 3 IoT terhubung melalui Ethernet ke perangkat keras yang dapat mengunduh dan mengekstrak file gambar dan mengontrol perangkat.
Catatan
Pembaruan gambar dalam tutorial ini divalidasi pada papan Raspberry Pi B3.
Daftarkan perangkat dan dapatkan string koneksi
Tambahkan perangkat Anda ke registri perangkat di hub IoT Anda dan dapatkan string koneksi yang dihasilkan IoT Hub untuk perangkat.
- Di portal Azure, buka halaman hub IoT yang terkait dengan instans Pembaruan Perangkat Anda.
- Di panel navigasi kiri, pilih Perangkat manajemen>perangkat.
- Pada halaman Perangkat , pilih Tambahkan Perangkat.
- Di bawah ID Perangkat, masukkan nama untuk perangkat. Pastikan kotak centang Buat otomatis kunci dipilih.
- Pilih Simpan. Perangkat muncul dalam daftar di halaman Perangkat .
- Pada halaman Perangkat , pilih perangkat yang Anda daftarkan.
- Pada halaman perangkat, pilih ikon Salin di samping String koneksi (kunci utama). Simpan perangkat ini string koneksi untuk digunakan saat Anda mengonfigurasi agen Pembaruan Perangkat.
Catatan
Untuk tujuan demonstrasi, tutorial ini menggunakan perangkat string koneksi untuk mengautentikasi dan terhubung dengan hub IoT. Untuk skenario produksi, lebih baik menggunakan identitas modul dan IoT Identity Service untuk memprovisikan perangkat. Untuk informasi selengkapnya, lihat Provisi agen Pembaruan Perangkat.
Siapkan Raspberry Pi
File Tutorial_RaspberryPi3.zip memiliki semua file yang diperlukan untuk tutorial. Unduh file dari bagian Aset dari rilis terbaru di halaman Rilis Pembaruan Perangkat GitHub, dan buka zipnya.
Dalam folder Tutorial_RaspberryPi3 yang diekstrak, gambar dasar yang dapat Anda flash ke papan Raspberry Pi adalah adu-base-image-raspberrypi3.wic. Gambar dasar menggunakan build Yocto berdasarkan rilis 3.4.4. Gambar memiliki agen Pembaruan Perangkat dan SWUpdate, yang memungkinkan pembaruan partisi ganda Pembaruan Perangkat. Untuk informasi selengkapnya tentang lapisan Yocto, lihat Membangun sistem berbasis Linux kustom dengan agen Pembaruan Perangkat menggunakan Proyek Yocto.
File pembaruan yang Anda impor melalui Pembaruan Perangkat adalah:
- File SWUpdate adu-update-image-raspberrypi3-1.2.0.swu
- Skrip SWUpdate Kustom example-a-b-update.sh
- EDS-ADUClient.yocto-update.1.2.0.importmanifest.json manifes
Gunakan bmaptool untuk mem-flash kartu SD
Penting
Perangkat lunak Azure Device Update for IoT Hub tunduk pada persyaratan lisensi berikut:
Baca ketentuan lisensi sebelum menggunakan agen. Penginstalan dan penggunaan agen merupakan penerimaan dari persyaratan ini. Jika Anda tidak setuju dengan persyaratan lisensi, jangan gunakan agen Pembaruan Perangkat.
Gunakan alat berkedip OS untuk menginstal gambar dasar Pembaruan Perangkat pada kartu SD yang Anda gunakan di perangkat Raspberry Pi. Instruksi berikut digunakan bmaptool
untuk mem-flash ke kartu SD.
<device>
Ganti tempat penampung dengan nama perangkat dan <path to image>
tempat penampung Anda dengan jalur ke file gambar yang diunduh.
bmap-tools
Instal utilitas jika Anda tidak memilikinya.sudo apt-get install bmap-tools
Temukan jalur kartu SD di /dev. Jalur akan terlihat seperti /dev/sd* atau /dev/mmcblk*. Anda dapat menggunakan utilitas
dmesg
untuk membantu menemukan jalur yang benar.Lepaskan semua partisi yang dipasang sebelum flash.
sudo umount /dev/<device>
Pastikan Anda memiliki izin tertulis pada peranti.
sudo chmod a+rw /dev/<device>
Lakukan flash pada kartu SD.
sudo bmaptool copy <path to image> /dev/<device>
Tip
Untuk flashing yang lebih cepat, Anda dapat mengunduh file bimap dan file gambar dan menempatkannya di direktori yang sama.
Mengonfigurasi agen Pembaruan Perangkat di Raspberry Pi
Pastikan Bahwa Raspberry Pi terhubung ke jaringan.
Secure shell (SSH) ke raspberry Pi dengan menggunakan perintah berikut di jendela PowerShell:
ssh raspberrypi3 -l root
Membuat file konfigurasi Pembaruan Perangkat
File konfigurasi Du-config.json Pembaruan Perangkat dan du-diagnostics-config.json harus ada di perangkat. Untuk membuat file, jalankan perintah berikut di terminal yang masuk ke Raspberry Pi.
Untuk membuat file du-config.json atau membukanya untuk pengeditan, jalankan perintah berikut:
nano /adu/du-config.json
Editor membuka file du-config.json . Jika Anda membuat file, file tersebut kosong. Salin dan tempel kode berikut ke dalam file, ganti nilai contoh dengan konfigurasi yang diperlukan untuk perangkat Anda. Ganti string contoh
connectionData
dengan perangkat string koneksi Anda salin di langkah pendaftaran perangkat.{ "schemaVersion": "1.0", "aduShellTrustedUsers": [ "adu", "do" ], "manufacturer": "contoso", "model": "virtual-vacuum-v2", "agents": [ { "name": "main", "runas": "adu", "connectionSource": { "connectionType": "string", "connectionData": "HostName=<hub_name>.azure-devices.net;DeviceId=<device_id>;SharedAccessKey=<device_key>" }, "manufacturer": "contoso", "model": "virtual-vacuum-v2" } ] }
Tekan Ctrl+X untuk keluar dari editor, dan masukkan y untuk menyimpan perubahan Anda.
Buat file du-diagnostics-config.json dengan menggunakan perintah serupa. Buat dan buka file:
nano /adu/du-diagnostics-config.json
Salin dan tempel kode du-diagnostics-config.json berikut ke dalam file. Nilainya adalah lokasi log Pembaruan Perangkat default, dan Anda perlu mengubahnya hanya jika konfigurasi Anda berbeda dari default.
{ "logComponents":[ { "componentName":"adu", "logPath":"/adu/logs/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
Tekan Ctrl+X untuk keluar dari editor, dan masukkan y untuk menyimpan perubahan Anda.
Gunakan perintah berikut untuk menampilkan file yang terletak di direktori /adu/ . Anda akan melihat kedua file konfigurasi.
ls -la /adu/
Gunakan perintah berikut untuk memulai ulang daemon sistem Pembaruan Perangkat dan pastikan konfigurasi diterapkan.
systemctl start deviceupdate-agent
Periksa apakah agen ditayangkan dengan menjalankan perintah berikut:
systemctl status deviceupdate-agent
Status akan muncul sebagai hidup dan hijau.
Menyambungkan ke perangkat di IoT Hub dan menambahkan tag grup
Pada halaman hub IoT portal Azure untuk instans Pembaruan Perangkat Anda, pilih Perangkat Manajemen>perangkat dari navigasi kiri.
Pada halaman Perangkat , pilih nama perangkat Anda.
Di bagian atas halaman perangkat, pilih Perangkat kembar.
Pada halaman Perangkat kembar, di bawah bagian
"reported"
kembar"properties"
perangkat, cari versi kernel Linux untuk perangkat Anda.Untuk perangkat baru yang belum menerima pembaruan dari Pembaruan Perangkat, nilai properti DeviceManagement:DeviceInformation:1.swVersion mewakili versi firmware yang berjalan di perangkat. Setelah perangkat menerapkan pembaruan, nilai properti AzureDeviceUpdateCore:ClientMetadata:4.installUpdateId mewakili versi firmware.
Nama file gambar dasar dan pembaruan memiliki format adu-image< type-image-machine-version<<>> number.<>ekstensi>. Perhatikan nomor versi yang akan digunakan saat Anda mengimpor pembaruan.
Menambahkan tag grup
Pembaruan Perangkat secara otomatis mengatur perangkat ke dalam grup berdasarkan tag dan properti kompatibilitas yang ditetapkan. Setiap perangkat hanya dapat termasuk dalam satu grup, tetapi grup dapat memiliki beberapa subgrup untuk mengurutkan kelas perangkat yang berbeda. Untuk informasi selengkapnya tentang tag dan grup, lihat Mengelola grup perangkat.
Di perangkat kembar, hapus nilai tag Pembaruan Perangkat yang ada dengan mengaturnya ke null, lalu tambahkan tag grup Pembaruan Perangkat baru berikut. Jika Anda menggunakan Identitas Modul dengan agen Pembaruan Perangkat, tambahkan tag di Module Identity Twin , bukan perangkat kembar.
"tags": { "ADUGroup": "<CustomTagValue>" },
Cuplikan layar berikut menunjukkan di mana dalam file untuk menambahkan tag.
Pilih Simpan.
Mengimpor pembaruan
Pada halaman hub IoT portal Azure untuk instans Pembaruan Perangkat Anda, pilih Manajemen Perangkat> Updates dari navigasi kiri.
Pada halaman Pembaruan , pilih Impor pembaruan baru.
Pada halaman Impor pembaruan , pilih Pilih dari kontainer penyimpanan.
Pada halaman Akun penyimpanan , pilih akun penyimpanan yang sudah ada atau buat akun baru dengan memilih Akun penyimpanan.
Pada halaman Kontainer , pilih kontainer yang sudah ada atau buat kontainer baru dengan memilih Kontainer. Anda menggunakan kontainer untuk menahapkan file pembaruan untuk diimpor.
Tip
Untuk menghindari impor file secara tidak sengaja dari pembaruan sebelumnya, gunakan kontainer baru setiap kali Anda mengimpor pembaruan. Jika Anda tidak menggunakan kontainer baru, pastikan untuk menghapus file apa pun dari kontainer yang ada.
Pada halaman kontainer, pilih Unggah. Seret dan letakkan, atau telusuri dan pilih, file pembaruan berikut dari folder Tutorial_RaspberryPi3 yang Anda unduh:
- adu-update-image-raspberrypi3-1.2.0.swu
- example-a-b-update.sh
- EDS-ADUClient.yocto-update.1.2.0.importmanifest.json
Pilih Unggah. Setelah diunggah, file muncul di halaman kontainer.
Pada halaman kontainer, tinjau dan pilih file yang akan diimpor, lalu pilih Pilih.
Pada layar Impor pembaruan, pilih Impor pembaruan.
Proses impor dimulai, dan layar beralih ke layar Pembaruan . Setelah impor berhasil, impor akan muncul di tab Pembaruan . Untuk informasi selengkapnya tentang proses impor, lihat Mengimpor pembaruan ke Pembaruan Perangkat.
Pilih grup perangkat
Anda dapat menggunakan tag grup yang Anda terapkan ke perangkat Anda untuk menyebarkan pembaruan ke grup perangkat. Pilih tab Grup dan Penyebaran di bagian atas halaman Pembaruan untuk melihat daftar grup dan penyebaran dan bagan kepatuhan pembaruan.
Bagan kepatuhan pembaruan memperlihatkan jumlah perangkat di berbagai status kepatuhan: Pada pembaruan terbaru, Pembaruan baru tersedia, dan Pembaruan sedang Berlangsung. Untuk informasi selengkapnya, lihat Kepatuhan Pembaruan Perangkat.
Di bawah Nama grup, Anda akan melihat daftar semua grup perangkat untuk perangkat yang tersambung ke hub IoT ini dan pembaruan yang tersedia, dengan tautan untuk menyebarkan pembaruan di bawah Status. Perangkat apa pun yang tidak memenuhi persyaratan kelas perangkat grup muncul dalam grup yang tidak valid yang sesuai. Untuk informasi selengkapnya tentang tag dan grup, lihat Mengelola grup perangkat.
Anda akan melihat grup perangkat yang berisi perangkat yang Anda siapkan dalam tutorial ini, bersama dengan pembaruan yang tersedia untuk perangkat dalam grup. Anda mungkin perlu merefresh halaman. Untuk menyebarkan pembaruan terbaik yang tersedia ke grup dari tampilan ini, pilih Sebarkan di samping grup.
Menyebarkan pembaruan
Pada halaman Detail grup, pilih tab Penyebaran saat ini, lalu pilih Sebarkan di samping pembaruan yang diinginkan di bagian Pembaruan yang tersedia. Pembaruan terbaik yang tersedia untuk grup ditandai dengan sorotan Terbaik .
Pada halaman Buat penyebaran , jadwalkan penyebaran Anda untuk segera dimulai atau di masa mendatang, lalu pilih Buat.
Tip
Secara default, tanggal dan waktu Mulai adalah 24 jam dari waktu Anda saat ini. Pastikan untuk memilih tanggal dan waktu yang berbeda jika Anda ingin penyebaran dimulai lebih cepat.
Di bawah Detail penyebaran, Status berubah menjadi Aktif. Di bawah Pembaruan yang tersedia, pembaruan yang dipilih ditandai dengan (menyebarkan).
Pada halaman Pembaruan , lihat bagan kepatuhan untuk melihat bahwa pembaruan sekarang sedang berlangsung. Setelah perangkat Anda berhasil diperbarui, bagan kepatuhan dan pembaruan detail penyebaran Anda untuk mencerminkan status tersebut.
Melihat riwayat penyebaran pembaruan
Untuk melihat riwayat penyebaran:
Pilih tab Riwayat penyebaran di bagian atas halaman Detail grup, dan pilih tautan detail di samping penyebaran yang Anda buat.
Pada halaman Detail penyebaran, pilih Refresh untuk melihat detail status terbaru.
Membersihkan sumber daya
Ketika Anda tidak lagi memerlukan sumber daya yang Anda buat untuk tutorial ini, Anda dapat menghapusnya.
- Di portal Azure, navigasikan ke grup sumber daya yang berisi sumber daya.
- Jika Anda ingin menghapus semua sumber daya dalam grup, pilih Hapus grup sumber daya.
- Jika Anda hanya ingin menghapus beberapa sumber daya, gunakan kotak centang untuk memilih sumber daya lalu pilih Hapus.
Langkah berikutnya
- Device Update for IoT Hub menggunakan agen simulator
- Device Update for IoT Hub menggunakan agen paket