步骤一 硬件准备
- Nodemcu开发板×1
- Arduino UNO开发板×1
- 面包板×1
- usb数据线×1
软件准备:
- WebREPL(第一节有下载链接)
步骤二 原理说明
NodeMCU v2提供三个UART。您可以在TXD0,RXD0,TXD1,TXD2,RXD2上看到它们:

(七)Nodemcu的MicroPython之旅:UART串口通信
我们可以使用UART库访问UART串口。
在本章中,我使用Arduino板作为UART源。我们从UART读取传入的消息。开始吧!
步骤三 电路搭建
在串口通信的教程中,我使用Arduino Uno连接到NodeMCU板。我们在连接到Arduino板的NodeMCU上使用UART0。我们应该将RX引脚连接到TX引脚,将TX引脚连接到RX引脚。
以下是我们的连线方式:
- NodeMCU D10(TXD0)连接到Arduino 数字口 10(RX)
- NodeMCU D9(RCD0)连接到Arduino 数字口 11(TX)
- NodeMCU GND连接到Arduino GND
我的接线实现如下图所示:

(八)Nodemcu的MicroPython之旅:UART串口通信
步骤四 编写程序
首先,我们使用Arduino IDE为Arduino UNO编写程序。我们使用SoftwareSerial模拟软串口10和11.该程序将等待输入的UART数据,然后在0和1引脚上发送到Arduino UART。接下来开始写这个程序:

(八)Nodemcu的MicroPython之旅:UART串口通信
Arduino程序:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available() > 0) {
Serial.write(mySerial.read());
}
}
保存这个程序。然后,将其上传到Arduino板。在上传之前,请确保Arduino UART(数字0,1,10和11引脚)不能连接到任何电路或传感器。下一步是为NodeMCU板编写程序。创建一个名为uartdemo.py的文件。开始编写程序:
Nodemcu程序:
from machine import UART
import time
def run():
print('demo UART')
uart = UART(0, baudrate=9600)
counter = 50
while 1:
uart.write(str(counter) + '\r\n')
time.sleep(2)
counter += 1
if counter > 70:
counter = 50
步骤五 验证结果
现在您可以通过WebREPL上传和运行MicroPython程序。完成后,将NodeMCU UART连接到Arduino UART(数字引脚:10和11)。要查看UART输出,请从Arduino IDE打开串行监视器工具。设置波特9600.您应该看到UART输出:

(八)Nodemcu的MicroPython之旅:UART串口通信
以下是WebREPL上的程序输出:

(八)Nodemcu的MicroPython之旅:UART串口通信