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

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

[复制链接]
aimejia 发布时间:2018-5-31 10:54
本帖最后由 aimejia 于 2018-5-31 11:14 编辑 $ W8 @5 v+ T! H! s6 E; f
& z' O8 [/ F& ?% q
基于STM32的ESP8266使用教程(一)
* b* ], `9 R$ ~- j, `0 t基于STM32的ESP8266使用教程(二)
7 B* h$ z6 U4 c2 I/ P0 N" n: |  ]基于STM32的ESP8266使用教程(三)
/ j# L- ?4 f# ^! C! }# W基于STM32的ESP8266使用教程(四)(短篇)" |6 L+ d% \9 f0 o2 U. ^& p
) m! Z: T2 ~) ^0 l& y7 ?. [
关于为什么要写这篇文章,因为之前在做一个项目的时候需要使用WIFI模块。X宝搜WIFI模块的时候推荐ESP8266这个模块,说是价格便宜、使用方便。但是在使用的过程中发现的确使用方便(因为是基于AT指令的,就是AT+...这种固定格式的指令,如AT+RST就是复位指令),但是在单片机控制WIFI模块时资料几乎没有(也许是博主搜索方法有问题……),经历了5天没有数据的迷茫烦躁后总算是把模块调试成功了,为了将来使用ESP8266模块的开发者少走弯路,于是这篇博文诞生了。相关软件和代码整理请参考“基于STM32的ESP8266使用教程(四)(短篇)”。
4 q  h' n1 w  i- A' z) [$ ^2 t. W& s! B
要调试通信模块,首先要有调试工具,博主推荐sscom42这个工具,首先上张图。& B+ i4 g1 f. X9 @
6 n% U  G: Z( x+ `: E. v$ }
1.png
3 D. Z( V3 D0 e! `0 g. D
这里关注几个地方:一个是串口号,这个是WIFI模块通过USB转TTL与电脑的接口;下一个是波特率,ESP8266固定波特率115200,如果选择9600可能会出乱码;还有就是HEX显示,原因有两个,一个是如果传输的是“非可见字符”,就是不是像0~9、a~z这种字符,如空格、回车,如果没有选择HEX显示,就无法判断法搜是否正确,还有一个原因是串口通信结尾一般是0x0D 0x0A,但是在习惯上,我们认为回车键就是结尾,因此,看数据到底发送接收了什么还是用HEX显示不容易出错。& _+ a% E9 O% ]% e; }
/ K# W( e# z& L
接下来是硬件的连接。调试串口需要一个USB转TTL的模块,请自行X宝,放一张博主使用的模块,这个模块有两个3.3V、一个5V供电,不仅在调试WIFI时可以用,在使用其他模块时还能做电源,关键还很便宜。$ m* i! v5 N# ^0 _- y

7 s" E# ?3 n+ a) H
2.png
) a* Y! n! {& i/ Q" K" \
再放张WIFI模块的硬件连接图。
$ E, ^. x1 y, P. Z6 H8 V: u, U6 l, ]" g6 I& F" T, `
3.png
) m2 o( M0 p' E  v+ o7 _, F
连接很简单,TX连接RX,VCC连接3.3V,GND连接GND,有一点注意就是CH_PD连接3.3V,数据手册上说的。
* j7 n" M( \* x  U) d% J9 G( w/ F8 I) f1 Q7 O
然后进行一个测试,选择串口号,打开串口,字符串输入框中输入AT+RST,点击发送,如果模块正常应该如图。
/ h% d1 j0 \9 {) M5 L. j9 e
/ R8 T/ w) V9 m; A% O
4.png
8 `: q, p  n8 v& {
然后是对模块进行配置。我们将模块配置成多连接模式。% c1 `6 j+ o3 ]

; _3 m  k( h! K6 j6 n1 U+ I. ]AT+CWMODE=3 //配置成多连接模式5 q* ]3 r4 w( D0 i
6 z. u" Y6 R4 \% \
响应OK,如下图
8 G% y% V. j; r8 }4 d7 w
0 a1 C8 {( E/ d4 v& k
7.png
0 V7 M! e3 D0 K7 e5 g" {
AT+RST //重启生效. ~3 c$ f. |$ ^7 _

) G! e! w, T% Y% Z- Z4 p响应OK,如下图
' v2 ?/ M7 j! {1 q$ B1 i  _# F1 D" X% |" y" k: ]1 |2 T7 z
8.png 9 y( L8 V8 q  Q( H0 \# }$ q: p
: R) B! s6 M$ P  p0 r* r9 _) t5 o
AT+CWSAP="ESP8266_TEST","1234567890",1,3  //修改模块名字和密码,后面两个是通道号和密码模式,默认1,3就好
! p) Y# `9 |2 E" V0 P3 Q% [9 s) s/ P2 h( t( h$ D8 m
响应OK,如下图/ @% o+ @7 ^9 D8 q9 \( v' y
4 a& o# |( ?$ S
9.png ! P  D6 p* `' F/ F8 h
' M; e  \: I7 Z" T$ v8 s- V
AT+CIPMUX=1 //启动多连接
7 |2 w2 e; q3 D; @3 r" p4 a$ L% @+ y0 y* E; ?+ G# e
响应OK,如下图' s3 f1 q3 d2 V! n# g5 P7 R$ c3 a1 W
3 Y. a$ _8 Z0 y7 N
10.png 5 n" q7 l4 v" Z9 k0 _, J

. t8 }( Y; {5 S7 [# U- c2 j# TAT+CIPSERVER=1,8080 //建立SERVER,端口8080
3 _! W6 L* ?/ ?; k. l- H& W
8 p5 K, Q( h. f% l3 h# @0 a响应OK,如下图! g/ S* O3 s% E- z% M+ b
% C& h7 U& n% u! @
11.png
3 M0 P5 y7 r! d* u0 ^3 B+ O  ]& r0 d! V
此时,我们已经将模块配置完毕,可以发现电脑已经发现了我们的WIFI,输入密码后连接到了WIFI。
% O# k# a  Z" h2 X# A+ ~2 O5 l: q2 m, |3 d$ h1 w5 J1 B/ w
5.png
2 |. b" n  j- @0 e0 N0 Z
6.png

3 I) E! _$ E" z5 n; K$ Q补充一点,上面的配置成多连接,重启,配置名字和密码只要配置一次就好,即使之后断电再上电也不用重复配置,每次上电后只要输入AT+CIPMUX=1和AT+CIPSERVER=1,8080即可。7 Z0 {8 W4 g5 j9 z8 X

8 Y+ T* y7 k% }' E6 Q) I/ Z3 w8 `/ u8 `8 Q6 l3 o! H- G

- E/ m! w3 I% p% S7 n3 `# ?转载自codingindex
  O. _4 d, i( b0 a) f& ^; x
: L& `4 L0 E! C& ~2 X6 S9 l) l. ?9 d, Q# e" k- e" _' Q, 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版