Запись данных в ESP32 через USB-соединение с MicroPython - PullRequest
2 голосов
/ 20 апреля 2020

ESP32 подключен к компьютеру через порт USB. Я могу использовать ESP32 для отправки данных через последовательное соединение с помощью оператора печати, мне нужно периодически записывать команды в ESP32. Как мне прочитать, что идет через COM-порт на ESP32 в Micro Python? Я безуспешно пробовал много вариантов следующего:

from machine import UART

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

1 Ответ

3 голосов
/ 20 апреля 2020

Печать предназначена только для печати в формате REPL. Если вы хотите связываться с MCU через последовательный порт, вам нужно записать в него.

Простейшим примером будет:

# your imports and initialization

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

А на вашем компьютере вы должны запустить некоторую последовательную консоль, например picocom или если вы Windows пользователь, тогда Putty. После подключения просто введите что-то в терминале и нажмите Enter. Это в основном все, что вам нужно, чтобы начать выводить сообщения. Вы можете использовать библиотеку Python serial на своем компьютере, но я предлагаю придерживаться самых простых инструментов, пока вы не подключитесь в первый раз.

Хотя есть еще две вещи:

  1. Ваш инициал неполный имхо. Он должен содержать параметры порта и времени ожидания.
  2. Вы не можете использовать один и тот же порт USB для программирования и связи (как в Arduino). REPL взорвет вашу связь. Вам нужен адаптер USB-последовательный порт из Китая за 2 доллара США и подключение к другим контактам UART (на ESP32 имеется 3 интерфейса UART).
...