简体   繁体   English

Arduino NodeJs串行通信问题

[英]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 of require('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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM