ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)相关的知识,希望能为你提供帮助。
 
 

 
前言
请先学习使用上一节,透传方式!
请先学习使用上一节,透传方式!
请先学习使用上一节,透传方式!
有些用户使用的模块可能是非透传模式,故,给用户提供一节非透传模式下的工程!

实现功能概要
【ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)】  STM32控制WI-Fi模块以AT指令TCP非透传方式连接MQTT服务器, 实现MQTT通信控制.
提示
非透传模式下:8266连接TCP服务器的指令为: AT+CIPSTART
使用上面的  AT+CIPSTART指令连接TCP以后发送和接收数据是如下方式
1.发送数据
1.1 首先发送  AT+CIPSEND=66\\r\\n    66:为要发送的数据个数
1.2 等待模块返回 >
1.3 发送要发送的数据给模块
1.4 模块返回 Recv 66 bytes   
1.5 模块发送完成返回  SEND OK
2.接收数据
2.1 接收数据格式:  +IPD,XXXX:真实数据    XXXX 为接收的数据个数
3.意外断开
3.1 和TCP服务器断开:CLOSED\\r\\n
3.1 和路由器断开:WIFI DISCONNECT\\r\\n
 
 
程序说明(连接MQTT)
一,连接TCP

ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
 
 
二,发送连接MQTT协议
2.1发送AT+CIPSEND=XXX    等待返回 >
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
 
 
 
 
 
 
 
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
 
 
 
2.2发送协议
 
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
 
程序修改(MQTT通信)
 
一,有数据需要发送先发送AT+CIPSEND=XXXX
设置下接收超时,接收超时变量清零以后再发送实际的数据
设置发送实际的数据以后设置个发送超时,发送数据超时变量清零以后又重新开始
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
在串口中断函数里面如果收到 > 会直接清零接收超时
如果收到SEND OK 会直接清零发送超时
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
注意:所有的超时时间变量如果大于0 ,则在1Ms定时器里面每隔减一,
也就是说,超出了设定时间会自动接着循环发送数据!
用户不需要担心如果发送失败会不会卡机的问题!
 
 
二,接收数据
接收数据直接简洁了当,直接剔除数据中的+IPD,XXX:
就相当于透传接收数据了
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
 
接收数据其它改动
1.接收数据使用的是STM32内存空闲中断+缓存管理
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
所以在以前所有的  if(Usart1ReadFlage) 的地方全部做了如下修改
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 
请按照上一节绑定测试!
监控的打印如下:
 
ESA2GJK1DH1K基础篇: APP使用SmartConfig绑定Wi-Fi 设备并通过MQTT控制设备(V1.0)(AT+TCP非透传指令)

文章图片

 

    推荐阅读