如果想实现串口转 Wi-Fi 功能,那么 ESP8266-01 模块无疑是当下最流行最具性价比的方案。
一. 介绍
1. ESP8266 模块系列
采用 ESP8266EX芯片 (http://www.espressif.com/products/hardware/esp8266ex/overview/)的ESP8266 模块有很多种,详见 https://en.wikipedia.org/wiki/ESP8266 介绍。其中 ESP8266-01 是常见的一种。
关于ESP系列模块,网上查到的资料说是安信可 Ai-Thinker 进行了系列模块的设计和开发,并且安信可在其淘宝店里说其他的都是山寨。 LT 手上这片就属于山寨系列吧 -_-! 都是买了之后才了解到的,当时 LT 是看中这款焊点干净整洁才下手的。
- 安信可 ESP8266 系列模组专题 : http://wiki.ai-thinker.com/esp8266
2. ESP-01 模块 V3
LT 手里这块板子与网络流行的版本不一样,pin5 不具有 RST 功能,按照网友的说法,这个是 ESP-01 V3 版本,参见 https://www.letscontrolit.com/forum/viewtopic.php?t=2780。
1. 外观
2. 管脚
LT 从PCB背面抄下的管脚注释:
1 | Tx | 2 | GND |
3 | EN | 4 | GPIO 2 |
5 | GPIO 16 |
6 | GPIO 0 |
7 | 3V3 | 8 | RX |
3. 线路图
LT 借鉴 他人的线路图 并自己跑线路,制作了本片的线路图(ESP8266EX 管脚编号是从圆点处逆时针开始的,每边8个管脚共32个管脚)。
- 手上这片板子用的 SPI Flash 型号是 MD25D80SIG, 刷固件时 SPI MODE 一定要选 DOUT
- 如果希望使用 Pin5 具有 RST 功能,则需要自己飞线连接到 32)Ext_RSTB,不过,据网友说,也可以用 EN 管脚来代替 RST 功能,不过速度慢了些。
二、使用
网上有很多教程,这里只记录不常见的几个:
1.AT命令需要添加\r\n
使用AT指令时,需要在指令后加上回车 0D 和换行 0A,否则模块不能正确识别。
2.上电时串口接收乱码原因
因为正常使用AT指令时,AT固件设置的默认串口速率是 115200 ;上电时,串口速率是 74880(与晶振频率有关),所以若要想看到上电的乱码内容,修改串口软件终端的速率即可。比如 LT 手里这片的上电信息:
ets Jan 8 2013,rst cause:1, boot mode:(3,7) load 0x40100000, len 2408, room 16 tail 8 chksum 0xe5 load 0x3ffe8000, len 776, room 0 tail 8 chksum 0x84 load 0x3ffe8310, len 632, room 0 tail 8 chksum 0xd8 csum 0xd8 2nd boot version : 1.6 SPI Speed : 40MHz SPI Mode : DOUT SPI Flash Size & Map: 8Mbit(512KB+512KB) jump to run user1 @ 1000 rf cal sector: 251 rf[112] : 00 rf[113] : 00 rf[114] : 01 SDK ver: 2.0.0(656edbf) compiled @ Jul 19 2016 17:58:40 phy ver: 1055, pp ver: 10.2
3.上电自动连接IP并进入透传模式
启用此模式:
AT+SAVETRANSLINK=1,"192.168.31.119",8000,"TCP"
取消此模式:
AT+SAVETRANSLINK=0
4. 修改串口波特率
不同版本有所区别,本片版本 (注意流控不要使用,保证最后一个是 0,否则需要重新刷固件):
AT+UART=9600,8,1,0,0
5. 刷官方 AT 固件
操作时,先打开软件,加载固件,开始等待,将GPIO0接地,最后上电即进入自动刷机状态。设置参数时要根据具体的板子版本来设置。
# BOOT MODE ## download ### Flash size 8Mbit: 512KB+512KB boot_v1.2+.bin 0x00000 user1.1024.new.2.bin 0x01000 esp_init_data_default.bin 0xfc000 (optional) blank.bin 0x7e000 & 0xfe000
三、开发
ESP8266 还支持完善的脚本语言开发环境,比如使用 Python 和 Lua 。
1. MicroPython for ESP8266
- MicroPython Firmware for ESP8266
http://www.micropython.org/download#esp8266 - MicroPython documentation for for ESP8266
http://docs.micropython.org/en/latest/esp8266/
2. Lua @ NodeMCU
- NodeMCU Documentation
https://nodemcu.readthedocs.io/en/master/ - NodeMCU Firmware
https://nodemcu.readthedocs.io/en/master/en/flash/
延伸阅读
- ESP8266串口模块的基本使用【转】
http://www.cnblogs.com/zzb-Dream-90Time/p/6674286.html - ESP8266测试板拿到了?让我们开始吧!
http://www.jxtobo.com/7291.html - ESP8266-01+Arduino控制使用入门
https://mp.weixin.qq.com/s/gECTeWnUxUs2232D2o3A9A