串口转 Wi-Fi 模块 ESP8266-01

目录 Content
[hide]

如果想实现串口转 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 是看中这款焊点干净整洁才下手的。

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

2. Lua @ NodeMCU

延伸阅读

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.