物联网项目设计(三)物联网项目设计(三)STM32配置配置ESP8266使用使用 STA TCP客户端模式初步客户端模式初步
概要概要
本部分内容介绍如何使用STM32配置ESP8266使用STA模式,这个是使用MQTT与上层服务器链接的必要前提,笔者也是第一次使用ESP8266,通过AT指令来配置,查找了很多资
料与代码,借鉴了正点原子ESP8266库和例程,在其基础上修改而来,这篇博客也是我边学边写的记录。
准备准备
硬件准备硬件准备
带有stm32主控的硬件一套
esp8266模块一个
路由器一个
软件准备软件准备
CubeMx用来配置工程
MDK5用于编写调试和下载代码
配置配置ESP8266的步骤的步骤
配置ESP8266的目的是为了进入透传模式从而使用MQTT链接网络,我们需要使用AT指令,使ESP8266进入透传模式,步骤如下
1.AT+CWMODE=1 设置模块为STA模式
2.AT+CWAUTOCONN=0
按顺序要执行指令按顺序要执行指令 执行指令的意义执行指令的意义
+++
退出透传模式
AE0
关闭回显
AT+CWMODE=1
设置模块为STA模式
AT+RST
重启生效
等待三秒 等待三秒
AT+CWAUTOCONN=0
取消自动连接
AT+ CWJAP = ,
连接路由器
AT+CIPMUX=0
关闭多链接
AT+CIPSTART="TCP","IP号",端口号
连接到服务器
AT+CIPMODE=1
设置为透传模式
AT+CIPSEND
开启透传模式
ESP8266的发送命令函数由正点原子的函数改进而来
STM32与ESP8266通过串口连接,需要配置的模块有
TIM2,定时器中断,用来判断接收命令是否超时,如果超时就按照接受命令,中断优先级为,定时器中断,用来判断接收命令是否超时,如果超时就按照接受命令,中断优先级为1
USART1,用于向电脑发送数据,便于调试,用于向电脑发送数据,便于调试
USART3,用于向,用于向ESP发送数据,包括发送和接受,采用中断方式接收,查询方式发送,中断优先级为发送数据,包括发送和接受,采用中断方式接收,查询方式发送,中断优先级为2
整个发送命令并接收的流程比较复杂,用到了定时器中断来设置发送指令,接收到的回复是否完成,并在定时器中断中将接收指令的回复接受完成的标志位置为整个发送命令并接收的流程比较复杂,用到了定时器中断来设置发送指令,接收到的回复是否完成,并在定时器中断中将接收指令的回复接受完成的标志位置为1,并且与预期回复,并且与预期回复
进行比较。进行比较。
这样发送命令并接收的整个流程的好处在于,可以保证发送指令的质量,得到准确的反馈。这样发送命令并接收的整个流程的好处在于,可以保证发送指令的质量,得到准确的反馈。
就好像你向一个人说,你帮我倒杯水好吗,然后要等待他的回复,如果听到他说:好的。说明他听到了我们的命令,这个时候我们才能放心。就好像你向一个人说,你帮我倒杯水好吗,然后要等待他的回复,如果听到他说:好的。说明他听到了我们的命令,这个时候我们才能放心。