想要实现远程控制,无非就是三端的通信,发送设备端—>服务器—>接收设备端,服务器端可以选用一些常用的云服务器,阿里、百度等等。接收端就是实现控制的设备,发送设备端一般就是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所有,任何人未经允许禁止转载。

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

  1. 微信公众号用户与网站用户的绑定方案

    微信公众号用户与网站用户的绑定方案 - 简书 微信公众号用户与网站用户的绑定-登陆公众号时获取openid(二)_136.la 微信公众号开发中的用户账号绑定 - huonan - 博客园

  2. nginx日志报警|微信公众号推送预警消息|PHP+shell脚本实现nginx错误日志报警恶意访问报警,实时通知到微信公众号 | 小型网站nginx日志报警轻量级方案

    1.shell脚本 命名:run.sh #!/bin/bash #!/usr/bin/python # -*- coding:utf-8 -*- #日志文件路径 accesslog=/www/wwwl ...

  3. 微信公众号自动回复加超链接最新可用实现方案

    你在管理微信号时是否会有自动回复或者在关键字触发自动回复加一个超链接的需求呢?例如下图像王者荣耀这样: 很多有开发经验的朋友都知道微信管理平台会类似富文本编辑器,第一想到的解决方案会是在编辑框中加&l ...

  4. 2020全国大学生数学建模竞赛【论文格式、时间节点及作品提交要求、竞赛题目下载、评分要点】【微信公众号:校苑数模】

    百度网盘下载:竞赛题目下载(官网下载,未经改动!)[提取码:zjxs] 2020年06月02日:2020全国大学生数学建模竞赛 2020年08月25日:全国大学生数学建模竞赛论文格式规范(2020年修 ...

  5. 【IoT物联网全栈之路 ②】如何快速体验,微信公众号配网,天猫精灵和小爱同学双通讯;(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 开门大篇,xClouds是什么?我什么要做?为什么要开源? 2 ...

  6. 微信公众号自动回复服务器数据,[终极方案]解决微信公众号服务器配置启用后无法自动回...

    在配置服务器配置时Token验证通过后,遇到给公众号发信息,提示:提示该公众号提供的服务出现故障,请稍后再试 的问题,一直实现不了自动回复的功能.百度了大量的资料,参考了开发文档,尝试了n种办法,检查 ...

  7. 关于开发微信公众号获取手机用户运动数据的功能实现思路

    一.前沿研究 微信公众号开发文档,浏览后没有任何关于获取微信运动数据的接口 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp144 ...

  8. 微信公众号 餐饮 前端源码_成都餐饮茶楼微信公众号开发方案

    在很多人的印象中,传统的餐饮茶楼就应该做好自己的生意,和互联网是拉不上关系的,甚至格格不入.但是就用独立思考的餐饮茶楼客户提出了新的思路,能不能用微信公众号来吸引用户,让微信公众号成为用户的入口,而不 ...

  9. 解决URLToPDF 微信公众号文章图片不显示问题(全网唯一方案)

    文章目录 有几种物理方法可以将URL(网页地址)转换成PDF文件: Python 代码实现: Java 实现 方式: java 调用 wkhtmltopdf 实现URLToPDF(基础版) java ...

最新文章

  1. oracle技术之使用rman找回被误删除表空间
  2. ipad如何连接电脑_超能办公课堂丨电脑如何使用无线网络连接方式安装驱动程序...
  3. 往自身页面提交和别处页面提交到本页的设计小技巧
  4. 统计学习方法第二章作业:感知机模型原始形式与对偶形式代码实现
  5. nginx lua调用redis和mongo
  6. vue 修改模板{{}}标签_vue-admin-template模板添加tagsview
  7. linux游戏调试,LINUX游戏服务器的安装与调试.doc
  8. 图像处理之全景拼接---基于sift的全景图像拼接
  9. JDK8编译,JDK8运行错误
  10. git gui 中文乱码解决方法
  11. 睡眠 应该用 a加权 c加权_困成狗?谈谈睡眠研究的遗传发现之旅
  12. 计算机学情分析万能模板,计算机教学计划5篇精选范文总结大全
  13. TransModeler交通仿真软件的最新特点
  14. 【2016.11.10】百度云离线下载迅雷链接
  15. Android对话框和帧动画
  16. 网络层协议介绍与概述
  17. 几大智能语义平台调研
  18. (一)android 桌面悬浮窗 录屏源码放送
  19. 武汉区块链软件公司:当群雄逐鹿的时代结束,区块链的未来还要看巨头
  20. Java中双大括号写法的作用

热门文章

  1. Mac系统输入英文时如何去掉自动提示
  2. 使用计算机录制声音10,Win10电脑麦克风无法录音怎么解决 win10麦克风声音无法输入的解决方法...
  3. 宠爱吖用计算机怎么弹,宠爱吖简谱-歌谱-歌词
  4. 内网环路怎么解决_记录一次局域网突发网络环路处理过程——全是血泪
  5. 打开pycharm时一直更新目录 updating indecix
  6. 扁平化设计与思维导图
  7. consume(consume名词)
  8. 在网吧敲代码是种什么体验?网友神评论:在挨打的边缘疯狂试探
  9. 启动项中删除微PE工具箱
  10. win10、win11高级共享设置修改后无法保存怎么办,无法发现网络设备、无法发现共享设备怎么办?win10、win11发现网络共享设备的方法