Apa praktik terbaik untuk memastikan perangkat IoT berhasil diperbarui?
Apa yang perlu Anda lakukan untuk menguji pembaruan OTA dan mengotentikasi perangkat? Melangkah lebih jauh, bagaimana Anda bisa memonitor / mengelola versi perangkat lunak (pembaruan) dari armada perangkat IoT?
testing
authentication
over-the-air-updates
Noam Hacker
sumber
sumber
Jawaban:
Saya memiliki perangkat lunak (Windows Server - sedikit berbeda dengan 'sesuatu' tetapi prinsipnya sama) yang memanggil setiap 24 jam - ia mengirimkan kembali berbagai data meta tentang dirinya:
Layanan web mem-parsing data dan menyisipkan (atau memperbarui jika pelanggan memiliki baris yang ada) baris dalam database.
Dengan cara ini pelanggan baru secara otomatis ditambahkan ke DB, pelanggan yang ada mendapatkan cap waktu 'terakhir terlihat' mereka diperbarui dan kami selalu memiliki versi perangkat lunak terbaru. Saya bisa menjalankan permintaan DB yang memberi tahu saya pelanggan mana yang ada di versi yang lebih lama, dan / atau pelanggan yang belum menelepon untuk sementara waktu.
Kami juga menerapkan pembaruan otomatis (pikirkan pembaruan OTA) baru-baru ini dan karena ini adalah proses kritis, kami menerapkan telemetri khusus untuk ini - yang mencatat:
Ini memungkinkan kami untuk menentukan apakah aspek-aspek tertentu dari pembaruan otomatis gagal dan dalam banyak kasus memungkinkan kami menghubungi pelanggan sesering sebelum mereka bahkan melihat ada sesuatu yang salah.
Perbedaan besar dengan 'hal-hal' adalah bahwa Anda biasanya dibatasi oleh memori, jadi untuk melakukan pembaruan
xxx Kb
firmware OTA Anda membutuhkanxxx Kb * 2
memori yang tersedia (firmware yang ada + memori yang cukup untuk menyimpan firmware baru sebelum memulai pembaruan firmware yang sebenarnya)sumber
thing
saya mungkin akan mem-flash LED atau sesuatu untuk mengingatkan pengguna (dengan asumsi Anda ingin pengguna untuk 'mengizinkan' pembaruan) dan kemudian minta mereka 'tekan lama' tombol untuk memulainya ...Anda dapat, misalnya, membuat permintaan setiap X minggu / hari / jam ... ke server dengan nomor versi perangkat lunak saat ini. Anda akan dapat menggunakan analitik untuk melihat persentase saat ini dan jumlah perangkat yang diperbarui.
sumber
Ini semua tentang kebijakan sinkronisasi cerdas
Anda memerlukan kebijakan sinkronisasi cerdas yang bekerja bersama-sama dengan pendekatan peluncuran pembaruan Anda. Titik paling jelas dalam waktu di mana perangkat IoT harus menyinkronkan versinya adalah langsung setelah pembaruan . Jadwal sinkronisasi lainnya sangat tergantung pada jenis perangkat.
Apakah selalu aktif dan terhubung melalui koneksi kabel di mana sinkronisasi tunggal tidak dikenakan biaya (banyak) masuk akal untuk melakukan sinkronisasi secara berkala untuk menjaga data Anda tentang perangkat saat ini.
Jika perangkat ada di suatu tempat setiap bit mahal karena Anda menggunakan koneksi satelit mahal jadwal sinkronisasi harus mengakomodasi keadaan itu.
Verifikasi sinkronisasi
Dalam perangkat yang cukup canggih (baca kisaran harga atau area operasi yang membenarkannya), setiap perangkat dapat dilengkapi dengan sertifikat klien yang memungkinkan pemeriksaan keaslian sinkronisasi.
Bagaimanapun dengan perangkat pelanggan akhir Anda akan selalu memiliki perangkat jatuh dari radar karena baterai sekarat, perangkat jatuh dari penggunaan atau hanya pelanggan mengubah kata sandi nirkabelnya dan tidak memberi tahu perangkat IoT. Mereka mungkin tidak harus melakukan apa pun dengan pembaruan Anda, bahkan jika mereka jatuh bersama waktu-bijaksana.
sumber