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

    文章

    146

    浏览量

    11500
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯科科技低功耗Wi-Fi开发指南

    Silicon Labs(芯科科技)整理并制作了低功耗Wi-Fi开发指南的网站资源,以帮助开发人员使用低功耗 Wi-Fi 6协议进行下一代物联网产品开发
    的头像 发表于 04-21 10:09 56次阅读

    深入剖析Microchip PIC16F84A微控制器:特性、应用与开发指南

    深入剖析Microchip PIC16F84A微控制器:特性、应用与开发指南 在电子工程师的工具箱中,微控制器是不可或缺的核心组件。Microchip的PIC16F84A作为一款经典的8位微
    的头像 发表于 04-08 09:10 433次阅读

    深入剖析Microchip PIC16C62B/72A微控制器:特性、应用与开发指南

    深入剖析Microchip PIC16C62B/72A微控制器:特性、应用与开发指南 在电子工程师的工具箱中,微控制器是不可或缺的核心组件。Microchip的PIC16C62B/72A 28引脚8
    的头像 发表于 04-08 09:05 454次阅读

    C#上位机实战开发指南

    电子发烧友网站提供《C#上位机实战开发指南.pdf》资料免费下载
    发表于 01-11 17:15 6次下载

    TDK SmartMotion Platform Ver. G 硬件开发指南

    TDK SmartMotion Platform Ver. G 硬件开发指南 在当今的电子技术领域,运动传感器的应用越来越广泛,从消费电子到工业控制,都离不开高精度、高性能的运动传感器。TDK
    的头像 发表于 12-25 11:40 781次阅读

    NTAG X DNA 快速上手:安全认证 IC 的开发指南

    NTAG X DNA 快速上手:安全认证 IC 的开发指南 在物联网时代,设备的安全认证至关重要。NTAG X DNA 作为一款安全认证 IC,为设备认证提供了可靠的解决方案。今天,我们就来深入
    的头像 发表于 12-24 11:05 756次阅读

    电子工程师硬件设计开发指南

    电子工程师硬件设计开发指南 作为电子工程师,在硬件设计开发过程中,规范的文档和清晰的设计思路至关重要。以下为大家详细介绍硬件设计开发的相关要点。 文件下载: Amphenol Aerospace
    的头像 发表于 12-10 15:05 685次阅读

    避坑指南!RK3568开发板选型,这5点没看清千万别下手!(附迅为驱动开发指南资源)

    避坑指南!RK3568开发板选型,这5点没看清千万别下手!(附迅为驱动开发指南资源)
    的头像 发表于 10-30 15:49 1067次阅读
    避坑<b class='flag-5'>指南</b>!RK3568<b class='flag-5'>开发</b>板选型,这5点没看清千万别下手!(附迅为驱动<b class='flag-5'>开发指南</b>资源)

    【北京迅为】itop-3568开发板驱动开发指南(重制版)

    iTOP-RK3568开发板驱动开发指南目录:前言学习方法Linux驱动基础第 1 章 你好!内核源码第 2 章 helloworld 驱动实验第 4 章 驱动模块传参实验第 5 章 内核模块符号
    发表于 10-30 15:48 43次下载

    一文吃透WebSocket:智能物联网通信的入门与实战全攻略!

    想在智能物联网项目中实现设备与平台的实时“对话”?WebSocket是你的最佳选择。本文作为一份完整的学习与实战攻略,从基础概念讲起,逐步深入到编码实践,涵盖协议细节、开发框架与常见问题
    的头像 发表于 10-15 18:16 608次阅读
    一文吃透<b class='flag-5'>WebSocket</b>:智能物联网通信的入门与实战全攻略!

    智能物联网实时通信实战:WebSocket技术解析 !

    设备海量接入、数据高频交互的物联网时代,WebSocket以其低延迟、双向通信的优势脱颖而出。本文全面解析其在智能物联网中的技术实现路径,涵盖协议分析、服务端/客户端开发、心跳保活与错误处理,并
    的头像 发表于 10-15 18:16 1155次阅读
    智能物联网实时通信实战:<b class='flag-5'>WebSocket</b>技术解析 !

    中微爱芯AiP9P35X系列芯片开发指南

    中微爱芯为AiP9P35X系列芯片提供一份产品开发指南和一个可以供客户调用的高可靠性库文件,帮助用户快速掌握芯片性能,降低用户触控按键开发难度和产品开发周期,提高开发效率。
    的头像 发表于 09-08 16:20 3057次阅读
    中微爱芯AiP9P35X系列芯片<b class='flag-5'>开发指南</b>

    中微爱芯AiP8F35XX系列触摸芯片开发指南

    中微爱芯为AiP8F35XX系列芯片提供一份产品开发指南,帮助用户快速掌握芯片性能,降低产品开发周期,提高开发效率。
    的头像 发表于 08-25 16:42 4709次阅读
    中微爱芯AiP8F35XX系列触摸芯片<b class='flag-5'>开发指南</b>

    中微爱芯AiP8F32XX系列芯片开发指南

    中微爱芯为AiP8F32XX系列芯片提供一份产品开发指南,帮助用户快速掌握芯片性能,降低产品开发周期,提高开发效率。
    的头像 发表于 08-13 11:39 4313次阅读
    中微爱芯AiP8F32XX系列芯片<b class='flag-5'>开发指南</b>

    从驱动到应用:RT-Thread环境下的SDIO开发指南

    目录硬件介绍搭建开发环境配置SDIO驱动挂载文件系统文件读写测试演示视频源码工程总结本文主要讲述RT-Thread环境下的SDIO开发指南,基于MCXN947开发板。1硬件介绍本次测评的是SDIO
    的头像 发表于 06-28 09:02 3030次阅读
    从驱动到应用:RT-Thread环境下的SDIO<b class='flag-5'>开发指南</b>