Perpustakaan Agen OTA - FreeRTOS

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

Perpustakaan Agen OTA

penting

Ini adalah versi arsip dari Panduan Pengguna FreerTOS untuk digunakan dengan rilis FreerTOS 202012.00. Untuk versi terbaru dari dokumen ini, lihat Panduan Pengguna FreeRTOS.

Gambaran Umum

Perpustakaan Agen OTAIni memungkinkan Anda untuk mengelola pemberitahuan, download, 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, pustaka Agen OTA memungkinkan Anda menentukan logika khusus aplikasi untuk menguji, melakukan, atau memutar kembali pembaruan firmware.

Untuk informasi selengkapnya tentang menyiapkan pembaruan OTA dengan FreeRTOS, lihat. Pembaruan FreeRTOS Over-the-Air

Fitur

Berikut adalah antarmuka Agen OTA lengkap:

OTA_AgentInit

Menginisialisasi Agen OTA. Penelepon menyediakan konteks protokol pesan, panggilan balik opsional, dan batas waktu.

OTA_AgentShutdown

Membersihkan sumber daya setelah menggunakan Agen OTA.

OTA_GetAgentState

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 status 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.

Referensi API

Untuk informasi selengkapnya, lihat Referensi API Agen OTA.

Contoh penggunaan

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

  1. Connect ke broker AWS IoT MQTT. Untuk informasi selengkapnya, lihat Perpustakaan CoreMQTT.

  2. Inisialisasi Agen OTA dengan meneleponOTA_AgentInit. Aplikasi Anda dapat menentukan fungsi callback OTA kustom atau menggunakan callback default dengan menentukan pointer fungsi callback NULL. Anda juga harus menyediakan batas waktu inisialisasi.

    Callback mengimplementasikan logika khusus aplikasi yang dijalankan setelah menyelesaikan pekerjaan pembaruan OTA. Batas waktu menentukan berapa lama menunggu inisialisasi selesai.

  3. Jika OTA_AgentInit waktunya habis sebelum Agen siap, Anda dapat menelepon OTA_GetAgentState untuk mengonfirmasi bahwa Agen diinisialisasi dan beroperasi seperti yang diharapkan.

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

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

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

Porting

Untuk informasi tentang porting fungsionalitas OTA ke platform Anda, lihat Porting Perpustakaan OTA di Panduan Porting FreerTOS.

Penggunaan memori

Ukuran Kode AWS IoT OTA (contoh yang dihasilkan dengan GCC untuk ARM Cortex-M)
File Dengan Optimasi -O1 Dengan Optimasi -Os
ota.c 8.0K 7.2K
ota_interface.c 0,1K 0,1K
ota_base64.c 0.6K 0.6K
ota_mqtt.c 2.3K 2.2K
ota_cbor.c 0.8K 0.6K
ota_http.c 0.3K 0.3K
Total perkiraan 12.1K 11.0K