前言

  

此程序兼容SIM800

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

实现功能概要

  

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

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

  

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

一,下载单片机程序

  

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

  

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

  

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

开始测试

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

       

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

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

四.远程控制继电器吸合

  

五.远程控制继电器断开

   

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

其它

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

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

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

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

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

  

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

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

    

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

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

    

  

二,硬件程序

  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号

      

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

      

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

  1. ESA2GJK1DH1K微信小程序篇: 测试微信小程序扫描Air202上面的二维码绑定设备,并通过MQTT控制设备

    前言 一,微信小程序篇小程序下载(该功能为小程序篇基础功能源码) 实现功能概要 微信小程序通过扫描GPRS上的二维码,绑定GPRS设备.然后使用小程序通过GPRS远程控制开发板上的继电器, 远程显示单 ...

  2. ESA2GJK1DH1K基础篇: 测试APP使用SmartConfig绑定Wi-Fi 设备并控制设备

    前言 实现功能概要 STM32控制WI-Fi模块以AT指令TCP透传方式连接MQTT服务器, 实现MQTT通信控制. 测试准备工作(详细下载步骤请参考 硬件使用说明 ) 一,下载单片机程序 二,安装A ...

  3. ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于GPRS模块,AT指令TCP_MQTT通信)

    实现的功能 上一节是使用的Wi-Fi模块连接的阿里云平台,这节呢咱用GPRS连接. 阿里云的设备配置还是按照上一节的,有个温度,有个湿度. 测试 一,打开单片机程序 二,根据自己的修改,然后下载进去单 ...

  4. 【转】如何在您的PCB大作上添加二维码?

    开篇先给大家来段新闻截选: “8月20日,新加坡总理李显龙在国庆群众大会上演讲时,称中国移动支付(电子支付)领先全球,新加坡的移动支付还很落后,上海路边摊都有移动支付,新加坡人去上海就像乡巴佬. 这番 ...

  5. 在iOS上实现二维码功能

    http://blog.csdn.net/abcmx/article/details/8011904 如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影.而手机等移动设备又成为二维码的 ...

  6. Node.js在指定的图片模板上生成二维码图片并附带底部文字说明

    在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = ...

  7. Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

      Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.net/xiaanming/article/detail ...

  8. 【转】Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/10163203 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  9. 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(转)

    转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从 ...

随机推荐

  1. Docker remote API

    Docker remote API 该教程基于Ubuntu或Debian环境,如果不是,请略过本文 Docker API 在Docker生态系统中一共有三种API Registry API:提供了与来 ...

  2. this的用法-(2019-3)

    作为前端程序员,this应该不会陌生,指执行期的上下文,以下总结了this的几种场景: 1.全局作用域下,this指的就是Window,在控制台输出this,返回的是Window对象 2.在一般函数中 ...

  3. SQL ------------- 最大与最小函数

    sql max()  函数  求最大值,可以查询汉字,字母,日期,数字 注意:字母和汉字按照 a-z 依次查找,第一个最大的就是需要的                    比如:有两个字母或汉字都是 ...

  4. Spring69道面试题

    Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring  ...

  5. 练手WPF(一)——模拟时钟与数字时钟的制作(上)

    一.Visual Studio创建一个WPF项目. 简单调整一下MainWindow.xaml文件.主要使用了两个Canvas控件,分别用于显示模拟和数字时钟,命名为AnalogCanvas.digi ...

  6. Cases:Unit Testing with the MSTest Framework

    UnitTesting shanzm 右键-->在新标签页中打开图片,即可查看原图,图片超乎你想像的大! 源代码:https://github.com/shanzm/UnitTesting

  7. PIE 插件式开发小笔记__PIESDK学习体会

    基于PIE.NET-SDK插件式二次开发文档笔记:  PIE 插件式开发配置文件: 它里面一行如下:      理解上一行'Item'关系->    library:为插件类名(程序集名称+后缀 ...

  8. springmvc注解@Controller和@RequestMapping

    Spring从2.5版本引入注解,从而让开发者的工作变得非常的轻松 springmvc注解Controller org.springframework.stereotype.Controller注解类 ...

  9. Python渗透测试工具库

    漏洞及渗透练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.com ...

  10. preflight request预检请求

    preflight request预检请求,负责检查是否允许跨域请求,但是注意并不是所有的跨域请求都会发送preflight请求.对与那些幂等的请求,如GET请求,就不会发送preflight请求.只 ...