node.jsを使用して複数のセンサーデータをプロットする私は複数のストリームを送信するためのいくつかのコードを持っていますが、コマンドプロンプトにmsgが表示されたときにすべてのストリームが利用可能です。 x軸にタイムスタンプ、y軸に値のある第1センサデータを送信していますが、第2センサの場合はタイムスタンプ(x軸値)のみを送信していますが、センサの値は送信していません。だから、誰かが私が間違いを犯していると言うことができますか? arduinoのスクリーンショットのコードが添付されています。 arduino code part1commandprompt outputArduinoとPlotly
[Arduinoのコードその2] [3]
var serialport = require('serialport'),
plotly = require('plotly')('Maryam_19','vvvvvvvvv');
tokens = ['kfkdfkgrg', 'ggggggg'];
var portName = 'COM3';
var sp = new serialport.SerialPort(portName,{
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("\r\n")
});
// helper function to get a nicely formatted date string
function getDateString() {
var time = new Date().getTime();
// 32400000 is (GMT+9 Japan)
// for your timezone just multiply +/-GMT by 3600000
var datestr = new Date(time + 18000000).toISOString().replace(/T/, ' ').replace(/Z/, '');
return datestr;
}
// wanting to create sub-plots with two data-streams
var initdata = [
{name: 'LeftSensor', x:[], y:[], stream:{token:tokens[0], maxpoints: 1500}},
{name: 'RightSensor', x:[], y:[], stream:{token:tokens[1], maxpoints: 1500}}
];
var initlayout = {fileopt : 'new', filename : 'Connected Car 1'};
plotly.plot(initdata, initlayout, function (err, msg) {
if (err) return console.log(err)
console.log(msg);
// creating two streams
var streams = {
'LeftSensor' : plotly.stream(tokens[0], function (err, res) {
if (err) console.log(err);
console.log(err, res);
}),
'RightSensor' : plotly.stream(tokens[1], function (err, res) {
if (err) console.log(err);
console.log(err, res);
})
};
sp.on('data', function(input) {
if(isNaN(input) || input > 1023) return;
var values = input.split('\t');
// writing the leftSensor stream
var leftStreamObject = JSON.stringify({ x : getDateString(), y : values[0] });
console.log('LeftSensorObject: ' + leftStreamObject);
streams['LeftSensor'].write(leftStreamObject + '\n');
// writing the rightsensor stream
var RightStreamObject = JSON.stringify({ x : getDateString(), y : values[1] });
console.log('RightSensorObject: ' + RightStreamObject);
streams['RightSensor'].write(RightSensorObject + '\n');
});
})。このコードで
第二のセンサのための読書でも、実際に送っているが、最初のsensor..likeと、まず、それはStackOverflowのに歓迎左センサーの読み取り値、右センサーの読み取り値が左サイドセンサータグ – Maryam
こんにちはにし、送信してください。 **あなたの投稿を**編集してシリアルモニタにトレースの例を追加できますか?さらに、この質問で何が何であるかを理解することは難しい:スケッチの変数の名前が* first sensor *または* second sensor *ではない場合、これを修正するために問題の説明を編集できますか?最後:希望の出力を生成しないコード行を特定できますか? –
変数 'distance'は左センサーの距離を示し、変数 'distance1'は右センサーの距離を示しています。コードはシリアルモニタで正常に動作しています。しかし、私はコマンドプロンプトを開き、それを送信する私の陰謀的なコードを実行すると、それは両方のセンサーのデータを送信していますが、diffrentiating..iは、それはまた、左のセンサー値。なぜなら私のグラフでは、両方の読みを伝える行が1つしかないからです。一方私は、別々の読み取りを示す2つの別々の線を持っているべきです。 – Maryam