串行通信 - node.js - arduino板没有答案

时间:2015-10-25 21:26:23

标签: javascript node.js arduino

我尝试使用node.js在计算机和arduino板之间进行通信。简单的程序,但它不起作用。

Arduino计划(工作正常):

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

和node.js app:

var serialport = require("serialport");
    SerialPort = serialport.SerialPort;

var mySerial = new SerialPort("/dev/ttyUSB0", {
        baudrate: 9600,
        parser: serialport.parsers.readline("/n")
    });
mySerial.on("open", function(){
    console.log("Port OPEN.");
});
mySerial.on("data", function(data){
    console.log(data);
});

当我打开app.js(ubuntu终端中的节点app.js )时,我有“Port OPEN”。并且没有收到的数据。港口很好。当我尝试在终端中执行 cat / dev / ttyUSB0 时,我一直都有“1”。我尝试将1作为字符串 Serial.println(“1”); 发送,但它也无法正常工作。 问题出在哪儿 ?请求帮助

1 个答案:

答案 0 :(得分:0)

你可以尝试一下,看看它是否有效:

var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/ttyUSB0", {
  baudrate: 57600
}, false); // this is the openImmediately flag [default is true]

serialPort.open(function (error) {
  if ( error ) {
    console.log('failed to open: '+error);
  } else {
    console.log('open');
    serialPort.on('data', function(data) {
      console.log('data received: ' + data);
    });
    serialPort.write("ls\n", function(err, results) {
      console.log('err ' + err);
      console.log('results ' + results);
    });
  }
});