想了解更多內容,請訪問:
51CTO和華為官方戰略合作共建的鴻蒙技術社區
https://harmonyos.51cto.com/#zz
OneNET是由中國移動打造的PaaS物聯網開放平臺。平臺能夠幫助開發者輕鬆實現設備接入與設備連接,快速完成產品開發部署,為智能硬體、智能家居產品提供完善的物聯網解決方案。
採用Onenet平臺:多協議接入-》EDP,通過edp協議完成控制命令的下發(下發開/關燈命令)、數據流信息的上傳(燈的開/關狀態)等通信流程。
EDP (Enhanced Device Protocol增強設備協議)是OneNET平臺根據物聯網特點專門定製的完全公開的基於TCP的協議,可以廣泛應用到家居、交通、物流、能源以及其他行業應用中。
整體流程大致如下:
1、Onenet平臺創建EDP產品、設備、數據流、開關燈應用;
2、Hi3861開發板連接到EDP設備;
3、通過Onenet EDP應用下發控制命令(開/關燈);
4、開發板解析命令做出對應的動作(開/關燈),並且上傳燈的狀態值,更新數據流信息;
5、Onenet應用讀取數據流的狀態值,更新展示;
參考官方文檔:https://open.iot.10086.cn/doc/multiprotocol/
Onenet平臺EDP配置
1.進入onenet平臺控制臺https://open.iot.10086.cn/console/,選擇多協議接入-》EDP;
2.添加產品led、添加設備device1;
3.添加數據流,因為我使用的三色燈擴展板,創建3條數據流:redled、greenled、yelloled;
4.應用管理-》添加應用led;
5.編輯應用led,添加紅綠黃三原色燈的開關,調整屬性,紅燈的配置如下,EDP命令內容「redled:{V}」(其餘以此類推);
Hi3861開發板準備
1.移植Onenet edp sdk,官網連結:https://open.iot.10086.cn/doc/multiprotocol/book/develop/edp/device/doc-tool.html;
移植過程中注意點(附件壓縮包中edp_c是我移植好的壓縮包):
1)增加宏定義:_LINUX;
2)可以復用源碼自帶的cJSON,在//third_party/edp_c/BUILD.gn中包含:"//third_party/cJSON/";
3)強轉for循環中的變量為有符號數,在for循環裡面,不能用無符號32整形數據作為判斷條件;
4)修改宏定義#define BUFFER_SIZE (0x01<<20)為#define BUFFER_SIZE 1024;本次實驗中包字節數較小,默認申請1MB,運行時報錯內存溢出;
5)自定義實現assert宏定義,因為編譯時報錯未找到原因就先自定義實現替代;
6)還有很多定義未使用的變量,類似這種修改「valuestring = valuestring; remain_len = remain_len;」即可;
2.根據sdk中的示例Main.c,編寫edp測試源碼(附件壓縮包中edp_test.c是測試源碼);
1)建立tcp連接,平臺EDP監聽地址ip:183.230.40.39,port:876;
2)與平臺建立EDP連接,可以調用函數EdpPacket* PacketConnect1(const char* devid, const char* auth_key),傳入設備ID和APIKey;
3)接收命令請求數據,解析命令,執行開關燈動作;例如:接收到字符串「redled:1」代表紅燈開,「redled:0」代表紅燈關;
4)調用EdpPacket* PacketSavedataSimpleString(const char* dst_devid, const char* input, uint16 msg_id),組裝以分號分隔的簡單字符串形式,上傳數據到平臺,用來更新數據流(燈的開/關狀態);例如:組裝字符串「,;redled,1」代表當前紅燈亮,「,;redled,0」代表紅燈滅;
5)採用AT命令的方式觸發edp測試,增加命令「AT+EDPTEST」,方便測試;
總體測試流程
1.編譯固件,啟動開發板,首先是連接wifi,保證網絡暢通;
2.執行AT+EDPTEST命令,連接Onenet平臺,連接成功設備顯示在線;
3.打開應用led,對紅綠黃三燈進行開關,能夠看到開發板三原色燈正確亮滅;
4.串口的列印信息如下:wifi連接成功 -> AT+EDPTEST -> 接入平臺成功 -> 解析命令,控制燈亮滅 -> 上傳狀態信息,更新設備數據流;
5)手機操作更加便捷,應用界面如下;
以上就是分享的全部內容,謝謝觀看!
想了解更多內容,請訪問:
51CTO和華為官方戰略合作共建的鴻蒙技術社區
https://harmonyos.51cto.com/#zz
【編輯推薦】
點讚 0