通过微信公众号远程控制设备STM32+NB模组方案

 想要实现远程控制,无非就是三端的通信,发送设备端—>服务器—>接收设备端,服务器端可以选用一些常用的云服务器,阿里、百度等等。接收端就是实现控制的设备,发送设备端一般就是APP端、网页端等等。一般来说都是用的APP进行控制的,但是一些简单的控制还要编写APP就有点麻烦了,还要支持安卓和IOS两种系统。网页端比较方便,有浏览器就可以实现,但是还是显得不怎么方便。微信是大家经常用的软件,通过微信公众号去实现远程控制的话,感觉比前两种都更方便(微信小程序也可以,不过也要编代码。。。),不用安装APP也不用去打开什么网页,下面说下我是怎么实现的。

一. 准备工作

1. 注册一个微信公众号(不是小程序)https://mp.weixin.qq.com

2. 由于我使用的是移动云(OneNet)连接的,所以要注册一个OneNet账号https://open.iot.10086.cn/

3. OneNet需要创建产品,之后在产品中新增一个设备,什么协议的无所谓,我用的是最简单的TCP透传协议

4. 注册一个新浪云的账号,要用到SAE云应用。(新注册的送1000云豆,可以用很长时间)https://login.sina.com.cn/signup/signin.php?entry=sinacloud&r=https%3A%2F%2Fwww.sinacloud.com%2Fucenter.html

5. 接下来就是下位机的准备了,我使用的是STM32+NB模组的方案,STM32控制NB模组连接OneNet收发指令。

二. OneNet连接

1. 根据OneNet的TCP透传协议,首先NB连接TCP,(OneNET平台地址为 183.230.40.40 :1811),根据你们的模组连接TCP握手就可以了,每个模组不一样。

2. TCP成功连接后就要连接OneNet了,根据OneNet的TCP透传协议,发送TCP消息*PID#AuthCode#ParserName*,

PID为产品ID
AuthCode   为  鉴权信息(创建设备的时候所指定)
ParserName 为  脚本名称(上传Lua脚本的时候所指定)
如:*345016#11234#sample*

3. 连接成功后会下发Lua脚本中所定义的回复内容。

4. 单片机中设置收发指令,例如:发送“1”是开灯,发送“2”是关灯

三. 新浪云应用设置

1. 点击用户中心,创建一个云应用SAE,创建新应用。开发语言PHP--标准环境--语言版本5.6--代码管理SVN,下面的应用信息中自行填写内容,之后点击创建应用。

2. 创建完成后点击左侧的应用->代码管理->创建版本->版本号1->上传代码包index.php->编辑代码,将代码头部的设备ID与apikey换成自己的。

3. 在下面的代码中可以增加用户权限,当你给公众号发送消息时,会显示没有权限加你的微信识别码,将那串代码替换掉下图中的XXXXXXXX就取得了权限,由于没有PHP开发经验,因此代码都是复制别人的进行修改,如有懂PHP开发的大佬可以修改修改进行完善。

4. 然后复制这个链接(将前面的1.删除掉),就可去微信公众平台进行服务器配置了。

四. 微信公众号配置

1. URL就是前面在新浪云中复制的链接(去掉1.),Token是在PHP中设置的,Key的话不用管,为自动生成。

2. 点击提交就可以了,如果显示验证失败,多提交几次。之后就可以关注自己的公众号,并进行验证了

3. 下图为我的公众号发送指令

附件是PHP的代码和下位机的工程(工程需要对照自己的需求更改)

PHP.zip

2.23 KB

STM32工程.zip

354.63 KB
---------------------
作者:小叶三千
链接:https://bbs.21ic.com/icview-3132140-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值