
前言 . c7 i3 l( A. `! s) L( q6 P6 ~ t' ` 这一节,我们来聊聊 STM32的 FOTA例程中用到的 wifi 模块:ESP-01。ESP-01是安信可公司基于 ESP8266 wifi 芯片的 WIFI模块。在 STM32 FOTAdemo里,用来实现无线通信。下面我们将来认识一下这个模块,并介绍 demo里相关底层驱动 的实现。 + y5 T( I( w+ k/ ? ESP-01 模块 3 X! {7 c$ [5 ] t ESP-01模块集成 esp8266EX WIFI芯片,支持 802.11b/g/n协议,支持 UART/GPIO等接口,内嵌 LwIP 协议栈,支持 STA/AP/STA+AP工作模式,是一款低成本的无线模块。 ! q9 O/ U; F1 i5 \! D1 ?: O0 ~ ESP-01模块采用 DIP-8封装。尺寸和引脚定义见下图。提供一个 UART接口和两个 GPIO口。 % ^( {/ I8 B) U4 p , T2 z2 _2 s$ r# Q2 i8 e ![]() STM32F769探索板的 CN2接口支持对 ESP-01模块的扩展,可以直接将 ESP-01模块插在 CN2接口上。STM32F769和 ESP-01之间通过串口通信,串口配置为:115200波特率,8位数据位,无奇偶校验,1位停止位。连接如下: ![]() AT 指令格式 : O, g3 O- f& |2 Y W& t; ` ESP-01的 AT指令集就是 ESP8266的 AT指令集。可以细分为四种类型: / g9 O4 E# N6 c/ Y ![]() 要注意的是, 不是每条 AT指令都具备上面 4种类型,具体要去看该条 AT指令的说明。 * u& [2 z$ X. E9 l" h, \ 使用双引号表示字符串数据。比如“123”,就是一个字符串,而 123就是数字。 ! E; m( d6 S# F3 m+ `9 Q! b 开头的 AT指令两个字符必须大写,每条命令以回车换行符结尾“\r\n” . V" {; h: y& E: f: W ESP8266的 AT指令集又分为:基础 AT命令(对模块的配置,串口设置等),WIFI功能 AT命令(设置 wifi模式,连接 AP 等),TCP/IP功能 AT命令(建立 TCP连接,收发数据等)。 ' U+ J- w$ @/ h9 m+ D/ Z % @4 N) I$ A* p 作为 TCP 客户端工作 $ J- A7 ]7 k! H5 i. Q' O 模块初始化 ; K1 c' W9 c8 x. m# y 程序上电运行后,在开始使用 WIFI模块前,必须先对其进行初始化。除了 GPIO口以及串口的初始化外,还需要对 WIFI模 块进行配置,使其工作在我们希望的模式下。在 STM32 FOTA demo里 ESP8266应该工作在 STATION模式和多连接模式下。 所以在初始化的时候,需要通过相应的 AT指令进行配置。下面是初始化的代码以及 AT指令执行的过程。 7 ]( l. C2 G* m6 J * \( T- D: o( _/ A# M ![]() ![]() AT指令的运行记录 5 H& j4 r) p3 }9 m![]() 连接到 AP 调用 ESP8266_JoinAccessPoint函数,输入 AP的 SSID和密码,连接到对应的 wifi 热点1 Y- R: ]# Z, s( p% G( f " s% F9 Q: S }; z" N& L ... 1 Z( N7 ]8 \; T# O9 t; t9 q! [ 了解更多,请下载后阅读, Y& _8 [ \% p1 V2 P5 v4 l: X: i * M5 J e6 y* {, L 下载地址1>> 下载地址2>> 更多实战经验>>/ I5 D( S, D& C. `5 Q& z q6 { v. T/ ^2 @/ Y$ ] |
我也在找这个DEMO呢,你找到了吗?