使用 MicroPython 通过 USB 连接将数据写入 ESP32

Mik*_* C. 6 uart micropython esp32

我有一个 ESP32 通过 USB 端口连接到计算机。我可以使用 ESP32 使用 print 语句通过串行连接发送数据,我需要定期向 ESP32 写入命令。如何在 MicroPython 中读取 ESP32 上 COM 端口传来的内容?我尝试了以下多种变体,但均未成功:

from machine import UART

uart = UART(115200)
while 1:
    if uart.any():
        msg = uart.read()
        print(msg)
Run Code Online (Sandbox Code Playgroud)

Grz*_*ski 5

打印仅用于 REPL 中的打印。如果你想通过串口与MCU通信,你必须向它写入数据。

最简单的例子是:

# your imports and initialization

msg = uart.read()
uart.write(msg)
Run Code Online (Sandbox Code Playgroud)

在您的计算机上,您必须运行一些串行控制台,例如 picocom,或者如果您是 Windows 用户,则必须运行 Putty。连接后,只需在终端中输入一些内容并按 Enter 键即可。这基本上就是开始回显消息所需的全部内容。您可以在您的计算机上使用 Pythonserial库,但我建议坚持使用最简单的工具,直到您第一次成功连接。

不过还有两件事:

  1. 恕我直言,你的 init 不完整。它应该包含端口和超时选项。
  2. 您不能使用同一个 USB 端口进行编程和通信(就像在 Arduino 中一样)。REPL 会破坏你的连接。您需要从中国购买 2 美元的 USB 转串口适配器,并连接到其他 UART 引脚(ESP32 上有 3 个 UART 接口)。