ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

时间:2024-07-18 13:03:14

前言

  

此程序兼容SIM800

如果想绑定SIM800,请把其IMEI号,生成二维码,用手机APP扫描.

实现功能概要

  

  APP通过扫描二维码获取GPRS设备的IMEI号,然后设置订阅的主题:device/设备IMEI号  发布的主题:user/设备IMEI号

  注:实际上和上一节代码唯一不同的地方是控制GPRS连接TCP服务器,然后实现透传.其它程序完全一致!

  

测试准备工作(详细下载步骤请参考 硬件使用说明 )

一,下载单片机程序

  ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

二,安装APP软件(APP软件还是上一节的那个软件)

  ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

三,调整波动开关位置,STM32和GPRS 串口1 通信

  ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

四,别忘了插手机卡,还有安装上天线

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

开始测试

一.打开手机APP,点击右上角菜单 "扫一扫"  扫描模块上面的二维码,模块的二维码就是这个模块的IMEI号,扫描成功将在主页面添加一个设备.

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)    ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)  ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800) ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

二.单片机控制GPRS连接上MQTT服务器以后,指示灯1S闪耀

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

三.点击设备进入,设备控制页面,页面显示当前温湿度数据,显示当前设备的状态

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

四.远程控制继电器吸合

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)  ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

五.远程控制继电器断开

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)   ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

六.请自行控制家电(最大支持10A,注意安全!),咱的GPRS远程控制器就做好了.

ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

其它

  后面我便告诉大家如何移植当前我的MQTT处理程序到自己的项目,只要自己的模块可以实现TCP,便一定可以实现MQTT

  因为本身MQTT就是个TCP服务器而已.你按照他给的规定发数据,它就帮你转发数据了而已.

  我当时封包就是为了大家无论用的什么模块,都可以分分钟移植上MQTT!

  授人予鱼,就要给一条有很大价值的鱼!

  说实话哈,我用我的包移植上这个程序,只用了不到10分钟.其实如果有现成稳定的流程的知道怎么控制模块连接TCP了,也就5分钟.

  

  一.实际应用请使用一个引脚控制模块重启

    请在每个程序文件的此处修改(注,本人的板子现在未引出复位引脚,下一批板子将跟进)\

    ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

  如果没有复位可能出现一直发送  AT+CIPSHUT ,模块要等到好久才有反应

  现在测试可人为进行复位!

    ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

  

二,硬件程序

  1.1: STM32控制GPRS模块以AT指令TCP透传方式连接MQTT服务器, 实现MQTT通信控制.

    1.1.1: MQTT处理,采用官方C语言MQTT包+本人二次封装.(方便大家快速的移植使用)

    1.1.2: 控制GPRS连接MQTT服务器部分程序

    1.1.3: GPRS模块发布的主题: device/设备IMEI号  GPRS模块订阅的主题: user/设备IMEI号

      ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)

    1.1.4: 处理MQTT服务器返回的数据部分程序(和上一节一样)

      ESA2GJK1DH1K基础篇: 测试APP扫描Air202上面的二维码绑定通过MQTT控制设备(兼容SIM800)