本文主要介紹如何調(diào)用機(jī)智云開放的Open API和WebSocket API來實現(xiàn)JavaScript網(wǎng)頁遠(yuǎn)程控制設(shè)備。
其中,Open API用到的接口有匿名登錄用戶、綁定設(shè)備和獲取綁定設(shè)備列表。而WebSocket API上的用戶登陸、設(shè)備上線下線通知、瀏覽器與云端的數(shù)據(jù)交互(數(shù)據(jù)透傳)、心跳和非法消息通知。

當(dāng)設(shè)備已經(jīng)是成功連接上云端,就可使用以下流程來控制設(shè)備了:

02準(zhǔn)備工作調(diào)用OPEN API匿名登錄用戶和綁定設(shè)備
1.獲取phone_id
phone_id 可以是手機(jī)的唯一識別碼。或者您已經(jīng)有了自己的用戶系統(tǒng),不希望用戶再次注冊一次機(jī)智云帳號,您也可以使用該接口,為您的每一個用戶創(chuàng)建一個對應(yīng)的機(jī)智云匿名帳號。這時,phone_id 可以是用戶在您的系統(tǒng)中的唯一識別碼。如在與微信應(yīng)用做對接時,phone_id 可以設(shè)置成微信用戶的 openid。
2.創(chuàng)建用戶
http://swagger.gizwits.com/doc/index/openapi_apps
2.1.填寫appid

2.2.填寫body

2.3.登錄匿名用戶,獲取token

03綁定設(shè)備
3.1.填寫appid

3.2.填寫剛才匿名登錄回調(diào)的token

3.3.填寫Timestamp、Signature和body

備注:時間戳計算鏈接,
MD5計算鏈接,如下圖:

04Websocket網(wǎng)頁控制界面
4.1.websocket API封裝起來的sdk
4.2.運(yùn)行index.html

4.3.Websocket網(wǎng)頁控制界面
如下:

05控制設(shè)備分兩種方式
5.1.V4版本的標(biāo)準(zhǔn)數(shù)據(jù)點(diǎn)協(xié)議
5.1.1.初始化Gizwits WS對象
上面使用的參數(shù)有:
初始化,如下:

5.1.2.獲取綁定列表
如果該用戶要獲取綁定設(shè)備列表,先要確認(rèn)該用戶(就是該openid)是否有對要控制設(shè)備的已進(jìn)行綁定了。

5.1.3.創(chuàng)建Websocket連接
選擇一個要進(jìn)行控制的設(shè)備did,創(chuàng)建websocket連接

5.1.4.讀取設(shè)備當(dāng)前狀態(tài)
選擇已連接的設(shè)備,讀取設(shè)備的當(dāng)前狀態(tài)

5.1.5.控制設(shè)備
選擇已連接的設(shè)備,下發(fā)控制指令
如下發(fā)控制指令{“Swicth”:true},如下圖:

- 如要設(shè)置擴(kuò)展類型的字段 binary 為16進(jìn)制 616263 ,補(bǔ)齊后每組byte換成一個十進(jìn)制數(shù)組的值
- 設(shè)置布爾型需要是true和false:
| { "boolean":true, "binary": [97,98,99,0,0,0,0,0,0,0] } |
控制模擬設(shè)備效果:

5.2.V4版本的自定義格式協(xié)議
V4版本的自定義格式協(xié)議(就是無法數(shù)據(jù)點(diǎn)透傳)
5.2.1.初始化Gizwits WS對象
上面用的的參數(shù)有:


5.2.2.獲取綁定列表

5.2.3.創(chuàng)建websocket連接
選擇一個要進(jìn)行控制的設(shè)備did,創(chuàng)建websocket連接:

5.2.4.讀取設(shè)備的當(dāng)前狀態(tài)
選擇已連接的設(shè)備,讀取設(shè)備的當(dāng)前狀態(tài):

5.2.5.下發(fā)控制指令
選擇已連接的設(shè)備,下發(fā)的控制指令:[0,0,0,3,9,0,0,144,1,0,1,2,3,4] (注意:下發(fā)數(shù)據(jù)的格式為十進(jìn)制的,每個位端的表示為0,0,0,3為header、9為len、0為flag、0,144為cmd、1為action、0,1,2,3,4為業(yè)務(wù)指令),如下:

模擬mcu收到命令,如下:
FF FF 00 0B 03 1E 00 00 01 00 01 02 03 04 37

-
控制設(shè)備
+關(guān)注
關(guān)注
0文章
146瀏覽量
11463
發(fā)布評論請先 登錄
C#上位機(jī)實戰(zhàn)開發(fā)指南
Renesas RL78/L13 RSK:功能、配置與開發(fā)指南
TDK SmartMotion Platform Ver. G 硬件開發(fā)指南
NTAG X DNA 快速上手:安全認(rèn)證 IC 的開發(fā)指南
電子工程師硬件設(shè)計開發(fā)指南
【課程升級】鴻蒙星閃WS63開發(fā)板新增《LVGL應(yīng)用開發(fā)指南》課程,帶屏開發(fā)讓你的畢設(shè)項目更出彩!
避坑指南!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)指南資源)
【北京迅為】itop-3568開發(fā)板驅(qū)動開發(fā)指南(重制版)
一文吃透WebSocket:智能物聯(lián)網(wǎng)通信的入門與實戰(zhàn)全攻略!
智能物聯(lián)網(wǎng)實時通信實戰(zhàn):WebSocket技術(shù)解析 !
中微愛芯AiP9P35X系列芯片開發(fā)指南
中微愛芯AiP8F35XX系列觸摸芯片開發(fā)指南
中微愛芯AiP8F32XX系列芯片開發(fā)指南
從驅(qū)動到應(yīng)用:RT-Thread環(huán)境下的SDIO開發(fā)指南
開發(fā)指南|Websocket 網(wǎng)頁控制設(shè)備
評論