日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

HaaS物聯網設備OTA解決方案

更正文檔

1. 案例簡介

OTA升級是很多嵌入式產品必備的一個功能。HaaS提供了完備的OTA解決方案。本案例就是一個端云一體的例子。 本文將分幾個部分介紹,具體包括: 設備端代碼的修改、編譯、燒錄。 云端服務器的配置、新增、OTA升級包上傳、OTA升級。 本文的設備連接情況如下:

本文的主要目標是通過修改設備端代碼和配置云端,完成對設備端版本的升級,如下圖所示:

2. 基礎知識

OTA:(over the air)已成為物聯網設備的剛需功能, AliIOS Things OTA有完備的升級方案,對各種升級場景都有很好的支持。 升級模式:整包升級、壓縮升級、差分升級、安全升級。 支持的升級通道:http、https、BLE、3G/4G,NB等; 復雜場景支持:網關及子設備升級,連接型模組升級非連接主設備的間接升級; OTA工具:差分工具、本地簽名工具、ymodem輔助升級工具,多固件打包工具等;

HaaS100進行升級流程,如下圖所示,當用戶開啟阿里云IoT物聯網平臺的安全升級功能,對應的產品就啟動了針對這個產品的安全升級功能,云端會對這個產品的升級固件做密鑰、公鑰管理并對這個產品的固件做數字簽名;對應的設備端,在OTA的過程中,會用從云端獲取的公鑰對升級的固件做數字簽名的驗證;整個流程,用戶不需要管理公私鑰,使用起來也非常方便,下圖為HaaS100 安全升級使用流程圖:

3. 物料清單

本實驗不依賴于其他外圍設備,主要是HaaS100開發板

名稱

數量

HaaS100 開發板

1

4. 案例實現

本案例依賴如下幾個組件,具體定義放到了solutions/ota_demo/package.yaml的文件中。

依賴組件

作用

ota

ota功能的組件

cjson

和云端通信使用的JSON格式的組件

cli

命令行的組件

netmgr

用于網絡連接的組件

lwip

用于網絡協議棧的組件

haas100

用于haas100開發板的組件

ulog

用于串口日志的組件

1.打開云端安全升級功能并獲取公鑰image

2.將公鑰內嵌到代碼中

如步驟1圖示,通過復制按鈕獲取的公鑰內嵌到 AliOS-Things/components/dm/ota/hal/ota_hal_digest.c文件中,覆蓋如下的兩個數組:

/* RSA Public Key:User needs sign in alibaba cloud to get and replace them. */
static const unsigned char ota_pubn_buf[256];
static const unsigned char ota_pube_buf[3];

3.編譯燒錄到HaaS100的基礎固件

  • 開發環境搭建 開發環境的搭建請參考 HaaS100快速開始(搭建開發環境章節),其中詳細的介紹了AliOS Things 3.3的IDE集成開發環境的搭建流程;

  • 用例和開發板選擇 參考HaaS100快速開始(選擇解決方案和開發板章節),其中解決方案選擇:ota_demo; 開發板:HaaS 100

  • 配置固件版本號 根據需求修改版本號,如app-1.0.0等。 修改位置:solutions/ota_demo/otaappdemo.c中的,MY_APP_VER宏定義。

  • 配置四元祖 修改位置:solutions/ota_demo/otaappdemo.c中的,mqtt_main函數中的char product_key, char device_name, char *device_secret;填入自己的pk,dn,ds。

  • 編譯固件 完成上面步驟后,就可以編譯ota_demo案例來生成固件了,具體編譯方法可參考《aos-studio使用說明之編譯固件》

  • 燒錄固件 ota_demo案例的固件生成后,可參考《aos-studio使用說明之燒錄固件》來燒錄固件。

  • 打開串口 固件燒錄完成后,可以通過串口查看示例的運行結果,打開串口的具體方法可參考《aos-studio使用說明之查看日志》。 當串口終端打開成功后,可在串口中輸入help來查看已添加的測試命令。

  • 配網連云 輸入wifi賬號和密碼配網:在終端輸入: netmgr -t wifi -c wifi_ssid wifi_password注意修改其中的wifi_ssid和wifi_password為需要連接的wifi名字和wifi密碼。 連網成功后,登錄物聯網平臺可以看到對應的設備在線。

4.編譯上云固件及云端操作

本地燒錄完成后,需要做一個高版本固件上傳到云端,通過云端操作完成固件的升級,所以需要按照步驟3中修改版本號的方法,修改固件版本號,其他不用修改,再編譯生成一個高版本的固件,然后登錄物聯網平臺平臺,按如下圖順序操作:image

點擊添加固件后,如下圖將platform/mcu/haas1000/release/write_flash_gui/ota_bin/ota_bin/ota_rtos_ota.bin上傳到云端:

image

步驟①:選擇整包。

步驟②:待升級固件的名稱,自定義。

步驟③:下拉菜單選擇固件所屬產品。

步驟④:沒有子模塊選擇default。

步驟⑤:填入待升級固件版本號。

步驟⑥:建議選擇SHA256.

步驟⑦:上傳待升級固件。

點擊確定后,選擇驗證固件即可開始固件升級;

5.升級結果驗證

按照上面的操作步驟完成后,可以完成固件的數字簽名驗簽進而實現固件升級,端側的log如下圖:

如果開啟了安全升級,但HaaS100沒有內嵌公鑰,觸發升級會怎么樣呢?答案是HaaS100會數字簽名驗證失敗,禁止固件升級,端側的log會如下圖所示:

云端升級結果可以通過點擊“查看”獲取詳情; 物聯網平臺的OTA操作可參考文檔OTA升級概述

5. 總結

本文僅僅針對OTA升級在HaaS100上的全鏈路進行了簡單介紹。使用ota_demo代碼例子外加一塊HaaS100開發板,熟悉HaaS開發框架中對于OTA升級的能力支持。關于OTA升級的更多豐富功能,歡迎訪問阿里云官網介紹 http://bestwisewords.com/document_detail/184188.html。