AWS IoTPerpustakaan Over the Air (OTA) - Gratis RTOS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS IoTPerpustakaan Over the Air (OTA)

catatan

Konten pada halaman ini mungkin tidak up-to-date. Silakan lihat halaman perpustakaan FreeRtos.org untuk pembaruan terbaru.

Pengantar

Pustaka pembaruanAWS IoT Over-the-air (OTA) memungkinkan Anda mengelola notifikasi, unduhan, dan verifikasi pembaruan firmware untuk perangkat FreeRTOS menggunakan HTTP atau MQTT sebagai protokol. Dengan menggunakan perpustakaan Agen OTA, Anda dapat secara logis memisahkan pembaruan firmware dan aplikasi yang berjalan di perangkat Anda. Agen OTA dapat berbagi koneksi jaringan dengan aplikasi. Dengan berbagi koneksi jaringan, Anda berpotensi menghemat sejumlah besar RAM. Selain itu, perpustakaan Agen OTA memungkinkan Anda menentukan logika khusus aplikasi untuk menguji, melakukan, atau memutar kembali pembaruan firmware.

Internet of Things (IoT) memperluas konektivitas internet ke perangkat tertanam yang secara tradisional tidak terhubung. Perangkat ini dapat diprogram untuk mengkomunikasikan data yang dapat digunakan melalui internet, dan dapat dipantau dan dikendalikan dari jarak jauh. Dengan kemajuan teknologi, perangkat tertanam tradisional ini mendapatkan kemampuan internet di ruang konsumen, industri, dan perusahaan dengan cepat.

Perangkat IoT biasanya digunakan dalam jumlah besar dan seringkali di tempat-tempat yang sulit atau tidak praktis untuk diakses oleh operator manusia. Bayangkan skenario di mana kerentanan keamanan yang dapat mengekspos data ditemukan. Dalam skenario seperti itu, penting untuk memperbarui perangkat yang terpengaruh dengan perbaikan keamanan dengan cepat dan andal. Tanpa kemampuan untuk melakukan pembaruan OTA, juga sulit untuk memperbarui perangkat yang tersebar secara geografis. Memiliki teknisi memperbarui perangkat ini akan mahal, memakan waktu, dan sering kali tidak praktis. Waktu yang diperlukan untuk memperbarui perangkat ini membuat mereka terpapar kerentanan keamanan untuk jangka waktu yang lebih lama. Mengingat perangkat ini untuk memperbarui juga akan mahal dan dapat menyebabkan gangguan yang signifikan bagi konsumen karena downtime.

Pembaruan Over the Air (OTA) memungkinkan untuk memperbarui firmware perangkat tanpa penarikan atau kunjungan teknisi yang mahal. Metode ini menambahkan manfaat berikut:

  • Keamanan - Kemampuan untuk dengan cepat merespons kerentanan keamanan dan bug perangkat lunak yang ditemukan setelah perangkat dikerahkan di lapangan.

  • Inovasi - Produk dapat diperbarui sering sebagai fitur baru yang dikembangkan, mendorong siklus inovasi. Pembaruan dapat berlaku dengan cepat dengan waktu henti minimum dibandingkan dengan metode pembaruan tradisional.

  • Biaya - Pembaruan OTA dapat mengurangi biaya perawatan secara signifikan dibandingkan dengan metode yang secara tradisional digunakan untuk memperbarui perangkat ini.

Menyediakan fungsionalitas OTA memerlukan pertimbangan desain berikut:

  • Komunikasi Aman - Pembaruan harus menggunakan saluran komunikasi terenkripsi untuk mencegah unduhan dirusak selama transit.

  • Pemulihan - Pembaruan dapat gagal karena hal-hal seperti konektivitas jaringan intermiten atau menerima pembaruan yang tidak valid. Dalam skenario ini, perangkat harus dapat kembali ke keadaan stabil dan menghindari menjadi bata.

  • Verifikasi Penulis - Pembaruan harus diverifikasi dari sumber tepercaya, bersama dengan validasi lain seperti memeriksa versi dan kompatibilitas.

Untuk informasi selengkapnya tentang pengaturan pembaruan OTA dengan FreeRTOS, lihatPembaruan FreeRTOS Over-the-Air.

AWS IoTPerpustakaan Over the Air (OTA)

PerpustakaanAWS IoT OTA memungkinkan Anda mengelola pemberitahuan pembaruan yang baru tersedia, mengunduhnya, dan melakukan verifikasi kriptografi pembaruan firmware. Dengan menggunakan perpustakaan klien over-the-air (OTA), Anda dapat secara logis memisahkan mekanisme pembaruan firmware dari aplikasi yang berjalan di perangkat Anda. Pustaka klien over-the-air (OTA) dapat berbagi koneksi jaringan dengan aplikasi, menghemat memori di perangkat yang dibatasi sumber daya. Selain itu, pustaka klien over-the-air (OTA) memungkinkan Anda menentukan logika khusus aplikasi untuk menguji, melakukan, atau memutar kembali pembaruan firmware. Perpustakaan mendukung protokol aplikasi yang berbeda seperti Message Queuing Telemetry Transport (MQTT) dan Hypertext Transfer Protocol (HTTP) dan menyediakan berbagai opsi konfigurasi yang dapat Anda sesuaikan dengan jenis dan kondisi jaringan Anda.

API library ini menyediakan fungsi-fungsi utama ini:

  • Mendaftar untuk pemberitahuan atau jajak pendapat untuk permintaan pembaruan baru yang tersedia.

  • Menerima, mengurai dan memvalidasi permintaan pembaruan.

  • Unduh dan verifikasi file sesuai dengan informasi dalam permintaan pembaruan.

  • Jalankan self-test sebelum mengaktifkan pembaruan yang diterima untuk memastikan validitas fungsional pembaruan.

  • Memperbarui status perangkat.

Perpustakaan ini menggunakanAWS layanan untuk mengelola berbagai fungsi terkait cloud seperti mengirim pembaruan firmware, memantau sejumlah besar perangkat di beberapa wilayah, mengurangi radius ledakan penyebaran yang salah, dan memverifikasi keamanan pembaruan. Perpustakaan ini dapat digunakan dengan perpustakaan MQTT atau HTTP.

Demo untuk perpustakaan ini menunjukkan over-the-air pembaruan lengkap menggunakan Perpustakaan danAWS Layanan CoreMQTT pada perangkat FreeRTOS.

Fitur

Berikut adalah antarmuka Agen OTA lengkap:

OTA_Init

Menginisialisasi mesin OTA dengan memulai OTA Agent (“OTA Task”) dalam sistem. Hanya satu Agen OTA yang mungkin ada.

OTA_Shutdown

Sinyal ke Agen OTA untuk dimatikan. Agen OTA secara opsional akan berhenti berlangganan dari semua topik pemberitahuan pekerjaan MQTT, berhenti dalam proses pekerjaan OTA, jika ada, dan menghapus semua sumber daya.

OTA_GetState

Mendapat status Agen OTA saat ini.

OTA_ActivateNewImage

Mengaktifkan gambar firmware mikrokontroler terbaru yang diterima melalui OTA. (Status pekerjaan terperinci sekarang harus self-test.)

OTA_SetImageState

Menetapkan status validasi gambar firmware mikrokontroler yang sedang berjalan (pengujian, diterima atau ditolak).

OTA_GetImageState

Mendapat keadaan gambar firmware mikrokontroler yang sedang berjalan (pengujian, diterima atau ditolak).

OTA_CheckForUpdate

Meminta pembaruan OTA berikutnya yang tersedia dari layanan Pembaruan OTA.

OTA_Suspend

Tangguhkan semua operasi Agen OTA.

OTA_Resume

Lanjutkan operasi Agen OTA.

OTA_SignalEvent

Sinyal peristiwa untuk tugas Agen OTA.

OTA_EventProcessingTask

Loop pemrosesan acara agen OTA.

OTA_GetStatistics

Dapatkan statistik paket pesan OTA yang mencakup jumlah paket yang diterima, antri, diproses dan dijatuhkan.

OTA_Err_strerror

Kode kesalahan untuk konversi string untuk kesalahan OTA.

OTA_JobParse_strerror

Mengkonversi kode kesalahan OTA Job Parsing ke string.

OTA_PalStatus_strerror

Kode status ke konversi string untuk status OTA PAL.

OTA_OsStatus_strerror

Kode status ke konversi string untuk status OS OTA.

Referensi API

Untuk informasi selengkapnya, lihat AWS IoTOver-the-air Update: Functions.

Contoh penggunaan

Aplikasi perangkat berkemampuan OTA yang khas menggunakan protokol MQTT mendorong Agen OTA dengan menggunakan urutan panggilan API berikut.

  1. Connect ke AgenAWS IoT CoremQTT. Untuk informasi selengkapnya, lihat Perpustakaan Agen CoreMQTT.

  2. Inisialisasi Agen OTA dengan meneleponOTA_Init, termasuk buffer, antarmuka ota yang diperlukan, nama benda dan callback aplikasi. Callback mengimplementasikan logika khusus aplikasi yang dijalankan setelah menyelesaikan pekerjaan pembaruan OTA.

  3. Ketika pembaruan OTA selesai, FreeRTOS memanggil callback penyelesaian pekerjaan dengan salah satu peristiwa berikut:accepted,rejected, atauself test.

  4. Jika gambar firmware baru telah ditolak (misalnya, karena kesalahan validasi), aplikasi biasanya dapat mengabaikan notifikasi dan menunggu pembaruan berikutnya.

  5. Jika pembaruan valid dan telah ditandai sebagai diterima, hubungiOTA_ActivateNewImage untuk mengatur ulang perangkat dan mem-boot gambar firmware baru.

Porting

Untuk informasi tentang mem-porting fungsionalitas OTA ke platform Anda, lihat Memindahkan Perpustakaan OTA di Panduan Porting FreeRTOS.

Penggunaan memori

Ukuran KodeAWS IoT OTA (contoh yang dihasilkan dengan GCC untuk ARM Cortex-M)
File Dengan Optimasi -O1 Dengan Optimasi -Os
ota.c 8.3K 7.5K
ota_interface.c 0.1K 0.1K
ota_base64.c 0,6K 0,6K
ota_mqtt.c 2.4K 2.2K
ota_cbor.c 0.8K 0,6K
ota_http.c 0,3K 0,3K
Total perkiraan 12.5K 11.3K