如何使用 Nodemcu 进行多串口通信 (Lua)
How to make multiple serial communication using Nodemcu (Lua)
____________
| |
| 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中。
那么在 nodemcu 中使用多个 usart 的有效方法是什么(类似于 arduino 中的软件串行)?
I am using
Nodemcu model : ESP8266
Nodemcu Version : 3
& NodeMCU custom build by frightanic.com branch: 1.5.4.1-fina
我没有找到符合我要求的完美示例。所以,请给我一个关于这个问题的完美文档或示例。
谢谢。
你没有给出你的 NodeMCU 的品牌,但因为 ESP32 上没有 uart.alt 我猜是 8266
因此,如果您的 NodeMCU 是 ESP8266,则说明您的设置存在问题:
来自 ESP8266 documenation:
尽管 NodeMCU 有两个 UART(0 和 1)可用,但 UART 1 不能 接收数据,因此只能传输。
我不是 LUA 方面的专家,但我想这就是编译器想要告诉你的。
是的,有一个 ESP32 version of NodeMCU OP 只是说他使用 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
所以这只适用于 NodeMCU ESP8266 上的一个 uart (UART 0)。
如果您使用基于 ESP32 的 NodeMCU
启用 UART 1 会导致 ESP32 崩溃!原因是默认情况下,UART 1 使用与 ESP32 闪存相同的引脚。
见官方documentation of the NodeMCU ESP32 dev board。
所以在提问的时候一定要给出 NodeMCU 的版本和开发板类型。
____________
| |
| 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中。
那么在 nodemcu 中使用多个 usart 的有效方法是什么(类似于 arduino 中的软件串行)?
I am using
Nodemcu model : ESP8266
Nodemcu Version : 3
& NodeMCU custom build by frightanic.com branch: 1.5.4.1-fina
我没有找到符合我要求的完美示例。所以,请给我一个关于这个问题的完美文档或示例。
谢谢。
你没有给出你的 NodeMCU 的品牌,但因为 ESP32 上没有 uart.alt 我猜是 8266
因此,如果您的 NodeMCU 是 ESP8266,则说明您的设置存在问题:
来自 ESP8266 documenation:
尽管 NodeMCU 有两个 UART(0 和 1)可用,但 UART 1 不能 接收数据,因此只能传输。
我不是 LUA 方面的专家,但我想这就是编译器想要告诉你的。
是的,有一个 ESP32 version of NodeMCU OP 只是说他使用 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
所以这只适用于 NodeMCU ESP8266 上的一个 uart (UART 0)。
如果您使用基于 ESP32 的 NodeMCU
启用 UART 1 会导致 ESP32 崩溃!原因是默认情况下,UART 1 使用与 ESP32 闪存相同的引脚。
见官方documentation of the NodeMCU ESP32 dev board。
所以在提问的时候一定要给出 NodeMCU 的版本和开发板类型。