你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32的ESP8266使用教程(一)

[复制链接]
aimejia 发布时间:2018-5-31 10:54
本帖最后由 aimejia 于 2018-5-31 11:14 编辑 & a# G( `( K0 s, n! Y

7 G4 ^7 A) m( `. d4 e基于STM32的ESP8266使用教程(一)
1 b9 k- s- q0 j7 ?: g4 ?/ z基于STM32的ESP8266使用教程(二)- e+ h! ^. p& `0 J$ S* Y
基于STM32的ESP8266使用教程(三)( E6 W. }5 U# ?& o9 D
基于STM32的ESP8266使用教程(四)(短篇)
0 n0 G" B% [9 g7 l, D5 D, h: V$ s1 x2 i+ T' ^; y8 h  Q
关于为什么要写这篇文章,因为之前在做一个项目的时候需要使用WIFI模块。X宝搜WIFI模块的时候推荐ESP8266这个模块,说是价格便宜、使用方便。但是在使用的过程中发现的确使用方便(因为是基于AT指令的,就是AT+...这种固定格式的指令,如AT+RST就是复位指令),但是在单片机控制WIFI模块时资料几乎没有(也许是博主搜索方法有问题……),经历了5天没有数据的迷茫烦躁后总算是把模块调试成功了,为了将来使用ESP8266模块的开发者少走弯路,于是这篇博文诞生了。相关软件和代码整理请参考“基于STM32的ESP8266使用教程(四)(短篇)”。
. w3 ^* \: y( U5 G: D) y1 a" e" G+ U0 l1 r4 Z8 E5 p
要调试通信模块,首先要有调试工具,博主推荐sscom42这个工具,首先上张图。6 R+ b5 q( q9 ]9 U4 a1 X

$ u9 q) g; I8 |' `: O
1.png
/ i. }# H* `7 E
这里关注几个地方:一个是串口号,这个是WIFI模块通过USB转TTL与电脑的接口;下一个是波特率,ESP8266固定波特率115200,如果选择9600可能会出乱码;还有就是HEX显示,原因有两个,一个是如果传输的是“非可见字符”,就是不是像0~9、a~z这种字符,如空格、回车,如果没有选择HEX显示,就无法判断法搜是否正确,还有一个原因是串口通信结尾一般是0x0D 0x0A,但是在习惯上,我们认为回车键就是结尾,因此,看数据到底发送接收了什么还是用HEX显示不容易出错。+ p% z/ f; {2 ~( l! v

' c% H0 h" x: a% @接下来是硬件的连接。调试串口需要一个USB转TTL的模块,请自行X宝,放一张博主使用的模块,这个模块有两个3.3V、一个5V供电,不仅在调试WIFI时可以用,在使用其他模块时还能做电源,关键还很便宜。7 C& ?% T5 d1 o, i* k# R

' \  `. n* K5 T/ r
2.png

2 [1 r, Z0 E4 o. |6 x) {! b0 l再放张WIFI模块的硬件连接图。
* R7 k* J8 h& m  Z- ~6 s$ u! ?7 c8 d; @/ q! V9 g$ U( t5 C$ Z
3.png
, k) U2 }2 P0 g9 B2 Z8 N9 U2 a
连接很简单,TX连接RX,VCC连接3.3V,GND连接GND,有一点注意就是CH_PD连接3.3V,数据手册上说的。
* J9 a" _; }: g0 s- V  ^1 Q: z! Z+ T
: j: e  I& e- i, F# q5 b+ r; {& K+ Q然后进行一个测试,选择串口号,打开串口,字符串输入框中输入AT+RST,点击发送,如果模块正常应该如图。# `" |# j; X: B9 l" E( h; p

: j( P( q% o$ i( q# ~
4.png

* {& `. `- }1 w' S: d然后是对模块进行配置。我们将模块配置成多连接模式。
( P) c" X8 {' e! x$ W3 I* R  s9 ^; A$ L8 o% E% }* F& B: s
AT+CWMODE=3 //配置成多连接模式0 q: o2 s* L6 ?3 M. n6 C; i
( j; i! ^& S) _- r% B
响应OK,如下图
' `" {1 |+ [4 o8 u' q: F+ T( m* _2 h- W" ^9 |. \5 a# ?3 E
7.png
) M; e  v# f9 w. P
AT+RST //重启生效
) B+ ]; ~* z" o8 ?2 r% d6 T
4 d& J. L, E- A响应OK,如下图$ P3 ?! L& ?* h: e0 o" z

; W: u# }2 ]8 d6 D3 N# N0 U# K 8.png
+ m5 }  O1 f: ~# p2 E# S$ C8 ^+ k9 \& S* Y5 E
AT+CWSAP="ESP8266_TEST","1234567890",1,3  //修改模块名字和密码,后面两个是通道号和密码模式,默认1,3就好# C* q' R: Q# P7 I0 q5 B
+ j$ g3 O& c. l% E
响应OK,如下图" \! O) s2 P& U1 @# c9 h! ]1 ^: k
# K: A- k/ T: X
9.png
5 p! @  c5 Z& R5 Z3 r
# R( y8 M  p7 a$ iAT+CIPMUX=1 //启动多连接
5 @% d5 w+ Y* e* ]* s. r
2 ^/ r. h4 P& ?: _3 K0 h' x响应OK,如下图" k" {& H6 B0 f% C1 {* Z
7 x: h/ `6 X- Q% P
10.png : u8 u0 k" d! l3 H. G

, |/ y, D1 i# i% H! O: uAT+CIPSERVER=1,8080 //建立SERVER,端口80803 A. C- S/ p) j' g4 X8 k# x
2 k# e9 s) _! a" E5 _
响应OK,如下图
' H: w/ X* S  z% S2 J! f- U8 C+ a. e8 F( N% L" L
11.png
' @% }& h' \# U- f- W; j% [2 X$ l( K. v
此时,我们已经将模块配置完毕,可以发现电脑已经发现了我们的WIFI,输入密码后连接到了WIFI。
1 ?& |$ m7 U# @/ Y: c2 m/ }" h/ [# L3 f, _1 A0 i, l# U% v
5.png

& B8 h0 {' {5 n6 C* y2 X
6.png

* @, M1 `1 G9 q补充一点,上面的配置成多连接,重启,配置名字和密码只要配置一次就好,即使之后断电再上电也不用重复配置,每次上电后只要输入AT+CIPMUX=1和AT+CIPSERVER=1,8080即可。
6 ?3 G+ V" s. _$ x( ]& r5 D
. e# r- Z# w# Y( a4 J6 y3 r- f# M+ C4 Z

; i0 Q- I: s. f* G转载自codingindex4 Y# a' B; y2 j  w* Y4 z' d! \

7 `+ i; O5 z) C8 \  J# I7 y
8 ~& `% v1 w6 d. x
收藏 4 评论3 发布时间:2018-5-31 10:54

举报

3个回答
wolfgang 回答时间:2018-5-31 12:33:45
GOOD!
ST1997 回答时间:2019-3-21 08:55:55
这篇理解
lisd70 回答时间:2019-3-23 15:28:40
学习了,谢谢

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版