本帖最后由 小叶三千 于 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->编辑代码,将代码头部的设备ID与apikey换成自己的。 3. 在下面的代码中可以增加用户权限,当你给公众号发送消息时,会显示没有权限加你的微信识别码,将那串代码替换掉下图中的XXXXXXXX就取得了权限,由于没有PHP开发经验,因此代码都是复制别人的进行修改,如有懂PHP开发的大佬可以修改修改进行完善。 4. 然后复制这个链接(将前面的1.删除掉),就可去微信公众平台进行服务器配置了。
四. 微信公众号配置 1. URL就是前面在新浪云中复制的链接(去掉1.),Token是在PHP中设置的,Key的话不用管,为自动生成。 2. 点击提交就可以了,如果显示验证失败,多提交几次。之后就可以关注自己的公众号,并进行验证了 3. 下图为我的公众号发送指令
附件是PHP的代码和下位机的工程(工程需要对照自己的需求更改)
|