zoukankan      html  css  js  c++  java
  • 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实现透传和上一节程序不一样以外,其它皆是一样....

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

        

      

  • 相关阅读:
    postgresql字符串函数
    ruby中的设计模式--策略模式
    (转)MySQL 性能优化的最佳20多条经验分享
    (转)ruby中的设计模式--模板方法
    观察者模式的应用
    postgresql的ARRAY_TO_STRING
    ruby和javascript的观察者模式
    mysql表连接的时候注意事项
    checkbox记忆功能的实现
    order by的注意事项
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/11762609.html
Copyright © 2011-2022 走看看