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

电子说

1.3w人已加入

描述

机智云


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

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

机智云

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

机智云


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

机智云


2.2.填写body

机智云


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

机智云


03

绑定设备
POST请求链接:
http://swagger.gizwits.com/doc/index/openapi_apps


3.1.填写appid

机智云


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

机智云


3.3.填写Timestamp、Signature和body

机智云

备注:
时间戳计算链接,http://tool.chinaz.com/Tools/unixtime.aspx
MD5计算链接,http://tool.oschina.net/encrypt?type=2
如下图:

机智云


04

Websocket网页控制界面

4.1.websocket API封装起来的sdk

链接如下:
https://github.com/gizwits/gizwits-wechat-js-sdk

4.2.运行index.html

机智云


4.3.Websocket网页控制界面

https://gizwits.github.io/gizwits-wechat-js-sdk/v0.2.0.html

如下:

机智云


05

控制设备分两种方式

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


5.1.1.初始化Gizwits WS对象

上面使用的参数有:
机智云

初始化,如下:

机智云


5.1.2.获取绑定列表

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

机智云


5.1.3.创建Websocket连接

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

机智云


5.1.4.读取设备当前状态

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

机智云


5.1.5.控制设备

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

机智云

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

机智云


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

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


5.2.1.初始化Gizwits WS对象

上面用的的参数有:

机智云

机智云


5.2.2.获取绑定列表

机智云


5.2.3.创建websocket连接

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

机智云


5.2.4.读取设备的当前状态

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

机智云


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为业务指令),如下:

机智云

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

机智云


相关推荐:

  ◆  科普|为什么说中低速应用场景要选Cat.1

  ◆  开发者案例|GC211实现MCU开发和OTA升级

  ◆  开发案例|家用热水器智能化改造记

  ◆  开发者案例|老年人饮水状况监测系统

  ◆  如何在线创建一个智慧网关,实现多品牌不同协议的互联互通

技术交流:

◆ 机智云开发者:www.gizwits.com
◆ 机智云开发者社区:club.gizwits.com
◆ 官方淘宝店:

http://shop159680395.taobao.com/index.htm

机智云



原文标题:开发指南|Websocket 网页控制设备

文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分