Как сделать множественную последовательную связь, используя Nodemcu (Lua) - PullRequest
1 голос
/ 29 марта 2020
____________
|          |
|   N      |
|   O   Rx2|<------Tx EnergyMeter(Returns value based on command)
|   D   Tx2|------>Rx EnergyMeter(Receive command)   
|   E      |
|          |
|   M   Rx1|<------Tx Gsm(For MQTT)
|   C   Tx1|------>Rx Gsm(For MQTT)
|   U      |
|          |
-----------

Я пытаюсь подключить модуль GSM и счетчик энергии к моему Nodemcu, как показано на схеме. Хотя это возможно с помощью кодирования Arduino, но я хочу сделать это, используя только lua.

В случае сценариев lua, если я использую "uart.alt ()" эту функцию, и нажимаю " Save to Esp ", затем в строке" uart.alt () "процесс сохранения переходит на другой usart, и код не полностью сохраняется в ESP.

Так что это эффективный способ использования нескольких usart в nodemcu (что-то похожее на серийный номер программного обеспечения в Arduino)?

I am using
Nodemcu model : ESP8266
Nodemcu Version : 3
& NodeMCU custom build by frightanic.com branch: 1.5.4.1-fina

Я не получаю ни одного идеального примера, соответствующего моему требованию. Поэтому, пожалуйста, дайте мне отличную документацию или пример по этому вопросу.

Спасибо.

1 Ответ

2 голосов
/ 30 марта 2020

Вы не указали марку своего NodeMCU, но, поскольку на ESP32 нет uart.alt, я думаю, 8266
Так что, если ваш NodeMCU - ESP8266, то есть проблема с вашей настройкой:
Из Документация ESP8266 :
Хотя для NodeMCU доступно два UART (0 и 1), UART 1 не способен принимать данные и, следовательно, только для передачи. Я не являюсь экспертом в LUA, но, думаю, именно это и хочет сказать вам компилятор.
Да, существует ESP32-версия NodeMCU , ОП просто заявляет, что использует NodeMCU, и не дал никакой дополнительной информации .

uart.alt()  Change UART pin assignment. 

- означает, что вы можете назначить контакты UART 0

 uart.alt(on)
Parameters

on

0 for standard pins
1 to use alternate pins GPIO13 and GPIO15

Так что это работает только для одного UART (UART 0) на NodeMCU ESP8266. Если вы используете ESP32 на основе NodeMCU Включение UART 1 вызывает ESP32 к sh! Причина в том, что по умолчанию UART 1 использует те же контакты, что и ESP32 fla sh memory.

См. Официальную документацию по плате разработчика NodeMCU ESP32 .
Поэтому всегда задавайте версию NodeMCU и тип платы при задании вопросов.

...