Prasyarat untuk pembaruan menggunakan OTA HTTP - Gratis RTOS

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

Prasyarat untuk pembaruan menggunakan OTA HTTP

Bagian ini menjelaskan persyaratan umum untuk menggunakan HTTP untuk melakukan over-the-air (OTA) pembaruan. Dimulai dengan versi 201912.00, Free RTOS OTA dapat menggunakan MQTT protokol HTTP atau untuk mentransfer gambar pembaruan firmware dari AWS IoT perangkat ke perangkat.

catatan
  • Meskipun HTTP protokol dapat digunakan untuk mentransfer gambar firmware, pustaka MQTT Agen inti masih diperlukan karena interaksi lain dengan AWS IoT Core menggunakan pustaka MQTT Agen inti, termasuk mengirim atau menerima pemberitahuan eksekusi pekerjaan, dokumen pekerjaan, dan pembaruan status eksekusi.

  • Saat Anda menentukan keduanya MQTT dan HTTP protokol untuk pekerjaan OTA pembaruan, penyiapan perangkat lunak OTA Agen pada setiap perangkat menentukan protokol yang digunakan untuk mentransfer gambar firmware. Untuk mengubah OTA Agen dari metode MQTT protokol default ke HTTP protokol, Anda dapat memodifikasi file header yang digunakan untuk mengkompilasi kode RTOS sumber Gratis untuk perangkat.

Persyaratan minimum

  • Firmware perangkat harus menyertakan RTOS pustaka Gratis yang diperlukan (MQTTAgen inti,HTTP, OTA Agen, dan dependensinya).

  • RTOSVersi gratis 201912.00 atau yang lebih baru diperlukan untuk mengubah konfigurasi OTA protokol untuk mengaktifkan transfer data. OTA HTTP

Konfigurasi

Lihat konfigurasi OTA protokol berikut dalam file. \vendors\boards\board\aws_demos\config_files\ota_config.h

Untuk mengaktifkan transfer OTA data HTTP
  1. Ubah configENABLED_DATA_PROTOCOLS ke OTA_DATA_OVER_HTTP.

  2. Saat OTA pembaruan, Anda dapat menentukan kedua protokol sehingga salah satu MQTT atau HTTP protokol dapat digunakan., Anda dapat mengatur protokol utama yang digunakan oleh perangkat dengan mengubah configOTA_PRIMARY_DATA_PROTOCOL keHTTP. OTA_DATA_OVER_HTTP

catatan

HTTPhanya didukung untuk operasi OTA data. Untuk operasi kontrol, Anda harus menggunakanMQTT.

Konfigurasi khusus perangkat

ESP32

Karena jumlah terbatasRAM, Anda harus mematikan BLE ketika Anda mengaktifkan HTTP sebagai protokol OTA data. Dalam vendors/espressif/boards/esp32/aws_demos/config_files/aws_iot_network_config.hfile, ubah configENABLED_NETWORKS menjadi AWSIOT_NETWORK_TYPE_WIFI saja.

/** * @brief Configuration flag which is used to enable one or more network interfaces for a board. * * The configuration can be changed any time to keep one or more network enabled or disabled. * More than one network interfaces can be enabled by using 'OR' operation with flags for * each network types supported. Flags for all supported network types can be found * in "aws_iot_network.h" * */ #define configENABLED_NETWORKS ( AWSIOT_NETWORK_TYPE_WIFI )

Penggunaan memori

Ketika MQTT digunakan untuk transfer data, tidak ada memori heap tambahan yang diperlukan untuk MQTT koneksi karena dibagi antara kontrol dan operasi data. Namun, mengaktifkan data HTTP membutuhkan memori heap tambahan. Berikut ini adalah data penggunaan memori heap untuk semua platform yang didukung, dihitung menggunakan Gratis RTOS xPortGetFreeHeapSizeAPI. Anda harus memastikan ada cukup RAM untuk menggunakan OTA perpustakaan.

Instrumen Texas CC322 0SF- LAUNCHXL

Operasi kontrol (MQTT): 12 KB

Operasi data (HTTP): 10 KB

catatan

TI menggunakan jauh lebih sedikit RAM karena digunakan SSL pada perangkat keras, jadi tidak menggunakan perpustakaan mbedtls.

Keingintahuan Microchip PIC32MZEF

Operasi kontrol (MQTT): 65 KB

Operasi data (HTTP): 43 KB

Espressif ESP32

Operasi kontrol (MQTT): 65 KB

Operasi data (HTTP): 45 KB

catatan

BLEESP32membutuhkan waktu sekitar 87 KBRAM. Tidak cukup RAM untuk mengaktifkan semuanya, yang disebutkan dalam konfigurasi khusus perangkat di atas.

Simulator Windows

Operasi kontrol (MQTT): 82 KB

Operasi data (HTTP): 63 KB

Nordik nrf52840-dk

HTTP tidak didukung.

Kebijakan perangkat

Kebijakan ini memungkinkan Anda untuk menggunakan salah satu MQTT atau HTTP untuk OTA pembaruan.

Setiap perangkat yang menerima OTA pembaruan menggunakan HTTP harus terdaftar sebagai sesuatu AWS IoT dan benda tersebut harus memiliki kebijakan terlampir seperti yang tercantum di sini. Anda dapat menemukan informasi selengkapnya tentang item dalam "Action" dan "Resource" objek di Tindakan Kebijakan AWS IoT Inti dan Sumber Daya Tindakan AWS IoT Inti.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:partition:iot:region:account:client/${iot:Connection.Thing.ThingName}" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": [ "arn:partition:iot:region:account:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Catatan
  • iot:ConnectIzin memungkinkan perangkat Anda terhubung ke AWS IoT overMQTT.

  • iot:PublishIzin iot:Subscribe dan pada topik AWS IoT pekerjaan (.../jobs/*) memungkinkan perangkat yang terhubung untuk menerima pemberitahuan pekerjaan dan dokumen pekerjaan, dan untuk mempublikasikan status penyelesaian pelaksanaan pekerjaan.

  • iot:ReceiveIzin memungkinkan AWS IoT Core untuk mempublikasikan pesan tentang topik tersebut ke perangkat yang terhubung saat ini. Izin ini diperiksa pada setiap pengiriman MQTT pesan. Anda dapat menggunakan izin ini untuk mencabut akses ke klien yang saat ini berlangganan topik.