找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1679

积分

0

好友

215

主题
发表于 3 天前 | 查看: 10| 回复: 0

多年前我曾体验过 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 调试串口设备。

ESP32 USB串口调试设备信息

进入 REPL 并执行代码:
连接成功后,就进入了熟悉的 >>> 提示符界面。现在可以像在电脑上一样,直接输入 Python 代码并立即执行。

例如,下面是一个让 LED 闪烁的简单函数(不小心把 0.5 秒写成了 0.6 秒 😄)。

MicroPython REPL终端运行代码示例

>>> 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),之后点击该按钮即可发送中断信号。

编辑宏按钮发送CTRL+C指令

为何说“真香”?

至此,整个流程演示完毕。整个过程不需要电脑、不需要安装任何 IDE,甚至不需要提前创建任何工程文件。你只需要一块运行着 MicroPython 的开发板和一部手机,就能随时随地验证一个硬件交互的想法、测试一个传感器、或者快速调试一段逻辑。

这种极致的便捷性,正是 MicroPython 在快速原型开发和想法验证阶段的巨大优势。它让嵌入式开发的入门和尝试门槛降到了极低,特别适合教育、创客以及工程师前期的快速功能验证。对于追求高效验证的开发者而言,这无疑是“真香”体验!

如果你对在资源受限环境中使用 Python 或探索更多开源实战项目感兴趣,欢迎来云栈社区交流讨论。




上一篇:编程语言中while循环为何比when更普遍?从设计原理看控制流核心
下一篇:高可用架构三大核心策略:冗余、隔离与降级的设计原则与实战案例
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 02:48 , Processed in 0.361325 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表