在 NodeMCU(通常指基于 ESP8266 的开发板)上使用 Python,主要指的是使用 MicroPython 或 CircuitPython。
由于 NodeMCU 硬件本身是 ESP8266 芯片,而 CircuitPython 对 ESP8266 的支持有限(主要支持 ESP32-S2/S3 等),MicroPython 是 NodeMCU 上最主流、最成熟的 Python 方案。
✅ 推荐方案:MicroPython on NodeMCU (ESP8266)
什么是 MicroPython?
MicroPython 是 Python 3 的一个精简实现,专为微控制器设计,它允许你用 Python 代码直接控制硬件(GPIO、I2C、SPI、WiFi 等)。
准备工作
硬件
- NodeMCU 开发板(ESP8266 模块)
- USB 数据线(用于烧录和串口通信)
软件
- 固件下载:从 MicroPython 官网 下载适用于 ESP8266 的最新固件(
.bin文件)。 - 烧录工具:
- Windows: esptool.py 或 NodeMCU PyFlasher
- macOS/Linux:
esptool.py(通过 pip 安装)
- 串口终端:
- Thonny IDE(推荐,内置 MicroPython 支持)
- PuTTY、MobaXterm、或 Arduino IDE 的串口监视器
烧录 MicroPython 固件
以使用 esptool.py 为例:
# 安装 esptool pip install esptool # 擦除 Flash 并写入固件(替换为你的固件路径和端口) esptool.py --port COM3 erase_flash esptool.py --port COM3 write_flash -fm dio 0x00000 your_firmware.bin
⚠️ 注意:Windows 用户可能需要安装 CH340 或 CP2102 驱动。
连接与测试
- 用 USB 线连接 NodeMCU 到电脑。
- 打开 Thonny IDE 或其他串口终端。
- 设置波特率为 115200。
- 按下 NodeMCU 上的 RST 按钮,应看到类似如下输出:
MicroPython v1.20.0 on 2026-06-17; ESP8266 module with ESP8266
Type "help()" for more information.
>>>
基本示例
示例 1:点亮内置 LED(GPIO2)
import machine
import time
# 初始化 GPIO2 为输出(NodeMCU 内置 LED 通常连接到 GPIO2)
led = machine.Pin(2, machine.Pin.OUT)
while True:
led.on() # 点亮
time.sleep(1)
led.off() # 熄灭
time.sleep(1)
示例 2:连接 WiFi
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('你的WiFi名称', '你的WiFi密码')
print('正在连接 WiFi...')
while not wlan.isconnected():
time.sleep(1)
print('连接成功!IP 地址:', wlan.ifconfig())
示例 3:读取模拟输入(A0 引脚)
import machine
import time
adc = machine.ADC(0) # NodeMCU 的 A0 引脚对应 ADC 0
while True:
value = adc.read() # 读取 0-1023 的值
print('ADC 值:', value)
time.sleep(1)
常用库与功能
| 功能 | 模块 | 说明 |
|---|---|---|
| GPIO | machine |
控制数字引脚 |
| PWM | machine |
脉宽调制(调光、调速) |
| I2C | machine |
通信协议(OLED、传感器) |
| SPI | machine |
高速通信 |
| WiFi | network |
连接 WiFi |
| HTTP | urequests |
发送 HTTP 请求 |
| 文件系统 | uos |
读写文件 |
使用 Thonny IDE 开发(推荐)
Thonny 是一个专为初学者设计的 Python IDE,完美支持 MicroPython:
- 安装 Thonny
- 运行 → 选择解释器 → MicroPython for ESP8266
- 选择正确的 COM 端口
- 编写代码,点击“运行”即可直接上传到 NodeMCU 并执行
常见问题
Q: 为什么我的 NodeMCU 连不上 WiFi?
- 确保 WiFi 名称和密码正确。
- 检查天线是否完好。
- 尝试重启设备。
Q: 如何上传文件到 NodeMCU?
在 Thonny 中,可以直接将本地 .py 文件拖拽到右侧的“远程设备”窗口中。
Q: CircuitPython 能用吗?
ESP8266 对 CircuitPython 支持不佳,建议使用 MicroPython,如果你使用 ESP32-S2/S3,则可以考虑 CircuitPython。
进阶资源
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/482121.html



