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

标签 uart esp32 micropython

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

from machine import UART

uart = UART(115200)
while 1:
    if uart.any():
        msg = uart.read()
        print(msg)

最佳答案

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

最简单的例子是:

# your imports and initialization

msg = uart.read()
uart.write(msg)

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

不过还有两件事:
  • 您的初始化不完整恕我直言。它应该包含端口和超时选项。
  • 您不能使用相同的 USB 端口进行编程和通信(如在 Arduino 中)。 REPL 会炸毁你的连接。您需要从中国购买 2 美元的 USB 转串口适配器并连接到其他 UART 引脚(ESP32 上有 3 个 UART 接口(interface))。
  • 关于uart - 使用 MicroPython 通过 USB 连接将数据写入 ESP32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61327706/

    相关文章:

    google-cloud-platform - 以 GET/"pull"方式从 Google Cloud IoT 设备检索实时数据?

    micropython - 如何使用Micropython通过I2C访问HTIT-WB32上的OLED?

    mqtt - ESP32 - 使用 MicroPython 的 MQTT 到 AWS IoT

    python - 使用pyserial读取多个串行设备时延迟较大

    file - Micropython网络服务器: Serve large textfiles without memory allocation failure

    ESP32 的 Core 1 和 0 不能单独工作

    python - 当使用请求从 NodeMCU 上的 micropython 进行 POST 时,ECONNABORTED

    c - UART 上的 UTF-8 输入

    c++ - linux轮询串口传输端

    c - UART,返回页首