微信小程序远程控制设备(设备基于WIFI进行通信)

最近公司需要开发一个由微信小程序远程控制硬件设备。

考虑到设备只有wifi模块,首先要解决的是一键配置(怎么让设备知道家里路由器的账户、密码,进行联外网)、设备与服务器通信、小程序与服务器通信这三个问题,我们首先对这三个方面做了一下技术调研。

一、一键配置

我在想怎么让设备知道路由器的账户、密码? 路由器的wifi账户和密码,每个人家里都不一样,那我们应该告诉设备,通过什么去告诉设备?在这个时候设备还没有和服务器建立链接,服务器告诉设备肯定是不行的,那就只能通过微信小程序告诉设备。

于是查找了一些现有物联网的解决方案,

1、微信硬件平台是使用了Airkiss协议,但是小程序暂时不支持。但是我在想能否我们自己实现一套类似Airkiss协议呢?

翻找了一下Airkiss协议的一些通信规则,发现是通过微信公众账号发送一个udp广播包,看到这里我脸黑了。。。。。。。(小程序其实就是html+js,不支持udp协议,除非微信开放调用微信的udp协议。)  NO。。。。。

2、通过硬件添加蓝牙模块,然后小程序通过蓝牙传输路由器的账户密码,通过询问硬件开发组的开发人员,方案是可行的,但是公司希望尽量不要增加额外的硬件模块。我再想想。。。。

3、通过现有wifi模块先和小程序建立链接,用户将路由器的账户密码输入,然后发送给设备,设备拿到路由器的账户密码再和路由器建立链接。好像可以。。。。。。要不试试?,于是询问硬件组我们的wifi模块是否支持热点模式和工作站两种模式,得到答案是肯定的。

注意:这里只是一件配置场景

二、设备与服务器通信

通过一键配置联网后,设备就可以访问外网了,由于我们需要小程序能实时监控设备运行的一些状态信息,使用传统http好像太笨重了,于是翻找一些物联网服务的通信协议,比较主流的有MQTT,COAP协议,于是了解一下这些通信协议,MQTT完全能解决我的问题。(现在很多现有的服务,比例腾讯、百度、阿里,都有基于MQTT、COAP协议的一些物联网服务)

三、小程序与服务器通信

小程序暂时只支持http和websocket,网上找到一些基于websocket对MQTT客户端的实现。

总结:基本上可以确定没什么问题,但需要进一步验证,准备和硬件组配合demo,先把通信打通。

下面是基于阿里云物联网套件的实现方案,注意:由于该方案暂时还没有实际验证,仅供参考。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

微信小程序远程控制设备(设备基于WIFI进行通信)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭