zoukankan      html  css  js  c++  java
  • 05-STM32+W5500+AIR202基本控制篇-功能5-Android和微信小程序扫描二维码绑定GPRS,并通过MQTT实现485,422通信和继电器控制(微信小程序)

    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    功能说明

    这节演示一下使用微信小程序扫码绑定GPRS,然后通过MQTT服务器实现远程温湿度采集和远程控制继电器
    程序兼容SIM800

    功能演示

    1.根据第一节的硬件介绍下载本节的单片机程序

     

    2.程序文件hex路径

    3.按照下面方式短接通信端口

      PA9 PA10  连接ch340(串口模块)  用于Debug日志打印

      PB10  PB11连接485/422   (485/422通信)

      PA2  PA3 连接GPRS模块串口1  (和GPRS模块通信)

    4.插入手机卡(移动/联通), 接上天线

    5.连接485/422通信模块(任选一种即可,下面说明两种接线方式)

    485连接方式:

    422连接方式:

    6,打开串口调试助手,分别监控STM32串口1和485/422的数据

    单片机串口1监听配置

    485/422通信口串口配置

    7.确认设备正常工作

    查看Debug调试输出,如果订阅成功则设备正常工作

    如果设备没有工作起来,请检查手机卡是否松动,手机卡只支持移动和联通

    尽量选择移动的手机卡!

    8.安装微信小程序

    注:安装上一节手机APP!

    注:安装上一节手机APP!

    注:安装上一节手机APP!

    9.点击添加设备 选择GPRS设备

    10.扫描GPRS设备上的二维码

    11.扫描成功以后将在主页添加一个GPRS设备

    12.点击GPRS设备进入控制页面

    13. 控制两路继电器

     

     

    单片机程序说明

    1.关于微信小程序和GPRS模块MQTT通信

    首先用户需要知道MQTT就是一个TCP服务器,在后面的章节有单独一章介绍MQTT服务器

    用户当前只需要知道MQTT服务器就是一个TCP服务器,然后按照MQTT协议发送数据,MQTT服务器便会自动中转数据

    单片机程序使用串口2发送AT指令控制GPRS模块连接MQTT服务器

    GPRS连接MQTT以后

    订阅的主题:user/GPRS模块的IMEI号

    发布的主题:device/GPRS模块的IMEI号

    如果想让微信小程序和GPRS之间实现通信

    微信小程序需要

    订阅: device/GPRS模块的IMEI号

    发布: user/GPRS模块的IMEI号

    所以只要微信小程序获取到W5500的GPRS模块的IMEI号即可!

    GPRS模块上面的二维码就是其IMEI号

    2.控制模块以TCP透传方式连接MQTT服务器

    控制指令采用 ConfigModuleNoBlock 框架

    获取IMEI号用于后期的订阅和发布主题; 连接TCP服务器(MQTT本身就是一个TCP服务器); 发送MQTT连接协议

    连接成功,调用连接回调

    3.主函数一开始注册了连接回调,订阅成功,接收消息回调等函数

    在连接回调里面订阅主题

     

    4.发送消息

    5.接收处理消息

    微信小程序

     1.点击绑定GPRS设备按钮启动扫描程序,在回调里面获取扫码结果(拼接JSON数据)

    2.绑定成功,携带着数据跳转到index

    提示:数据格式 

    {"data":"bind","mac":"xx:xx:xx:xx:xx:xx","ip":"xxx.xxx.xxx.xxx","model":"E0000","name":"以太网设备"}

    3.在 onLoad 中提取数据,并存储到手机

    4.点击设备

    根据型号加载不同的页面,没有型号或其他错误加载ControlDevice页面
    提示携带的数据为:
    {"data":"bind","mac":"xx:xx:xx:xx:xx:xx","ip":"xxx.xxx.xxx.xxx","model":"E0000","name":"以太网设备"}

    5.在控制页面的onLoad提取mac,在onShow订阅主题

    7.接收处理消息

    8.发布消息

    结语

    对于初学者而言,此节代码测试一下通信即可,后面的章节会有详细的说明教程

    会让用户彻底明白一切的一切是怎么来的!

    不要心慌,无需着急!

    详细的说明教程过后还会有专门的移植使用教程.

    用户可以迅速的移植到自己的项目中使用.

  • 相关阅读:
    Windows SDK编程(Delphi版) 之 应用基础,楔子
    一个小问题引发的论证思考
    Delphi 组件开发教程指南(7)继续模拟动画显示控件
    用PyInstaller将python转成可执行文件exe笔记
    使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践)
    Microsof Office SharePoint 2007 工作流开发环境搭建
    How to monitor Web server performance by using counter logs in System Monitor in IIS
    LINQ之Order By
    window 性能监视器
    内存泄露检测工具
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/13378543.html
Copyright © 2011-2022 走看看