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


    前言

      

    此程序兼容SIM800

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

    实现功能概要

      

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

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

      

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

    一,下载单片机程序

      

    工程目录: STM32F10xTemplateProgect

      hex文件目录: STM32F10xTemplateProgectProgect

        

          

    二,安装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实现透传和上一节程序不一样以外,其它皆是一样....

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

        

      

  • 相关阅读:
    apache域名跳转
    apache配置防盗链
    apache配置静态缓存
    apache通过rewrite限制某个目录
    apache不记录指定类型的访问日志
    apache访问日志
    apache用户认证
    apache访问控制
    apache禁止默认虚拟主机
    mysql主从复制架构配置
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/11762609.html
Copyright © 2020-2023  润新知