針對客戶朋友的應用反饋,特本篇文章:基於Air780EP模組AT開發的FOTA遠端升級指南。
AT版本的遠端升級主要是對AT韌體版本進行升級,實際方式為透過合宙官方IoT平臺升級或者使用自己搭建的伺服器進行升級服務。
Air780EP是合宙推出的一款低功耗4G全網通模組,相容模組行業1618經典封裝,支援OpenCPU開發及全功能數傳AT開發,可廣泛應用於多樣化的物聯網終端。
一、合宙IoT平臺遠端升級
1.1 如何檢視升級日誌
登入合宙IoT平臺(iot.openluat.com),在主選單【韌體升級】下拉選單中選擇升級日誌,輸入完整的IMEI並選擇所需日期。
1.2 升級日誌響應碼列表(點選放大檢視)
1.3 使用預設專案名配置
在向合宙採購4G模組時,如果採購人員沒有告知這批模組應該放在IoT平臺的哪個產品下,則預設賬號密碼如下:
預設賬號:採購人的手機號
預設密碼:888888
需要建立一個"Air7XXF標準模組"的專案。
特別注意:
以**"Air7XXF標準模組"**命名的專案,為Air780EP模組AT版本預設FOTA請求升級的IoT專案,並將此次所採購的所有模組都放在這個專案下。
如果模組不在該專案下或者需要更換專案,請聯絡合宙工作人員。
1.3.1 配置流程
本文以合宙Air780EP為例獲取AT韌體版本,下載到本地後解壓並將dfota.bin檔案上傳到dfota中。
在合宙IoT平臺【我的專案】頁面點選韌體列表:
建立韌體,上傳對應檔案:
上傳好檔案之後會自動生成韌體名稱,不需要修改:
如果配置“升級全部裝置”選項為“是”,則無需配置IMEI,按照上述內容配置即可。如果選擇“否”,還需新增IMEI,如下圖所示:
1.3.2 AT指令觸發升級
手動觸發升級
模組從V1006升級到V1007的流程示例如下:
自動升級(預設24小時內自動觸發)
自動升級是模組定期向後臺傳送升級請求,來獲取新韌體進行更新的,大致流程如下:
可以透過AT+UPGRADE=“PERIOD”,60設定自動升級時間,這裡設定為60s來作為演示:
1.4 使用自建專案名配置
從合宙採購完模組之後,註冊登入合宙IoT平臺。在IoT平臺【我的專案】頁面新建一個專案,並要求合宙工作人員將這批模組放入新建的專案中(注:客戶本身無許可權進行操作)。
本示例就以“遠端升級模組”為專案名進行遠端升級:
該專案下的模組可透過裝置列表檢視:
1.4.1 配置流程
參考上文【1.3 使用預設專案名配置】的1.3.1配置流程;注意此時的專案為“遠端升級模組”。
1.4.2 AT指令觸發升級
手動觸發升級
透過下方圖示操作,找到對應專案的專案Key。
複製專案Key:
用AT+UPGRADE="KEY",ProductKey進行配置,其中ProductKey為對應專案Key;
要注意的是該命令引數會寫入nv,掉電儲存;
然後再傳送AT+UPGRADE進行遠端升級。
自動升級(預設24小時內自動觸發)
自動升級是模組定期向後臺傳送升級請求,來獲取新韌體進行更新的,大致流程如下:
可以透過AT+UPGRADE=“PERIOD”,60設定自動升級時間,這裡設定為60s來作為演示:
二、自定義伺服器遠端升級
使用自己的伺服器來升級模組和使用IoT平臺升級,最重要的區別是下載韌體的來源不同。其實FO他的過程是新老版本生成差分包再進行升級的過程,那麼這個差分的過程在哪裡呢?
使用合宙IoT平臺升級,差分的過程在IoT伺服器後臺,那使用自己的伺服器該怎麼辦呢?——答案當然是自己來完成差分的過程,放在伺服器等待模組來下載。
2.1 差分包生成工具
手動生成差分包的過程,使用doc平臺工具中的差分工具。注意:升級檔案為 xxxx.dfota.bin 檔案。
下載生成的差分檔案:
本次我們從V1006升級到V1007需要準備各自的bin遠端升級檔案,上傳完成後等待差分完成,下載得到的差分檔案,這裡將名字改為dfota_final_AirM2M_AirM2M_V1007.bin。
2.2 配置流程
把生成的韌體放到伺服器上,然後透過:
**AT+UPGRADE="URL",""**指令設定對應的URL連結。
配置完差分包URL地址成功後,**AT+UPGRADE **主動觸發升級。
升級流程如下:
這裡選擇了USB的另外一個埠,可以上報模組的升級過程。