【问题标题】:How to serial write multiple data to Arduino using NodeJS serialport如何使用 NodeJS 串行端口向 Arduino 串行写入多个数据
【发布时间】:2020-11-21 13:09:17
【问题描述】:

我正在尝试使用同一个端口写入多个数据,但我做不到。 但是node-serialport同时提供了多个数据读取功能。 如何同时写入多个数据

这样我试试

- index.js-

const SerialPort = require('serialport'); 
const Readline = SerialPort.parsers.Readline;
const port = new SerialPort('COM3', 9600);
const parser = port.pipe(new Readline({delimiter: '\r\n'}));

function sendToSerial(datax, datay) {
  console.log("sending to serial: " + datax, datay);
  port.write(datax);
  port.write(datax);
}

parser.on('data', (data) => {
  
  const responseArray = JSON.parse(data);  // Incoming Data from arduino
  sendToSerial1(datax, datay);   // Send data to arduino
});

Arduino 代码

-arduino.ino-

void setup() {
  Serial.begin(9600); 
  delay(1000);
}

void loop() {

    if(Serial.available() > 0){
      int datax = Serial.parseInt();
      int datay = Serial.parseInt();
    }

    Serial.print(F("{\"temperature1\": "));
    Serial.print(t1);
    Serial.print(F(", \"moisture1\": "));
    Serial.print(h1);
    Serial.print(F(", \"temperature2\": "));
    Serial.print(t2);
    Serial.print(F(", \"moisture2\": "));
    Serial.print(h2);
    Serial.println(F("}"));
    
    delay(1000);
}

如何解决?

【问题讨论】:

    标签: javascript node.js arduino serial-port node-serialport


    【解决方案1】:

    我不确定它的解决方案,但我猜你的代码中存在错误......

      port.write(datax);
      port.write(datax);
    

    猜测最后一个参数意味着数据?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多