今天买了一套学习嵌入式的设备,准备学学新东西。一来是有兴趣,单纯捣鼓软件我觉得腻了,有了 AI 之后,软件前端、后端、App 开发都被干趴下了,我想看看 AI 操纵硬件已经支持到什么程度了。第二,带着孩子一起玩,小孩动手能力强,喜欢搭乐高,准备和孩子一起学习嵌入式开发,做做简单的能读蓝牙、联网的小硬件。未来是人工智能的天下,不学不行,逃不掉的。
先从手头的 ESP32 开始,跑上 MicroPython,让它闪一闪板载 LED。整个过程比想象中简单,记录一下关键步骤。

1. 准备材料
- ESP32 开发板一块
- USB 数据线(要能传数据)
- 电脑(Linux)我是一台deepin 的小迷你主机上操作的,为啥选deepin,主要是懒,不想安装ubuntu debian 去折腾输入法啥的。
- MicroPython 固件:从官方下载页选择 ESP32 GENERIC 版本
我下载到的固件文件名类似:
|

2. 安装 esptool 并擦除 Flash
先用 Python 创建个临时虚拟环境安装 esptool:
|
把 ESP32 接上电脑,确认串口(一般是 /dev/ttyUSB0):
|
如果权限不够,先临时放开:
|
让 ESP32 进入下载模式:
- 按住 BOOT 键不放。
- 按一下 EN/RST 复位键。
- 松开 BOOT 键。
然后擦除 Flash:
|
3. 烧录 MicroPython 固件
擦除完成后,把固件写到 0x1000 偏移处:
|
烧录成功后会自动复位,ESP32 就进入 MicroPython 环境了。

4. 连接 REPL
用 pyserial 自带的 miniterm 连接串口,波特率 115200:
|
按 Enter 后出现 >>>,说明 REPL 已经就绪。退出按 Ctrl + ]。
5. 点亮板载 LED
大部分 ESP32 开发板的板载 LED 接在 GPIO2,直接在 REPL 输入:
|
如果灯亮了,说明引脚正确。如果用的是 GPIO5 的板子,把 2 改成 5 再试。
6. 让 LED 闪烁
输入下面代码让 LED 每隔 0.5 秒切换一次:
|
按 Ctrl + C 停止循环,回到 >>>。
实际效果如下:
7. 开机自动闪烁
如果想一上电就自动闪,可以把代码保存为 main.py,上传后重启即可:
|
用 mpremote 上传:
|
复位后 LED 就会自己闪烁,连不连串口都行。
8. 跟着 AI 学习的感觉
这次从固件下载、烧录到点灯,全程都是一边问 AI 一边操作。遇到权限问题、下载模式、REPL 没反应,立刻就能得到反馈,比在课堂上听老师讲课有意思多了。即时反馈才让人有动力继续往下学。


9. 常见问题
- esptool 连不上:多半是没进入下载模式,重新按 BOOT + EN 试一次。
- 串口没权限:
sudo chmod 666 /dev/ttyUSB0,或者把用户加入dialout组后重新登录。 - REPL 没反应:先按 Enter;如果 main.py 里有死循环,按 Ctrl + C 打断。
- 灯不亮:板载 LED 引脚可能不是 GPIO2,试试 GPIO5。
10. 参考资料
- MicroPython ESP32 固件下载:https://micropython.org/download/ESP32_GENERIC/
- MicroPython 官方文档:https://docs.micropython.org/
整体流程就是:下载固件 → 擦除 Flash → 烧录 → 连 REPL → 控制 GPIO。MicroPython 把 ESP32 变成了可以像 Python 一样即写即跑的小板子,后续做传感器、物联网小项目会很方便。
评论
0 条评论