ESP8266 NodeMCU 介绍
概述
ESP8266 NodeMCU Kit 开发板使用 ESP8266 WIFI 模组,再加上一些外部电路,可方便用于学习、测试和原型开发。其开源的可用固件除了官方固件外,还包括 NodeMCU 和 MicroPython。
其中 NodeMCU 是基于 Lua 的开源固件。它使用基于模块(on-module)闪存的SPIFFS文件系统 。
参考 《ESP8266EX 技术规格书》 。
参考 《ESP8266 技术参考》 。
参考 Learn ESP8266 。
技术规格及接口
WIFI 参数及射频性能
- 工作频率: 2400 - 2483.5 MHz
- 功率:802.11g,PA 输出:12-16 dBm
- 协议标准:支持 IEEE 802.11 b/g/n
- WIFI 安全标准:WEP 或 WPA/WPA2 加密认证
- 接收灵敏度:是指无线设备正常工作所需的天线口最小信号接收功率。 接收灵敏度 =
10lg(带宽范围内的热噪声功率 = KTB) + 系统噪声系数 + 解调所需信噪比。单位是dBm,接收灵敏度值越小,说明接收机的接收性能越好。温度越高、带宽越大,接收灵敏度就大。
CCK,11Mbps: <= -85 dBm (BPSK: 二进制相移键控 调制技术)
(1/2 BPSK),6Mbps: <= -88 dBm
(3/4 64-QAM),54Mbps:<= -70 dBm
接口

- 17 个 GPIO 端口
- SPI/I2C/I2S/UART: 2/1/2/2
- ADC: 10-Bit
CPU/存储/总线
- CPU:Tensilica L106 32-bit RISC ,时钟最高可达 160 MHz 。
- RAM:32 KB 指令 RAM,32 KB 指令缓存,80 KB 用户数据 RAM,16KB ETS 系统数据 RAM 。
- ROM:外部 QSPI Flash(最高可达 16 MB,通常容量范围为 512 KB - 4 MB)。(对于 NodeMCU 为 4 MB 容量)
- 总线:iBus / dBus/ AHB
获取固件
NodeMCU固件:
下载固件 NodeMCU Release。
在Linux编译环境下,Makefile文件会自动下载工具链toolchain-esp8266-linux-x86_64-20190731。
MicroPython固件:
下载已经编译的固件 MicroPython Firmware For ESP8266。在flash新固件时,首先要擦除flash,否则新的固件无法正常运行。
使用串口通信工具: picocom <port> -b<baud rate>连接设备获得 REPL
ESPRESSIF 官方固件:
下载固件 ESP8266_NONOS_SDK 或者 ESP8266_RTOS_SDK。
Ai-Thinker 固件:
ESP8266 固件汇总 (注意选择 32Mbit 版本,32Mbit = 4MByte)。
编译 ESPRESSIF ESP-AT 固件
下载交叉编译工具链: xtensa-lx106-elf。
注意将下载后的工具链路径加到 PATH 系统变量中。
接下来参考 ESPRESSIF ESP-AT 用户指南。
烧录固件
NodeMCU 内置 USB 到 串口 的转换电路(CP2102 或者 CH340 芯片),所以上传代码是非常简单的,不需要 FTDI 编程器或者其他额外电路 。
esptool:针对ESP32和ESP8266芯片的固件制作和下载工具。
写入命令:$ esptool.py --port <serial-port-of-ESP8266> write_flash -fm <flash-mode> 0x00000 <nodemcu-firmware>.bin
flash-modeisqiofor most ESP8266 ESP-01/07 (512 kByte modules) anddiofor most ESP32 and ESP8266 ESP-12 (>=4 MByte modules). ESP8285 requires dout.
擦除命令: $ espool.py --port <serial-port-of-ESP8266> erase_flash
进入下载模式:
方法A: 首先按下 FLASH 按钮,然后按下 RST 按钮,等待2秒钟后,松开 RST 按钮,再等待2秒后松开 FLASH 按钮。
**方法B: **拉低 GPIO0 进入下载模式。使用 UART0(设置波特率为 74880)查看输出信息,可看到类似下面的信息:ets Jan 8 2013,rst cause:2, boot mode:(1,6)␍ 。对于 NodeMCU dev kit(ESP-12),当连接 USB 口时,GPIO0 自动被拉低。
如果要烧录 ESPRESSIF 的官方 AT 固件,参考 ESP-AT 下载指导。