发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
打印

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

[复制链接]
8807|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 小叶三千 于 2021-5-12 16:56 编辑

#申请原创# @21ic小跑堂
   想要实现远程控制,无非就是三端的通信,发送设备端—>服务器—>接收设备端,服务器端可以选用一些常用的云服务器,阿里、百度等等。接收端就是实现控制的设备,发送设备端一般就是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->编辑代码,将代码头部的设备IDapikey换成自己的。
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

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 20.00 元 2021-05-12
理由:角度很不错哦,恭喜通过原创文章审核!请多多加油!

相关帖子

沙发
sctfd| | 2021-5-13 10:32 | 只看该作者
NB NB

使用特权

评论回复
板凳
TT1000| | 2021-5-14 09:14 | 只看该作者
谢谢楼主分享的好资料

使用特权

评论回复
地板
hugewinner| | 2021-5-22 19:20 | 只看该作者
楼主威武 NB

使用特权

评论回复
5
quark| | 2021-6-9 21:49 | 只看该作者
谢谢楼主

使用特权

评论回复
6
dragonhux| | 2021-6-10 09:55 | 只看该作者
没明白,OneNet和透传协议有什么关系?透传不是要用到反向代理吗?

使用特权

评论回复
7
小叶三千|  楼主 | 2021-6-10 11:59 | 只看该作者
dragonhux 发表于 2021-6-10 09:55
没明白,OneNet和透传协议有什么关系?透传不是要用到反向代理吗?

OneNet中的一个产品,是“TCP透传”,随便选的一个,当然可以选别的类型的产品

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:清智科技嵌入式工程师
简介:单片机嵌入式底层开发,汽车电子

48

主题

513

帖子

18

粉丝