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

 

 

前言

  

此程序兼容SIM800

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

 

 

实现功能概要

  

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

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

  

 

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

一,下载单片机程序

  

 

 

工程目录: STM32F10xTemplate\Progect

 

  hex文件目录: STM32F10xTemplate\Progect\Progect

 

    

 

      

 

二,安装APP软件 (这节APP和上一节一样)

 

  

 

 

 

  

 

 

 

 

 

  

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

  

 

 

 

 

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

 

 

 

 

开始测试

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

       

 

 

 

 

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

 

 

 

 

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

 

 

 

 

四.远程控制继电器吸合

  

 

 

 

 

五.远程控制继电器断开

   

 

 

 

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

 

注意

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

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

    

 

 

  如果没有复位,单片机可能出现一直发送  AT+CIPSHUT ,模块要等到好久才有反应(抱歉!)

  现在测试,下载完单片机程序后,可人为进行复位一下.

    

 

 

 

V2.5.1版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要手动操作复位

V2.5.1版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要手动操作复位

V2.5.1版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要手动操作复位

       

 

关于程序

  整个程序是STM32使用AT指令控制GPRS模块实现MQTT通信控制

  

  程序的整体结构:   https://www.cnblogs.com/yangfengwu/p/11669323.html

  程序的按键处理:   https://www.cnblogs.com/yangfengwu/p/11669354.html

  串口接收数据   :    https://www.cnblogs.com/yangfengwu/p/11669373.html

  配置AT指令模板(阻塞版):  https://www.cnblogs.com/yangfengwu/p/11673439.html

  配置AT指令模板(非阻塞版): https://www.cnblogs.com/yangfengwu/p/11674814.html

 

MQTT实现部分

  一,前言

    对于初学者而言,如果不了解MQTT,可先看后面的关于MQTT的教程,看会以后

    再来看此部分!

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

 

    Wi-Fi模块发布的主题: device/设备的IMEI号 

    Wi-Fi模块订阅的主题: user/设备的IMEI号

 

    APP通过扫码获取GPRS的IMEI号,然后设置

    订阅的主题:device/设备的IMEI号  

    发布的主题:user/设备的IMEI号

 

    具体请看上一节介绍  

 

  二,连接TCP服务器(MQTT服务器)

    AT指令配置模块连接TCP的程序处理模板是:配置AT指令模板(非阻塞版) 

    配置指令主要的就是获取IMEI号,设置透传,连接TCP服务器.

    (串口接收的数据,自动发给TCP服务器)

    (从TCP服务器接收的数据自动发给串口)

    注;程序除了配置模块连接TCP实现透传和上一节程序不一样以外,其它皆是一样....

    这体现了教程的主要目的: 重在移植应用 ,轻开发. 

    

 

 

 

  

 

posted on 2019-10-30 01:50  广源时代  阅读(1139)  评论(0编辑  收藏  举报

导航

支付宝 QQ群