Thingslink 開發者開發協議
本協議可以幫助開發者開發自己的APP 來控制智能終端和開發自己的終端產品。本文檔的說明將基於蛋蛋(DD)遠程控制平臺為例
Thingslink 協議有兩部分組成
1、API 協議,用戶登錄和用戶信息、終端信息和對應的sensor信息
2、Socket 協議,接入Thingslink 通訊平臺,完成終端信息的採集和控制。
設備終端:socket 協議
App 客戶端:http+Socket
Socket 協議信息組成
協議長度+命令長度+協議命令+協議數據
協議長度和命令長度均為4個字節的數據,而且為網絡小頭字節
命令長度=協議命令長度
協議長度(總長度)=命令長度+協議數據長度+4
主協議以換行符“\\n\\t”為分隔,鍵值對以“=”分隔;信息內容為自定義信息開發者可以自定義(不能使用=號)
Socket信息:Tcp://sip.iot.open.qwulian.cn:5081
Api 信息:http://tiandong.thingslink.qwulian.cn/
開發者在Thingslink 開發中心(http://open.thingslink.qwulian.cn/) 獲取應用的appkey 及賬號信息
設備終端開發 Socket 命令:
1、連接通訊信息平臺
Socket(sip.iot.open.qwulian.cn,5081) 連接,連接後發送終端認證字符socket.send((byte)1) 這個不需要計算長度
2、發送設備終端信息,向平臺註冊
發送命令內容:`Command=Login\\r\\nAppSec=`+appsec+`\\r\\nAppKey=`+appkey+`\\r\\nClientID=`+clientid
Command: 固定 Login (登錄)
AppSec: 開發中心申請到應用密碼(請勿洩露)
AppKey: 開發中心申請到應用ID(請勿洩露)
ClientID: 應用開發者為應用生成的終端ID
3、發送信息到Thingslink平臺和用戶端
Command=Route\\r\\nClientID=\\r\\nItem="+itemcontent
Command: Route 固定
ClientID: login 時使用的client ID
Item: 要發送的內容,可以根據自己的協議定義。例如蛋蛋遠程為 SensorID:2;Value:25.3 發送sensorid=2 的信息(sensorid 不同的產品定義不同,詳見ClientID 對應的sensorid)
4、接受命令信息,並解析命令信息
Command=Route\\r\\nClientID=\\r\\nItem="+itemcontent
Command: Route 固定
ClientID: login 時使用的client ID
Item: 要發送的內容,可以根據自己的協議定義。例如蛋蛋遠程為 SensorID:2;Value:25.3 接收到sensorid=2 的信息(sensorid 不同的產品定義不同,詳見ClientID 對應的sensorid),值為25.3
5、發送心跳包
Command=Active
Command: Action 固定
2/3/4/5 項命令,均需要添加信息長度和命令長度再socket.send(message) message=信息長度+命令長度+命令
控制端App開發協議,詳見Thingslink App控制端開發協議
閱讀更多 ZackXu 的文章