NodeMCU второй HARDWARE последовательный TX в качестве порта отладки

Я использую плату NodeMCU для отправки команд на мой домашний распределительный щит с использованием связи RS485.

Для этого я подключил модуль преобразователя TTL-to-RS485 MAX485 к своим контактам TX и RX.

В настоящее время я могу видеть последовательные команды (которые моя программа отправляет через RS485) также на моем последовательном мониторе (в Arduino IDE), потому что CH341 на NodeMCU подключен к его последовательным контактам.

Моя проблема заключается в том, что если я хочу отправить строки отладки на свой последовательный монитор (например, "время было обновлено с помощью NTP"), шина RS485 также получит их.

Я нашел документацию о втором контакте TX, который можно использовать для отладочных сообщений, но у меня есть 2 вопроса:

  1. Это будет АППАРАТНЫЙ порт? Я не хочу загружать еще одну библиотеку и разбираться с программными последовательными портами.
  2. Есть ли способ получить вывод через USB-кабель, подключенный между NodeMCU и моим компьютером? Или мне нужно будет подключить другой USB-конвертер к этому порту, чтобы передать его выход на компьютер?

Большое спасибо!

, 👍2

Обсуждение

Только что нашел плату ESP-32, которая должна быть очень похожа на NodeMCU, но имеет еще 2 (один пригодный для использования) порт UART. Не решение для моего текущего проекта, но его следует учитывать в будущем для такой необходимости., @Offer


1 ответ


Лучший ответ:

2

Ядро ESP8266 Arduino имеет Serial1 как аппаратный только для записи Serial на io 2 как TX. IO 2 — это D4 на NodeMcu и Wemos D1 mini.

Чтобы использовать USB-чип NodeMcu/Wemos с Serial1, вы можете подключить io 2 (D4) к TX. Это не помешает режиму перепрошивки, потому что загрузчик по-прежнему будет прослушивать стандартные последовательные контакты. Я проверил это.

А для адаптера RS485 замените Serial на io 13 (D7) как RX и io 15 (D8) как TX с Команда Serial.swap().

,

Итак, я понимаю, что нет возможности подключить встроенный преобразователь последовательного порта в USB (CH341 в NodeMCU версии 3) к Serial1. Верно? Кроме того, как я могу указать Arduino IDE использовать один порт для загрузки программ и другой порт для последовательного монитора? Кроме того, как мне подключить внешний преобразователь USB-TTL к одноконтактному только на NodeMCU, как вы предложили? Спасибо!, @Offer