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

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

[复制链接]
aimejia 发布时间:2018-5-31 10:54
本帖最后由 aimejia 于 2018-5-31 11:14 编辑 $ }- Q- u# R0 |* y
: G' q0 O1 C! \" o
基于STM32的ESP8266使用教程(一)
, T* B/ s4 f& x8 X+ s1 l基于STM32的ESP8266使用教程(二)
. J4 [& x- X8 b2 k9 r  w基于STM32的ESP8266使用教程(三)- L1 g! h, P9 Y3 h8 b( W# d
基于STM32的ESP8266使用教程(四)(短篇)
0 \' v, k4 p0 N3 U
# \! ]: g/ k1 G, }- ?0 u关于为什么要写这篇文章,因为之前在做一个项目的时候需要使用WIFI模块。X宝搜WIFI模块的时候推荐ESP8266这个模块,说是价格便宜、使用方便。但是在使用的过程中发现的确使用方便(因为是基于AT指令的,就是AT+...这种固定格式的指令,如AT+RST就是复位指令),但是在单片机控制WIFI模块时资料几乎没有(也许是博主搜索方法有问题……),经历了5天没有数据的迷茫烦躁后总算是把模块调试成功了,为了将来使用ESP8266模块的开发者少走弯路,于是这篇博文诞生了。相关软件和代码整理请参考“基于STM32的ESP8266使用教程(四)(短篇)”。% Y3 g5 u( O9 [1 x/ \* X8 o- s

' t3 _* v( z8 ~% O: T要调试通信模块,首先要有调试工具,博主推荐sscom42这个工具,首先上张图。
% @: ?5 M) R; [4 ]8 P1 P: @# L/ U7 N8 H& P3 \( S' N* \- w
1.png

8 g/ [. M! R6 W8 k* y* @/ v这里关注几个地方:一个是串口号,这个是WIFI模块通过USB转TTL与电脑的接口;下一个是波特率,ESP8266固定波特率115200,如果选择9600可能会出乱码;还有就是HEX显示,原因有两个,一个是如果传输的是“非可见字符”,就是不是像0~9、a~z这种字符,如空格、回车,如果没有选择HEX显示,就无法判断法搜是否正确,还有一个原因是串口通信结尾一般是0x0D 0x0A,但是在习惯上,我们认为回车键就是结尾,因此,看数据到底发送接收了什么还是用HEX显示不容易出错。% b5 Z% B7 j0 m( d# z( H
! T! q- y/ t4 O
接下来是硬件的连接。调试串口需要一个USB转TTL的模块,请自行X宝,放一张博主使用的模块,这个模块有两个3.3V、一个5V供电,不仅在调试WIFI时可以用,在使用其他模块时还能做电源,关键还很便宜。) I  h1 v: p8 p, n8 W% _2 Z% c5 y

8 _: I+ }% i) {
2.png
) }, p. d) K! T) q; \5 C7 ^
再放张WIFI模块的硬件连接图。
) n. D7 @6 ?: D7 t) P" V0 [4 Y) R9 c- `0 q  Y! q6 C8 ]/ B
3.png

$ o3 n. g. R  b3 ~/ l连接很简单,TX连接RX,VCC连接3.3V,GND连接GND,有一点注意就是CH_PD连接3.3V,数据手册上说的。: X' H& ~3 A9 L* c; J

5 t! l% l% w- Y5 P/ ]8 D然后进行一个测试,选择串口号,打开串口,字符串输入框中输入AT+RST,点击发送,如果模块正常应该如图。
3 N) S- [/ \; n4 d0 Q
* O* p5 d8 w( m/ B7 S
4.png
  H/ v$ `% c6 Y7 N. U
然后是对模块进行配置。我们将模块配置成多连接模式。, A* b: Y# V3 F: Z" N* g
; a( g) a( [/ F- V5 O
AT+CWMODE=3 //配置成多连接模式8 j! C3 u- t, u" c. f7 a

: \7 t. o" K" K响应OK,如下图2 ^' g7 F" t. i

, ~) \0 ?* i# P0 v6 d
7.png
1 c) u7 N/ O0 Y& ~# P% x
AT+RST //重启生效: R0 d" P: T# l2 J* p4 V% l  F

  ?3 \9 d2 t8 q! t% J# {; i响应OK,如下图* E5 i, V( s6 \8 n# B
9 a' s$ k% w* I- c5 \' t  M- C
8.png
/ t% o6 q7 |8 W9 X1 t" u1 `5 `$ Z/ y7 v
AT+CWSAP="ESP8266_TEST","1234567890",1,3  //修改模块名字和密码,后面两个是通道号和密码模式,默认1,3就好+ B) i/ j% |" _& V

) c& v8 @. R& C7 r# O1 W响应OK,如下图4 {$ H* T8 ~2 |: x8 b

) O2 {/ r' A8 v/ q+ R4 K 9.png
' T8 f; T& c7 U. h' S. I
# R* m# w. J& UAT+CIPMUX=1 //启动多连接
2 i" i* j2 D) |5 r7 j, s6 f) K% u0 E. z# q/ r1 {
响应OK,如下图, U" B! @( b" F3 K
) h# k( o" v0 q/ o* l8 m
10.png
: P- Y3 b  j8 B) P! F5 J: }  k
2 _9 Q2 q! `! X/ E- NAT+CIPSERVER=1,8080 //建立SERVER,端口8080! {" Z1 x" l8 X) j* ]7 |) q
" K+ Y) w4 h% K) G+ m
响应OK,如下图
" n$ N3 m9 }: ^. n
0 r8 ~# F" S; b2 g; Y9 A* f 11.png * U3 b7 \! d7 [. ?) d9 p- a

& h- n+ k+ m4 F2 B, [此时,我们已经将模块配置完毕,可以发现电脑已经发现了我们的WIFI,输入密码后连接到了WIFI。
# W7 X# v. k6 F+ ~! P; e9 d1 f' y% y- Y( i! U+ T* W& S
5.png

  c/ O- R) K( G- w
6.png

! B) Z. j8 j; \5 z0 \, r. A+ t补充一点,上面的配置成多连接,重启,配置名字和密码只要配置一次就好,即使之后断电再上电也不用重复配置,每次上电后只要输入AT+CIPMUX=1和AT+CIPSERVER=1,8080即可。! C* K% [; U) T( u3 T

+ @  Q/ D' p7 X+ G0 W5 x, y% l5 k3 l# H
3 }  ?  `. a" c$ ^$ Y0 ]$ d5 e& v
转载自codingindex9 g- ?3 l  f3 j! D6 X1 d

0 x( E. L8 y/ y3 q
6 |4 \* ]9 D# f$ [4 T# O' }
赞 收藏 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版