|
|
第1行: |
第1行: |
− | == 产品概述 ==
| |
− | ESP8266 系列模块是基于乐鑫ESP8266开发的低功耗WiFi模块,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。
| |
− |
| |
− | 模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
| |
− |
| |
− | ESP8266 是高性能无线 SoC,以最低成本提供最大实用性,为 Wi-Fi 功能嵌入其他系统提供无限可能。
| |
− |
| |
− | === 产品特点 ===
| |
− | * 体积超小的802.11b/g/n WiFi SOC模块
| |
− | * 采用低功率32位CPU,可兼作应用处理器
| |
− | * 主频最高可达160MHz
| |
− | * 内置10bit高精度ADC
| |
− | * 支持USART、GPIO、IIC、PWM、ADC、SPI等接口
| |
− | * 支持多种休眠模式,深度睡眠电流低至20uA
| |
− | * 内嵌LWIP协议栈
| |
− | * 支持STA、AP、STA+AP工作模式
| |
− | * 支持smart config、AirKiss一键配网
| |
− | * 通用AT指令可快速上手
| |
− | * 支持SDK二次开发
| |
− | * 支持串口本地升级和远程固件升级(FOTA)
| |
− |
| |
| == 使用说明 == | | == 使用说明 == |
| ESP8266 系列模组出厂时已默认内置 AT 固件,且默认波特率为 115200,可参考 [[#设计指南]] 搭建最小系统电路,之后即可进行 AT 指令操作。 | | ESP8266 系列模组出厂时已默认内置 AT 固件,且默认波特率为 115200,可参考 [[#设计指南]] 搭建最小系统电路,之后即可进行 AT 指令操作。 |
第39行: |
第18行: |
| | | |
| === 使用示例 === | | === 使用示例 === |
− | 本章节讲解如何在 PC 端通过串口配置 2 个 ESP8266 模块通过TCP/UDP 相互通信。 | + | 本章节讲解如何在 PC 端通过串口配置 2 个 ESP8266 模块通过 TCP 相互通信。 |
| | | |
| {{Note| | | {{Note| |
第53行: |
第32行: |
| | | |
| ==== TCP 通信测试 ==== | | ==== TCP 通信测试 ==== |
− | 本实验需要用到 2 个模块,如果用 PC 端作为服务器的话,单个模块也可以进行这个实验。 | + | 本实验需要用到 2 个模块,如果用 PC 端作为服务器的话,单个模块也可以进行这个实验,见[[#HTTP 通信测试]]。 |
| | | |
| '''TCP Server 端配置:''' | | '''TCP Server 端配置:''' |
第73行: |
第52行: |
| AT+CIPSEND=12 //发送 12 个字节的数据到服务器端 | | AT+CIPSEND=12 //发送 12 个字节的数据到服务器端 |
| </pre> | | </pre> |
− |
| |
| | | |
| 出现 '''>''' 符号之后,串口发送任意 12 个字节,如 Hello world! (不带回车换行) | | 出现 '''>''' 符号之后,串口发送任意 12 个字节,如 Hello world! (不带回车换行) |
第94行: |
第72行: |
| </pre> | | </pre> |
| | | |
− | == 产品尺寸 == | + | === HTTP 通信测试 === |
− | {{#switch: {{FULLPAGENAME}}
| + | 如果只有一个模块的话,用户只要能把它连接到路由器中,也可以对单个模块进行测试。本例子中,模块是 Client 端,以访问本网页为例。 |
− | | ESP-01 ESP8266 = [[File:ESP-01_ESP8266_Dementions.png|400px]]
| |
− | | ESP-01S ESP8266 = [[File:ESP-01_ESP8266_Dementions.png|400px]]
| |
− | | ESP-07 ESP8266 = [[File:ESP-07_ESP8266_Dementions.png|400px]]
| |
− | | ESP-07S ESP8266 = [[File:ESP-07S_ESP8266_Dementions.png|400px]]
| |
− | | ESP-12F ESP8266 = [[File:ESP-12F_ESP8266_Dementions.png|400px]]
| |
− | | ESP-12S ESP8266 = [[File:ESP-12S_ESP8266_Dementions.png|400px]]
| |
− | | ESP-15F ESP8266 = [[File:ESP-15F_ESP8266_Dementions.png|400px]]
| |
− | | #default = [[File:ESP-12F_ESP8266_Dementions.png|400px]]
| |
− | }}
| |
| | | |
− | == 管脚定义 ==
| + | '''Client 端配置:''' |
− | {{#switch: {{FULLPAGENAME}}
| |
− | | ESP-01 ESP8266 = {{ESP-01 ESP8266 Pinout}}
| |
− | | ESP-01S ESP8266 = {{ESP-01 ESP8266 Pinout}}
| |
− | | ESP-07 ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-07S ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-12S ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-12F ESP8266 = {{ESP-12F ESP8266 Pinout}}
| |
− | | ESP-15F ESP8266 = {{ESP-12F ESP8266 Pinout}}
| |
− | | #default = {{ESP-12F ESP8266 Pinout}}
| |
− | }}
| |
| | | |
− | == 启动模式 == | + | 串口依次发送: |
− | {|class="wikitable"
| + | <pre> |
− | ! 模式 !! CH_PD (EN) !! RST !! GPIO15 !! GPIO0 !! GPIO2 !! TXD0
| + | AT+CWJAP_DEF="SSID","password" //SSID是路由器的名称,password是密码 |
− | |-
| + | AT+CIPSTART="TCP","wiki.diustou.com",80 //依据实际情况填写 IP 地址 |
− | | 下载模式 || 高 || 高 || 低 || 低 || 高 || 高
| + | AT+CIPMODE=1 |
− | |-
| + | AT+CIPSEND |
− | | 运行模式 || 高 || 高 || 低 || 高 || 高 || 高
| + | </pre> |
− | |-
| + | 出现 '''>''' 符号之后,串口发送 GET 请求: |
− | | 测试模式 || 高 || 高 || - || - || - || 低
| + | <pre> |
− | |}
| + | GET / HTTP/1.1 |
| + | Host: wiki.diustou.com:80 |
| + | Connection: keep-alive |
| + | \r\n\r\n(结束符) |
| + | </pre> |
| | | |
− | == 电气特性 ==
| + | 之后服务器便会返回响应的内容。 |
− | === 最大额定值 ===
| |
− | {|class="wikitable"
| |
− | ! 额定值 !! 条件 !! 值 !! 单位
| |
− | |-
| |
− | | 存储温度 || - || -40 ~ 125 || ℃
| |
− | |-
| |
− | | 最大焊接温度 || - || 250 || ℃
| |
− | |-
| |
− | | 工作电压 || IPC/JEDEC J-STD-020 || +3.0 ~ +3.6 || V
| |
− | |}
| |
| | | |
− | === 建议工作环境 ===
| + | 退出透传,不要勾选新行(\r\n) |
− | {|class="wikitable"
| + | <pre> |
− | | 工作温度 || -20 || 25 || 70 || ℃
| + | +++ |
− | |-
| + | </pre> |
− | | 供电电压 || 3.0 || 3.3 || 3.6 || V
| |
− | |}
| |
− | | |
− | === 数字端口特征 ===
| |
− | {|class="wikitable"
| |
− | ! 说明 !! 名称 !! 最小值 !! 典型值 !! 最大值 !! 单位
| |
− | |-
| |
− | | 输入逻辑电平低 || VIL || -0.3 || - || 0.25 * VDD || V
| |
− | |-
| |
− | | 输入逻辑电平高 || VIH || 0.75 * VDD || - || VDD + 0.3 || V
| |
− | |-
| |
− | | 输出逻辑电平低 || VOL || N || - || 0.1 * VDD || V
| |
− | |-
| |
− | | 输出逻辑电平高 || VOH || 0.8 * VDD || - || N || V
| |
− | |}
| |
− | * 注意:如无特殊说明,测试条件为:VDD = 3.3 V,温度为 25 ℃。
| |
− | | |
− | === 功耗 ===
| |
− | 所有测量均在没有 SAW 滤波器的情况下,于天线接口处完成。
| |
− | | |
− | 所有发射数据是基于 90% 的占空比,在持续发射的模式下测得的。
| |
− | | |
− | {|class="wikitable"
| |
− | ! 模式 !! 典型值 !! 单位
| |
− | |-
| |
− | | 传送 802.11b, CCK 11Mbps, POUT=+17dBm || 170 || mA
| |
− | |-
| |
− | | 传送 802.11g, OFDM 54Mbps, POUT =+15dBm || 140 || mA
| |
− | |-
| |
− | | 传送 802.11n, MCS7, POUT =+13dBm || 120 || mA
| |
− | |-
| |
− | | 接收 802.11b,包长 1024 字节, -80dBm || 50 || mA
| |
− | |-
| |
− | | 接收 802.11g,包长 1024 字节, -70dBm || 56 || mA
| |
− | |-
| |
− | | 接收 802.11n,包长 1024 字节, -65dBm || 56 || mA
| |
− | |-
| |
− | | Modem-Sleep① || 20 || mA
| |
− | |-
| |
− | | Light-Sleep② || 2 || mA
| |
− | |-
| |
− | | Deep-Sleep③ || 20 || uA
| |
− | |-
| |
− | | Power Off || 0.5 || uA
| |
− | |}
| |
− | * 注①:Modem-Sleep⽤于需要 CPU 一直处于工作状态如 PWM 或 I2S 应⽤等。在保持 WiFi 连接时,如果没有数据传输,可根据 802.11 标准 (如 U-APSD),关闭 WiFi Modem 电路来省电。例如,在 DTIM3 时,每 sleep 300mS,醒来 3mS 接收 AP 的 Beacon 包等,则整体平均电流约 20mA。
| |
− | * 注②:Light-Sleep 用于 CPU 可暂停的应用,如 WiFi 开关。在保持 WiFi 连接时,如果没有数据传输,可根据 802.11 标准(如 U-APSD),关闭 WiFi Modem 电路并暂停 CPU 来省电。例如,在 DTIM3 时,每 sleep 300 ms,醒来 3ms 接收 AP 的 Beacon 包等,则整体平均电流约 2 mA。
| |
− | * 注③:Deep-Sleep 用于不需一直保持 WiFi 连接,很长时间才发送一次数据包的应用,如每 100 秒测量⼀次温度的传感器。每 300 s 醒来后需 0.3s - 1s 连上 AP 发送数据,则整体平均电流可远小于 1mA。
| |
− | | |
− | === 发射功率 ===
| |
− | {|class="wikitable"
| |
− | ! 描述 !! 最小值 !! 典型值 !! 最大值 !! 单位
| |
− | |-
| |
− | | 802.11b@11Mbps || 14 || 16 || 18 || dBm
| |
− | |-
| |
− | | 802.11g@54Mbps || 12 || 14 || 16 || dBm
| |
− | |-
| |
− | | 802.11n@HT20, MCS7 || 11 || 13 || 15 || dBm
| |
− | |}
| |
− | | |
− | === 接收灵敏度 ===
| |
− | {|class="wikitable"
| |
− | ! 参数 !! 典型值 !! 单位
| |
− | |-
| |
− | | DSSS, 1 Mbps || -90 || dBm
| |
− | |-
| |
− | | CCK, 11 Mbps || -85 || dBm
| |
− | |-
| |
− | | 6 Mbps (1/2 BPSK) || -88 || dBm
| |
− | |-
| |
− | | 54 Mbps (3/4 64-QAM) || -70 || dBm
| |
− | |-
| |
− | | HT20, MCS7 (65 Mbps, 72.2 Mbps) || -67 || dBm
| |
− | |}
| |
− | | |
− | == 设计指南 ==
| |
− | === 天线摆放说明 ===
| |
− | ESP8266 系列模块可以焊接到 PCB 板上。为了使终端产品获得最佳的射频性能,请注意根据本指南合理设计模块及天线在底板上的摆放位置。
| |
− | * 方案 1(推荐):将模块沿 PCB 板边放置,且天线在板框外;
| |
− | * 方案 2:将模块沿 PCB 板边放置,天线沿板边放置且下方挖空;
| |
− | [[File:ESP-12S_Antenna_Location.png|400px]]
| |
− | | |
− | === 模块外围走线说明 ===
| |
− | # 模块外围引出了一些 GPIO 口,如需使用建议在 IO 口上串联 10-100 欧姆的电阻。这样可以抑制过冲,是两边电平更平稳。对 EMI 和 ESD 都有帮助。
| |
− | # 特殊 IO 口的上下拉,需参考规格书的使用说明,此处会影响到模块的启动配置。
| |
− | # 模块的 IO 口是 3.3V 如果主控与模块的 IO 电平不匹配,需要增加电平转换电路。
| |
− | # 如果 IO 口直连到外围接口,或者排针等端子,建议在 IO 走线靠近端子处预留 ESD 器件。
| |
− | | |
− | === GPIO 电平转换 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_1.png|400px]]
| |
− | | |
− | === 电源参考设计 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_2.png|400px]]
| |
− | | |
− | === ADC 参考设计 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_3.png|400px]]
| |
− | | |
− | === 自动下载电路 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_4.png|400px]]
| |
− | | |
− | === 回流焊炉温曲线 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_5.png|400px]]
| |
− | | |
− | == 选型列表 ==
| |
− | {{ESP8266 Selection Guide}}
| |
− | | |
− | == FAQ ==
| |
− | | |
− | == 产品尺寸 ==
| |
− | {{#switch: {{FULLPAGENAME}}
| |
− | | ESP-01 ESP8266 = [[File:ESP-01_ESP8266_Dementions.png|400px]]
| |
− | | ESP-01S ESP8266 = [[File:ESP-01_ESP8266_Dementions.png|400px]]
| |
− | | ESP-07 ESP8266 = [[File:ESP-07_ESP8266_Dementions.png|400px]]
| |
− | | ESP-07S ESP8266 = [[File:ESP-07S_ESP8266_Dementions.png|400px]]
| |
− | | ESP-12F ESP8266 = [[File:ESP-12F_ESP8266_Dementions.png|400px]]
| |
− | | ESP-12S ESP8266 = [[File:ESP-12S_ESP8266_Dementions.png|400px]]
| |
− | | ESP-15F ESP8266 = [[File:ESP-15F_ESP8266_Dementions.png|400px]]
| |
− | | #default = [[File:ESP-12F_ESP8266_Dementions.png|400px]]
| |
− | }}
| |
− | | |
− | == 管脚定义 ==
| |
− | {{#switch: {{FULLPAGENAME}}
| |
− | | ESP-01 ESP8266 = {{ESP-01 ESP8266 Pinout}}
| |
− | | ESP-01S ESP8266 = {{ESP-01 ESP8266 Pinout}}
| |
− | | ESP-07 ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-07S ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-12S ESP8266 = {{ESP-07 ESP8266 Pinout}}
| |
− | | ESP-12F ESP8266 = {{ESP-12F ESP8266 Pinout}}
| |
− | | ESP-15F ESP8266 = {{ESP-12F ESP8266 Pinout}}
| |
− | | #default = {{ESP-12F ESP8266 Pinout}}
| |
− | }}
| |
− | | |
− | == 启动模式 ==
| |
− | {|class="wikitable"
| |
− | ! 模式 !! CH_PD (EN) !! RST !! GPIO15 !! GPIO0 !! GPIO2 !! TXD0
| |
− | |-
| |
− | | 下载模式 || 高 || 高 || 低 || 低 || 高 || 高
| |
− | |-
| |
− | | 运行模式 || 高 || 高 || 低 || 高 || 高 || 高
| |
− | |-
| |
− | | 测试模式 || 高 || 高 || - || - || - || 低
| |
− | |}
| |
− | | |
− | == 电气特性 ==
| |
− | === 最大额定值 ===
| |
− | {|class="wikitable"
| |
− | ! 额定值 !! 条件 !! 值 !! 单位
| |
− | |-
| |
− | | 存储温度 || - || -40 ~ 125 || ℃
| |
− | |-
| |
− | | 最大焊接温度 || - || 250 || ℃
| |
− | |-
| |
− | | 工作电压 || IPC/JEDEC J-STD-020 || +3.0 ~ +3.6 || V
| |
− | |}
| |
− | | |
− | === 建议工作环境 ===
| |
− | {|class="wikitable"
| |
− | | 工作温度 || -20 || 25 || 70 || ℃
| |
− | |-
| |
− | | 供电电压 || 3.0 || 3.3 || 3.6 || V
| |
− | |}
| |
− | | |
− | === 数字端口特征 ===
| |
− | {|class="wikitable"
| |
− | ! 说明 !! 名称 !! 最小值 !! 典型值 !! 最大值 !! 单位
| |
− | |-
| |
− | | 输入逻辑电平低 || VIL || -0.3 || - || 0.25 * VDD || V
| |
− | |-
| |
− | | 输入逻辑电平高 || VIH || 0.75 * VDD || - || VDD + 0.3 || V
| |
− | |-
| |
− | | 输出逻辑电平低 || VOL || N || - || 0.1 * VDD || V
| |
− | |-
| |
− | | 输出逻辑电平高 || VOH || 0.8 * VDD || - || N || V
| |
− | |}
| |
− | * 注意:如无特殊说明,测试条件为:VDD = 3.3 V,温度为 25 ℃。
| |
− | | |
− | === 功耗 ===
| |
− | 所有测量均在没有 SAW 滤波器的情况下,于天线接口处完成。
| |
− | | |
− | 所有发射数据是基于 90% 的占空比,在持续发射的模式下测得的。
| |
− | | |
− | {|class="wikitable"
| |
− | ! 模式 !! 典型值 !! 单位
| |
− | |-
| |
− | | 传送 802.11b, CCK 11Mbps, POUT=+17dBm || 170 || mA
| |
− | |-
| |
− | | 传送 802.11g, OFDM 54Mbps, POUT =+15dBm || 140 || mA
| |
− | |-
| |
− | | 传送 802.11n, MCS7, POUT =+13dBm || 120 || mA
| |
− | |-
| |
− | | 接收 802.11b,包长 1024 字节, -80dBm || 50 || mA
| |
− | |-
| |
− | | 接收 802.11g,包长 1024 字节, -70dBm || 56 || mA
| |
− | |-
| |
− | | 接收 802.11n,包长 1024 字节, -65dBm || 56 || mA
| |
− | |-
| |
− | | Modem-Sleep① || 20 || mA
| |
− | |-
| |
− | | Light-Sleep② || 2 || mA
| |
− | |-
| |
− | | Deep-Sleep③ || 20 || uA
| |
− | |-
| |
− | | Power Off || 0.5 || uA
| |
− | |}
| |
− | * 注①:Modem-Sleep⽤于需要 CPU 一直处于工作状态如 PWM 或 I2S 应⽤等。在保持 WiFi 连接时,如果没有数据传输,可根据 802.11 标准 (如 U-APSD),关闭 WiFi Modem 电路来省电。例如,在 DTIM3 时,每 sleep 300mS,醒来 3mS 接收 AP 的 Beacon 包等,则整体平均电流约 20mA。
| |
− | * 注②:Light-Sleep 用于 CPU 可暂停的应用,如 WiFi 开关。在保持 WiFi 连接时,如果没有数据传输,可根据 802.11 标准(如 U-APSD),关闭 WiFi Modem 电路并暂停 CPU 来省电。例如,在 DTIM3 时,每 sleep 300 ms,醒来 3ms 接收 AP 的 Beacon 包等,则整体平均电流约 2 mA。
| |
− | * 注③:Deep-Sleep 用于不需一直保持 WiFi 连接,很长时间才发送一次数据包的应用,如每 100 秒测量⼀次温度的传感器。每 300 s 醒来后需 0.3s - 1s 连上 AP 发送数据,则整体平均电流可远小于 1mA。
| |
− | | |
− | === 发射功率 ===
| |
− | {|class="wikitable"
| |
− | ! 描述 !! 最小值 !! 典型值 !! 最大值 !! 单位
| |
− | |-
| |
− | | 802.11b@11Mbps || 14 || 16 || 18 || dBm
| |
− | |-
| |
− | | 802.11g@54Mbps || 12 || 14 || 16 || dBm
| |
− | |-
| |
− | | 802.11n@HT20, MCS7 || 11 || 13 || 15 || dBm
| |
− | |}
| |
− | | |
− | === 接收灵敏度 ===
| |
− | {|class="wikitable"
| |
− | ! 参数 !! 典型值 !! 单位
| |
− | |-
| |
− | | DSSS, 1 Mbps || -90 || dBm
| |
− | |-
| |
− | | CCK, 11 Mbps || -85 || dBm
| |
− | |-
| |
− | | 6 Mbps (1/2 BPSK) || -88 || dBm
| |
− | |-
| |
− | | 54 Mbps (3/4 64-QAM) || -70 || dBm
| |
− | |-
| |
− | | HT20, MCS7 (65 Mbps, 72.2 Mbps) || -67 || dBm
| |
− | |}
| |
− | | |
− | == 设计指南 ==
| |
− | === 天线摆放说明 ===
| |
− | ESP8266 系列模块可以焊接到 PCB 板上。为了使终端产品获得最佳的射频性能,请注意根据本指南合理设计模块及天线在底板上的摆放位置。
| |
− | * 方案 1(推荐):将模块沿 PCB 板边放置,且天线在板框外;
| |
− | * 方案 2:将模块沿 PCB 板边放置,天线沿板边放置且下方挖空;
| |
− | [[File:ESP-12S_Antenna_Location.png|400px]]
| |
− | | |
− | === 模块外围走线说明 ===
| |
− | # 模块外围引出了一些 GPIO 口,如需使用建议在 IO 口上串联 10-100 欧姆的电阻。这样可以抑制过冲,是两边电平更平稳。对 EMI 和 ESD 都有帮助。
| |
− | # 特殊 IO 口的上下拉,需参考规格书的使用说明,此处会影响到模块的启动配置。
| |
− | # 模块的 IO 口是 3.3V 如果主控与模块的 IO 电平不匹配,需要增加电平转换电路。
| |
− | # 如果 IO 口直连到外围接口,或者排针等端子,建议在 IO 走线靠近端子处预留 ESD 器件。
| |
− | | |
− | === GPIO 电平转换 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_1.png|400px]]
| |
− | | |
− | === 电源参考设计 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_2.png|400px]]
| |
− | | |
− | === ADC 参考设计 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_3.png|400px]]
| |
− | | |
− | === 自动下载电路 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_4.png|400px]]
| |
− | | |
− | === 回流焊炉温曲线 ===
| |
− | [[File:ESP-01_07_12_ESP8266_User_Manual_5.png|400px]]
| |
− | | |
− | == 选型列表 ==
| |
− | {{ESP8266 Selection Guide}}
| |
− | | |
− | == FAQ ==
| |