[英]Arduino NodeJs Serial Communication issue
I cant send data from NodeJs to Arduino.. Serial.available() is false all time.. I dont know what is the my fail.. Can anyone help me ? 我无法从NodeJs向Arduino发送数据。Serial.available()始终为假。.我不知道我的失败是什么。有人可以帮助我吗?
This is my JavaScript/NodeJS code 这是我的JavaScript / NodeJS代码
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var serialPort = new SerialPort("COM3", {
baudrate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});
serialPort.on("open", function () {
console.log('open');
serialPort.on('data', function(data) {
console.log(data);
});
data="omg";
for(var i=0; i<data.length; i++){
serialPort.write(new Buffer(data[i], 'ascii'), function(err, results) {
if(err!=null)
{
console.log('Error: ' + err);
}
else
console.log('Results ' + results);
});
}
});
And This is my Arduino Code 这是我的Arduino代码
void setup() {
Serial.begin(9600);
}
String inData = "";
void loop(){
while (Serial.available() > 0) {
char received = Serial.read();
inData.concat(received);
Serial.println(received);
// Process message when new line character is received
if (received == '\n') {
// Message is ready in inDate
}
}
}
NodeJs OutPut is NodeJs输出为
node server.js DEPRECATION: Please use
require('serialport')
instead ofrequire('serialport').SerialPort
节点server.js建议:请使用require('serialport')
而不是require('serialport').SerialPort
open 打开
Result : undefinded 结果:未定义
Result : undefinded 结果:未定义
Result : undefinded 结果:未定义
Try to listen nodeJS ^^. 尝试收听nodeJS ^^。
Replace : 更换:
var serialport = require("serialport"); var SerialPort = serialport.SerialPort;
by 通过
var SerialPort = require("serialport");
EDIT : 编辑:
Your data
isn't initialize in your scope. 您的data
未在您的范围内初始化。 try this : 尝试这个 :
var SerialPort = require("serialport");
var serialPort = new SerialPort("COM3", {
baudrate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});
var _data = '';
serialPort.on("open", function () {
console.log('open');
serialPort.on('data', function(data) {
console.log(data);
_data += data;
});
for(var i=0; i<_data.length; i++){
serialPort.write(new Buffer(_data[i], 'ascii'), function(err, results) {
if(err!=null)
{
console.log('Error: ' + err);
}
else
console.log('Results ' + results);
});
}
});
serialPort.on('error', function(err) { console.log(err); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.