|
本帖最后由 aimejia 于 2018-5-31 11:14 编辑 $ }- Q- u# R0 |* y : G' q0 O1 C! \" o 基于STM32的ESP8266使用教程(一) 基于STM32的ESP8266使用教程(二) 基于STM32的ESP8266使用教程(三)- L1 g! h, P9 Y3 h8 b( W# d 基于STM32的ESP8266使用教程(四)(短篇) 关于为什么要写这篇文章,因为之前在做一个项目的时候需要使用WIFI模块。X宝搜WIFI模块的时候推荐ESP8266这个模块,说是价格便宜、使用方便。但是在使用的过程中发现的确使用方便(因为是基于AT指令的,就是AT+...这种固定格式的指令,如AT+RST就是复位指令),但是在单片机控制WIFI模块时资料几乎没有(也许是博主搜索方法有问题……),经历了5天没有数据的迷茫烦躁后总算是把模块调试成功了,为了将来使用ESP8266模块的开发者少走弯路,于是这篇博文诞生了。相关软件和代码整理请参考“基于STM32的ESP8266使用教程(四)(短篇)”。% Y3 g5 u( O9 [1 x/ \* X8 o- s 要调试通信模块,首先要有调试工具,博主推荐sscom42这个工具,首先上张图。 # L/ U7 N8 H& P3 \( S' N* \- w
这里关注几个地方:一个是串口号,这个是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
再放张WIFI模块的硬件连接图。 ) R9 c- `0 q Y! q6 C8 ]/ B
连接很简单,TX连接RX,VCC连接3.3V,GND连接GND,有一点注意就是CH_PD连接3.3V,数据手册上说的。: X' H& ~3 A9 L* c; J 然后进行一个测试,选择串口号,打开串口,字符串输入框中输入AT+RST,点击发送,如果模块正常应该如图。
然后是对模块进行配置。我们将模块配置成多连接模式。, 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 响应OK,如下图2 ^' g7 F" t. i
AT+RST //重启生效: R0 d" P: T# l2 J* p4 V% l F 响应OK,如下图* E5 i, V( s6 \8 n# B 9 a' s$ k% w* I- c5 \' t M- C
" u1 `5 `$ Z/ y7 v AT+CWSAP="ESP8266_TEST","1234567890",1,3 //修改模块名字和密码,后面两个是通道号和密码模式,默认1,3就好+ B) i/ j% |" _& V 响应OK,如下图4 {$ H* T8 ~2 |: x8 b
AT+CIPMUX=1 //启动多连接 ) K% u0 E. z# q/ r1 { 响应OK,如下图, U" B! @( b" F3 K ) h# k( o" v0 q/ o* l8 m
AT+CIPSERVER=1,8080 //建立SERVER,端口8080! {" Z1 x" l8 X) j* ]7 |) q " K+ Y) w4 h% K) G+ m 响应OK,如下图
此时,我们已经将模块配置完毕,可以发现电脑已经发现了我们的WIFI,输入密码后连接到了WIFI。 9 d1 f' y% y- Y( i! U+ T* W& S
补充一点,上面的配置成多连接,重启,配置名字和密码只要配置一次就好,即使之后断电再上电也不用重复配置,每次上电后只要输入AT+CIPMUX=1和AT+CIPSERVER=1,8080即可。! C* K% [; U) T( u3 T $ ^$ Y0 ]$ d5 e& v 转载自codingindex9 g- ?3 l f3 j! D6 X1 d |
| GOOD! |
这篇理解 |
| 学习了,谢谢 |
微信公众号
手机版