作者:三烽
簡介
使用遠程配置功能,可在不用重啟設備或中斷設備運行情況下,在線遠程更新設備的系統參數、網絡參數等配置信息。
前提條件
1.已在物聯網平臺控制檯開通遠程配置服務。如果未開通,登錄物聯網平臺的控制檯,選擇監控運維 > 遠程配置,然後單擊開通服務。
2.設備端SDK已開啟支持遠程配置服務。(這裡特指設備端C SDK)。需要在設備端SDK中定義 FEATURE_SERVICE_OTA_ENABLED = y。SDK提供接口linkkit_cota_init,用於初始化遠程配置(Config Over The Air,COTA)。
與固件升級對比
很多場景下,開發者需要更新設備的配置信息,包括設備的系統參數、網絡參數、本地策略等。通常情況下,是通過固件升級更新設備的配置信息。但是,這將加大固件版本的維護工作,並且需要設備中斷運行以完成更新。為了解決上述問題,物聯網平臺提供遠程配置更新功能,設備無需重啟或中斷運行即可在線完成配置信息更新。
使用場景一:雲端推送配置信息給設備端
該場景使用mqtt.fx軟件連接物聯網平臺,進行測試說明。
1.先通過mqtt.fx客戶端連接上物聯網平臺,詳情可以參考MQTT.fx接入物聯網平臺使用說明
2.設備端訂閱推送配置信息的Topic:/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">productKey/{deviceName}/thing/config/push
3.在控制檯上配置對應模板,進行批量更新。
4.在mqtt.fx的日誌裡可以看到物聯網平臺發送過來的消息,裡面的url字段即為配置文件的下載地址
使用場景二:設備主動請求配置信息
該場景使用java sdk模擬設備連接物聯網平臺,進行測試說明。關於訂閱、發佈、監聽等方法不在本文做詳細描述。
1.設備端訂閱雲端響應設備請求配置信息的Topic:/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">productKey/{deviceName}/thing/config/get_reply
注意這裡和場景一訂閱的Topic是不同的
2.在控制檯上配置對應模板,進行保存。和場景一中的第3步類似,只是不在平臺進行批量更新。
3.設備通過Topic:/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">productKey/{deviceName}/thing/config/get主動查詢最新的配置信息。(本質上就是publish消息)具體的請求數據格式,請參考:https://help.aliyun.com/document_detail/89308.html
src="https://yqfile.alicdn.com/554c386aef7e0a503c113cf6a32cf60f535c2f27.png" alt="image" title="image" style="max-width: 100%; height: auto;">
4.監聽到雲端響應的數據,通過url字段進行配置文件的下載