送信されたasciiコマンドで受信したデータを読み取ることができます。以下は NodeJsシリアルポートからデータを読み取る
はdocに私のロックコントローラvar express = require('express');
var router = express.Router();
var SerialPort = require('serialport');
/* GET home page */
router.get('/', function(request, response){
SerialPort.list(function (err, ports) {
ports.forEach(function(port) {
console.log(port.comName);
console.log(port.pnpId);
console.log(port.manufacturer);
});
});
var port = new SerialPort("COM5", {
baudRate: 38400
});
port.on('open', function() {
// NodeJS v4 and earlier
port.write(new Buffer('status1', 'ascii'), function(err) {
if (err) {
return console.log('Error on write: ', err.message);
}
console.log('message written');
});
});
// open errors will be emitted as an error event
port.on('error', function(err) {
console.log('Error: ', err.message);
});
});
// Important
module.exports = router;
にコマンドを送信するコードである、それは、https://github.com/EmergingTechnologyAdvisors/node-serialport#serialportparsers--objectを試してみて、データを読み取るためにパーサの使用に言及したが、私はそれを実装するかどうかはわからない、と私はコマンドstatus1
が書かれた後に実行したいと思う。
は、基本的にコマンドの応答が正常にいくつかの特殊性があります
ありがとうございました。私は、行varの答え= buffer.split( '\ n')で次のエラーに遭遇した。 \\改行文字またはsmth-elseでデータを分割するSyntaxError:予期しないトークンILLEGAL – John
'\ n 'を'/\ r?\ n/'(別の区切り文字を使用する)に変更する。 –
ありがとうございます。どのように私はwheterを確認することができますか、私はコマンドの問題(これはコマンドが正常に受信され、理解されたかどうかを教えてくれます)への応答の面でコントローラからのメッセージを受け取っていませんか? – John