____________
| |
| 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()”此函数,然后单击“保存到Esp”,那么在“ uart.alt()”这一行,保存过程将跳转到不同的usart,代码没有完全保存到ESP中。
Soo在nodemcu中使用多个usart的有效方法是什么(类似于arduino中的软件序列)?
我没有得到符合我要求的完美示例。因此,请给我一个完美的文档或有关此问题的示例。
谢谢。
您没有提供您的NodeMCU品牌,但由于ESP32上没有uart.alt,我猜是8266因此,如果您的NodeMCU是ESP8266,则您的设置存在问题:从ESP8266 documenation:尽管NodeMCU有两个可用的UART(0和1),但UART 1 不具备可以接收数据,因此只能发送。我不是LUA专家,但我想这就是编译器想要告诉您的。
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闪存相同。