多年前我曾体验过 MicroPython,但在简单尝试后就将其搁置了。
作为一个熟练使用 C/C++ 的嵌入式开发者,当时觉得 MicroPython 虽然有趣,但在资源消耗和运行速度上难以匹敌 C/C++,因此认为它并非必需。
然而,最近我找到了 MicroPython 非常合适的使用场景:用最少的开发工具,来快速开发和验证应用。例如,直接使用 手机 + 串口终端 App 来编写和运行代码,无需复杂的开发环境。
用手机直连 ESP32 上的 MicroPython
我手头有一块 ESP32C3 SuperMini 开发板,上面刷写了 MicroPython v1.27.0 固件。仅用一根 Type-C 数据线将其连接到手机,然后打开一款名为 Serial USB Terminal 的开源 App。
配置好连接参数后,即可直接连接到开发板的 MicroPython REPL(交互式解释器)界面。
配置串口参数界面:
首先需要在 App 中设置正确的串口通信参数,例如波特率、数据位等。

设置终端新行格式:
在接收 (Receive) 和发送 (Send) 选项卡中,将新行 (Newline) 设置为 CR+LF,以确保与 MicroPython REPL 正常交互。


选择USB串口设备:
在设备列表中,选择识别出的 ESP32 调试串口设备。

进入 REPL 并执行代码:
连接成功后,就进入了熟悉的 >>> 提示符界面。现在可以像在电脑上一样,直接输入 Python 代码并立即执行。
例如,下面是一个让 LED 闪烁的简单函数(不小心把 0.5 秒写成了 0.6 秒 😄)。

>>> from machine import Pin
>>> from time import sleep
>>> def blink():
... led = Pin(8, Pin.OUT)
... while True:
... led.toggle()
... sleep(0.6)
...
>>> blink()
这个 blink() 函数包含一个无限循环,调用后会一直执行。要中断它,需要在终端发送 CTRL+C 信号。
在这个串口终端 App 中,有一个非常方便的功能:宏按钮。你可以长按任意一个宏按钮(例如 M7)进行编辑,将其动作设置为发送 CTRL+C 对应的 ASCII 码(即 0x03),之后点击该按钮即可发送中断信号。

为何说“真香”?
至此,整个流程演示完毕。整个过程不需要电脑、不需要安装任何 IDE,甚至不需要提前创建任何工程文件。你只需要一块运行着 MicroPython 的开发板和一部手机,就能随时随地验证一个硬件交互的想法、测试一个传感器、或者快速调试一段逻辑。
这种极致的便捷性,正是 MicroPython 在快速原型开发和想法验证阶段的巨大优势。它让嵌入式开发的入门和尝试门槛降到了极低,特别适合教育、创客以及工程师前期的快速功能验证。对于追求高效验证的开发者而言,这无疑是“真香”体验!
如果你对在资源受限环境中使用 Python 或探索更多开源实战项目感兴趣,欢迎来云栈社区交流讨论。
|