如何使用串行通信将数据作为字符串从 NodeJs 运行时发送到 Arduino 板?

How to send data as a string from NodeJs runtime to Arduino board using Serial communication?

我在一个项目中工作,该项目需要 Raspberry Pi 中的 Arduino 板和 NodeJs 运行时之间的串行通信。

我想从我的 Pi 中的 NodeJs 程序发送一个类似“255,100,100,255”的字符串到 Arduino 板来控制 4 个灯的亮度。字符串里面的4个元素是每盏灯的亮度。

如何在 NodeJs 和 Arduino 程序中编写代码,以便 Arduino 板接收所有字符串?

您可以使用模块 serialport

首先使用

安装它

npm i serialport

然后在您的 NodeJS 代码中您可以创建一个发件人:

let serial = require("serialport").SerialPort;
let sp = new serial("/dev/ttyACM0", { baudrate: 9600 });
sp.on("open", function(){
    sp.write("255,100,100,255", function(err, res) {
        if (err) return console.log(err);
    });
});

在你的arduino上你可以做一个接收器:

int incomingByte = 0;
void setup(){ Serial.begin(9600); }
void loop(){
    if (Serial.available() > 0) {
        incomingByte = Serial.read();
        Serial.println(incomingByte);
    }
}