2016-04-24 11 views
1

私はarduinoを使ってさまざまなセンサーから値を取得し、これらの値(たとえば温度と湿度)を表示しています。ノードのシリアルポートから取得したデータを区切ります

serial.println(tempval); 
serial.println(moistval); 

node-serialポートから取得したデータを分離して、ノードの温度と湿度の値を明確に定義できます。ここで

は私NodeJSコードです:

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

var portName = process.argv[2]; 


var myPort = new SerialPort(portName,{ 
    baudRate:9600, 
    parser: serialport.parsers.readline('\n') 

}); 

myPort.on('data', function (data) { 
    console.log('Data: ' + data); 
}); 

私は私が配列すべきだと思うが、私はこれを行うことができますどのようにimplement.Any提案をすることはできませんか?

ありがとうございます!

答えて

2

Arduinoに送信しているデータの種類を教えてください。 は生データだけではありません。例:

Node.jsコードでは、各行をname:valueのペアとして解析できます。Arduino形式のJSON形式を使用すると、この構文解析が簡単になります。

また、両方のデータが同じ 時刻に使用可能になった場合は、両方を同じ行に送信できます。これにより、少しでも簡単に を作ることができます。 Arduinoの側:

Serial.print(F("{\"temperature\": ")); 
Serial.print(tempval); 
Serial.print(F(", \"moisture\": ")); 
Serial.print(moistval); 
Serial.println(F("}")); 

のNode.js側:

myPort.on('data', function (data) { 
    console.log(JSON.parse(data)); 
}); 
関連する問題