本帖最后由 aimejia 于 2018-5-31 11:14 编辑 & a# G( `( K0 s, n! Y 基于STM32的ESP8266使用教程(一) 基于STM32的ESP8266使用教程(二)- e+ h! ^. p& `0 J$ S* Y 基于STM32的ESP8266使用教程(三)( E6 W. }5 U# ?& o9 D 基于STM32的ESP8266使用教程(四)(短篇) $ s1 x2 i+ T' ^; y8 h Q 关于为什么要写这篇文章,因为之前在做一个项目的时候需要使用WIFI模块。X宝搜WIFI模块的时候推荐ESP8266这个模块,说是价格便宜、使用方便。但是在使用的过程中发现的确使用方便(因为是基于AT指令的,就是AT+...这种固定格式的指令,如AT+RST就是复位指令),但是在单片机控制WIFI模块时资料几乎没有(也许是博主搜索方法有问题……),经历了5天没有数据的迷茫烦躁后总算是把模块调试成功了,为了将来使用ESP8266模块的开发者少走弯路,于是这篇博文诞生了。相关软件和代码整理请参考“基于STM32的ESP8266使用教程(四)(短篇)”。 " G+ U0 l1 r4 Z8 E5 p 要调试通信模块,首先要有调试工具,博主推荐sscom42这个工具,首先上张图。6 R+ b5 q( q9 ]9 U4 a1 X 这里关注几个地方:一个是串口号,这个是WIFI模块通过USB转TTL与电脑的接口;下一个是波特率,ESP8266固定波特率115200,如果选择9600可能会出乱码;还有就是HEX显示,原因有两个,一个是如果传输的是“非可见字符”,就是不是像0~9、a~z这种字符,如空格、回车,如果没有选择HEX显示,就无法判断法搜是否正确,还有一个原因是串口通信结尾一般是0x0D 0x0A,但是在习惯上,我们认为回车键就是结尾,因此,看数据到底发送接收了什么还是用HEX显示不容易出错。+ p% z/ f; {2 ~( l! v 接下来是硬件的连接。调试串口需要一个USB转TTL的模块,请自行X宝,放一张博主使用的模块,这个模块有两个3.3V、一个5V供电,不仅在调试WIFI时可以用,在使用其他模块时还能做电源,关键还很便宜。7 C& ?% T5 d1 o, i* k# R 再放张WIFI模块的硬件连接图。 ! ?7 c8 d; @/ q! V9 g$ U( t5 C$ Z 连接很简单,TX连接RX,VCC连接3.3V,GND连接GND,有一点注意就是CH_PD连接3.3V,数据手册上说的。 然后进行一个测试,选择串口号,打开串口,字符串输入框中输入AT+RST,点击发送,如果模块正常应该如图。# `" |# j; X: B9 l" E( h; p 然后是对模块进行配置。我们将模块配置成多连接模式。 * 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,如下图 2 h- W" ^9 |. \5 a# ?3 E AT+RST //重启生效 响应OK,如下图$ P3 ?! L& ?* h: e0 o" z # 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 AT+CIPMUX=1 //启动多连接 响应OK,如下图" k" {& H6 B0 f% C1 {* Z 7 x: h/ `6 X- Q% P AT+CIPSERVER=1,8080 //建立SERVER,端口80803 A. C- S/ p) j' g4 X8 k# x 2 k# e9 s) _! a" E5 _ 响应OK,如下图 - U8 C+ a. e8 F( N% L" L ; j% [2 X$ l( K. v 此时,我们已经将模块配置完毕,可以发现电脑已经发现了我们的WIFI,输入密码后连接到了WIFI。 / [# L3 f, _1 A0 i, l# U% v 补充一点,上面的配置成多连接,重启,配置名字和密码只要配置一次就好,即使之后断电再上电也不用重复配置,每次上电后只要输入AT+CIPMUX=1和AT+CIPSERVER=1,8080即可。 3 r- f# M+ C4 Z 转载自codingindex4 Y# a' B; y2 j w* Y4 z' d! \ |
GOOD! |
这篇理解 |
学习了,谢谢 |