0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发指南|Websocket 网页控制设备

机智云 2022-11-24 10:10 次阅读

本文主要介绍如何调用机智云开放的Open API和WebSocket API来实现JavaScript网页远程控制设备。

其中,Open API用到的接口有匿名登录用户、绑定设备和获取绑定设备列表。而WebSocket API上的用户登陆、设备上线下线通知、浏览器与云端的数据交互(数据透传)、心跳和非法消息通知。

ca8c99e0-6b1a-11ed-b116-dac502259ad0.png

当设备已经是成功连接上云端,就可使用以下流程来控制设备了:

caafef08-6b1a-11ed-b116-dac502259ad0.png

02准备工作调用OPEN API匿名登录用户和绑定设备

1.获取phone_id

phone_id 可以是手机的唯一识别码。或者您已经有了自己的用户系统,不希望用户再次注册一次机智云帐号,您也可以使用该接口,为您的每一个用户创建一个对应的机智云匿名帐号。这时,phone_id 可以是用户在您的系统中的唯一识别码。如在与微信应用做对接时,phone_id 可以设置成微信用户的 openid。

2.创建用户

http://swagger.gizwits.com/doc/index/openapi_apps

2.1.填写appid

cad36e60-6b1a-11ed-b116-dac502259ad0.png

2.2.填写body

caee7e1c-6b1a-11ed-b116-dac502259ad0.png

2.3.登录匿名用户,获取token

cb02824a-6b1a-11ed-b116-dac502259ad0.png

03绑定设备


3.1.填写appid

cb47afb4-6b1a-11ed-b116-dac502259ad0.png

3.2.填写刚才匿名登录回调的token

cb6500be-6b1a-11ed-b116-dac502259ad0.png

3.3.填写Timestamp、Signature和body

cbcc7f0a-6b1a-11ed-b116-dac502259ad0.png

备注:时间戳计算链接,
MD5计算链接,如下图:

cbdc7a5e-6b1a-11ed-b116-dac502259ad0.png


04Websocket网页控制界面

4.1.websocket API封装起来的sdk

4.2.运行index.html

cbf5d51c-6b1a-11ed-b116-dac502259ad0.png

4.3.Websocket网页控制界面


如下:

cc1ebe3c-6b1a-11ed-b116-dac502259ad0.png

05控制设备分两种方式

5.1.V4版本的标准数据点协议

5.1.1.初始化Gizwits WS对象

上面使用的参数有:cc3a5c28-6b1a-11ed-b116-dac502259ad0.png初始化,如下:

cc4de248-6b1a-11ed-b116-dac502259ad0.png

5.1.2.获取绑定列表

如果该用户要获取绑定设备列表,先要确认该用户(就是该openid)是否有对要控制设备的已进行绑定了。

cc627fb4-6b1a-11ed-b116-dac502259ad0.png

5.1.3.创建Websocket连接

选择一个要进行控制的设备did,创建websocket连接

cc757312-6b1a-11ed-b116-dac502259ad0.png

5.1.4.读取设备当前状态

选择已连接的设备,读取设备的当前状态

ccc40c48-6b1a-11ed-b116-dac502259ad0.png

5.1.5.控制设备

选择已连接的设备,下发控制指令
如下发控制指令{“Swicth”:true},如下图:

ccd7d32c-6b1a-11ed-b116-dac502259ad0.png

  • 如要设置扩展类型的字段 binary 为16进制 616263 ,补齐后每组byte换成一个十进制数组的值
  • 设置布尔型需要是true和false:
{
"boolean":true,
"binary": [97,98,99,0,0,0,0,0,0,0]
}

控制模拟设备效果:

ccf17610-6b1a-11ed-b116-dac502259ad0.png

5.2.V4版本的自定义格式协议

V4版本的自定义格式协议(就是无法数据点透传)

5.2.1.初始化Gizwits WS对象

上面用的的参数有:

cd11b952-6b1a-11ed-b116-dac502259ad0.png

cd24a7ba-6b1a-11ed-b116-dac502259ad0.png

5.2.2.获取绑定列表

cd3ce208-6b1a-11ed-b116-dac502259ad0.png

5.2.3.创建websocket连接

选择一个要进行控制的设备did,创建websocket连接:

cd547b34-6b1a-11ed-b116-dac502259ad0.png

5.2.4.读取设备的当前状态

选择已连接的设备,读取设备的当前状态:

cd72ba54-6b1a-11ed-b116-dac502259ad0.png

5.2.5.下发控制指令

选择已连接的设备,下发的控制指令:[0,0,0,3,9,0,0,144,1,0,1,2,3,4] (注意:下发数据的格式为十进制的,每个位端的表示为0,0,0,3为header、9为len、0为flag、0,144为cmd、1为action、0,1,2,3,4为业务指令),如下:

cd8885b4-6b1a-11ed-b116-dac502259ad0.png

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

cda7223a-6b1a-11ed-b116-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制设备
    +关注

    关注

    0

    文章

    68

    浏览量

    10580
收藏 人收藏

    评论

    相关推荐

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 202次阅读
    迅为RK3568<b class='flag-5'>开发</b>板驱动<b class='flag-5'>开发指南</b>-输入子系统

    RT-Thread设备驱动开发指南基础篇—以先楫bsp的hwtimer设备为例

    RT-Thread设备驱动开发指南》书籍是RT-thread官方出品撰写,系统讲解RT-thread IO设备驱动开发方法,从三方面进行讲解。
    的头像 发表于 02-20 16:01 825次阅读
    RT-Thread<b class='flag-5'>设备</b>驱动<b class='flag-5'>开发指南</b>基础篇—以先楫bsp的hwtimer<b class='flag-5'>设备</b>为例

    RA家族QE电机应用开发指南

    电子发烧友网站提供《RA家族QE电机应用开发指南.pdf》资料免费下载
    发表于 01-31 09:57 0次下载
    RA家族QE电机应用<b class='flag-5'>开发指南</b>

    keil arm软件开发指南

    电子发烧友网站提供《keil arm软件开发指南.pdf》资料免费下载
    发表于 01-26 15:51 6次下载

    GD32L233硬件开发指南

    电子发烧友网站提供《GD32L233硬件开发指南.pdf》资料免费下载
    发表于 01-05 10:26 2次下载
    GD32L233硬件<b class='flag-5'>开发指南</b>

    32位微控制器HC32F460系列硬件开发指南

    电子发烧友网站提供《32位微控制器HC32F460系列硬件开发指南.pdf》资料免费下载
    发表于 11-13 16:48 1次下载

    AT32 HOGP开发指南

    AT32 HOGP开发指南人机接口设备(Human Interface Devices, HID)的主要目的是基于USB实现者论坛所维护的规格书,提供用户与计算器之间的接口。
    发表于 10-26 06:18

    HarmonyOS语言基础类库开发指南上线啦!

    语言基础类库提供哪些功能?多线程并发如何实现?TaskPool(任务池)和Worker在实现和使用场景上有何不同? 针对开发者关注的并发等语言基础类库的相关能力,我们在新推出的语言基础类库开发指南
    的头像 发表于 10-18 16:20 273次阅读
    HarmonyOS语言基础类库<b class='flag-5'>开发指南</b>上线啦!

    Rockchip i2c开发指南

    视壮嵌入式板卡rk3399《rockchip i2c 开发指南 v1.0》分享i2c设备设备应用非常广泛,常见的包含重力传感器,触摸屏驱动芯片,音频解码等,这个文档是rk3399的i2c开发
    发表于 10-10 08:17

    Rockchip RK3399软件开发指南

    电子发烧友网站提供《Rockchip RK3399软件开发指南.pdf》资料免费下载
    发表于 10-09 14:30 6次下载
    Rockchip RK3399软件<b class='flag-5'>开发指南</b>

    ESP32开发指南

    ESP32开发指南介绍、开发板硬件介绍、开发准备、Windows搭建ESP32开发环境
    发表于 10-09 06:06

    Rockchip I2C开发指南

    电子发烧友网站提供《Rockchip I2C开发指南.pdf》资料免费下载
    发表于 09-15 15:33 0次下载
    Rockchip I2C<b class='flag-5'>开发指南</b>

    µC/OS-III 开发指南 V1.3

    UCOS-III开发指南
    发表于 09-06 17:40 7次下载

    Openwrt开发指南 第24章 配置开发板支持U盘

    Openwrt开发指南 第24章 配置开发板支持U盘
    的头像 发表于 07-13 08:55 1375次阅读
    Openwrt<b class='flag-5'>开发指南</b> 第24章 配置<b class='flag-5'>开发</b>板支持U盘

    求助,M031BT的开发指南有吗?

    M031BT的开发指南有吗?
    发表于 06-28 07:18