2016-12-07 24 views
0

私のnode.jsスクリプトは、serialport npmパッケージを使用して、RS-232デバイスに接続されているCOM5ポートを読み書きします。このデバイスは、接続されているPCから送信されたコマンドを受信すると、シリアルポートに書き込むだけです。Node.jsを使用して書き込み後にシリアルポートを読み取る

RS-232デバイスに書き込んだ後に返される内容を、どのように読み取ることができますか?

var SerialPort = require('serialport'); 
var port = new SerialPort('COM5', { 
    parser: SerialPort.parsers.readline('\r') 
}, function() { 
    port.write('#01RD\r', function(err) { 
     if(err) 
      console.log('Write error') 
     else { 
      // HOW TO READ RESPONSE FROM DEVICE? 
     } 
    }); 
    port.write('#01VER\r', function(err) { 
     if(err) 
      console.log('Write error') 
     else { 
      // HOW TO READ RESPONSE FROM DEVICE? 
     } 
    }); 
});  

答えて

0

私はこれを行うより良い方法だと思います。私は、ユーザーがシリアル書き込みを開始することにクリックUI上のボタンを持っている

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

var sp = new SerialPort("/dev/ttyACM0", { 
    baudrate: 9600, 
    parser: serialport.parsers.readline("\n") 
}); 

function write() //for writing 
{ 
    sp.on('data', function (data) 
    { 
     sp.write("Write your data here"); 
    }); 
} 

function read() // for reading 
{ 
    sp.on('data', function(data) 
    { 
     console.log(data); 
    }); 
} 

sp.on('open', function() 
{ 
    // execute your functions 
    write(); 
    read(); 
}); 
+0

:関数を呼び出すことによって、 は、最初の読み取りと書き込みのあなたの関数を作成します。イベント駆動型のアプローチを使用して、この読み書きをどのように処理する必要がありますか? – Nyxynyx

+0

私も同じことをやっています。私もその部分にいます。そして、彼らは我々がこれに対してExpressを使うことができると言います。私のスレッドを確認してくださいhttp://stackoverflow.com/questions/41647971/how-to-execute-node-function-using-html-button/ – Blanket

+0

あなたが私の答えを受け入れることができればそれは役に立ちました:) – Blanket

関連する問題