微信硬件平台(七) 设备控制控制面板-网页sokect-mqtt长链接

给微信硬件设备添加咱们本身的控制面板。php

 

主要问题:前端

1 要保证长链接,这样面板能够实时交互阴间设备,http一次性的链接模式通讯不行。web

  面板必须是网页化的,网页就能够操做交互。不用APP和小程序。小程序

2 长链接须要websocket技术,能够保证长链接。服务器

3  websocket技术虽然保证长链接,可是用户和设备管理这个大后台须要个总管。 直接上MQTT服务器省去各类管理,一个设备对应一个通讯话题,并且拥有websocket接口。微信

4 本身的服务器必须单独开一个php后台服务,2个小时请求一次微信token。websocket

  当设备须要直接主动发消息给用户的时候, 利用token调用以下几个微信APIsocket

  •   获取设备主人open_ID :   查询设备绑定的是谁
  •  借助公众号给指定用户(通常是主人)推送消息 。  例如警报消息,用户此时没有打开网页在实时控制设备, 可能多我的都绑定了,都须要发送。   

 

 

 本来想着给微信云所有代管上面全部流程,然而它的硬件直连SDK都被封装了,根本不知道调用微信的什么API通讯。网站

并且考虑到后期确定收费(用人家服务器),。url

 

 

1 修改控制面板连接

 

 

 

 

2 控制界面实现

参看:http://www.hivemq.com/demos/websocket-client/

下载这个网页,放在你服务器上填写的地址,这是一个MQTT网页端控制界面,用来调试。

连接:https://pan.baidu.com/s/1CxHc-nc3dfFyaToce_xFSQ
提取码:v2wd

 

 

 

 

2-1 网页前端。有个好脸蛋, 本身根据需求改,空调的,灯的。  

2-2 网页后面须要创建 websocket,和mqtt服务器通讯。   

      通讯的时候,一个设备ID对应两个个MQTT通讯话题

      接收话题   用户ID/设备ID/r

      发送话题   用户ID/设备ID/s

      (设备ID在用户点击设备栏-打开设备的时候,一并送到本身的服务器url了,本身的服务器接收到之后拿出来,用于生成网页返回给用户。)

个人微信已经绑定了三个设备

点击设备

 

 本身的服务器接收到这个请求后,写个php服务,拿出设备ID,用于生成网页。

用户打开控制页面,发送消息和接收消息。

事实上,至关于返回一个mqtt的网页通讯控制端。(代替APP和小程序)

 

 好了,通讯打通了,接下来须要美化界面。

同时,自动根据设备ID填入参数,生成MqTT连接。

 

最原始的MQTT网页客户端控制,在此基础上修改。

入手js大坑了解下。

 

直接右键下载这个网页,修改

 

1 订阅按钮处要修改,

点击订阅本应该出现

可是部署在本身的服务器上就跳出去了别的网站。

查看代码

 data就是这个跳出来的选择框,本应该业内跳转到这

可是在   href= 后面原来还加了原网址的的URL,  直接删了,保留  #data。

 

--问题解决参考1-----------------------------------------------------------------------------------------------------------------------------------------

-问题解决参考2--------------------------------------------------------------------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------------------------------------------

本身MQTT服务器自带的网页控制(找不到这个源文件)

还有一个版本,好像是日本网友写的,然而没法进行用户帐号密码自定义写入,链接不上我开启认证的MQTT服务器,舍弃了。

相关文章
相关标签/搜索