串行通信 - node.js - arduino 板无应答
Serial communication - node.js - no answer from arduino board
我尝试使用node.js在计算机和arduino板之间进行通信。简单的程序,但它不工作。
Arduino 程序(工作正常):
void setup(){Serial.begin(9600);}
void loop(){
Serial.println(1);
delay(1000);
}
和node.js 应用程序:
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(节点 app.js 在 ubuntu 终端)我有 "Port OPEN." 并且没有收到数据。港口很好。当我尝试在终端中执行 cat /dev/ttyUSB0 时,我一直都是“1”。我尝试将 1 作为字符串发送 Serial.println("1"); 但它也不起作用。
问题出在哪里 ?谢谢你的帮助
您可以尝试一下,看看是否有效:
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);
});
}
});
我尝试使用node.js在计算机和arduino板之间进行通信。简单的程序,但它不工作。
Arduino 程序(工作正常):
void setup(){Serial.begin(9600);}
void loop(){
Serial.println(1);
delay(1000);
}
和node.js 应用程序:
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(节点 app.js 在 ubuntu 终端)我有 "Port OPEN." 并且没有收到数据。港口很好。当我尝试在终端中执行 cat /dev/ttyUSB0 时,我一直都是“1”。我尝试将 1 作为字符串发送 Serial.println("1"); 但它也不起作用。 问题出在哪里 ?谢谢你的帮助
您可以尝试一下,看看是否有效:
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);
});
}
});