0
我希望能够读取由发送的ascii命令接收到的数据。从NodeJs读取数据Serialport
下面是发送命令到我的锁控制器
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 answers = buffer.split('\ n'); \\用新行字符或smth-else分割数据SyntaxError:意外的标记ILLEGAL – John
将''\ n''改为'/ \ r?\ n /'(我使用另一个分隔符)。 –
谢谢。我将如何验证我是否从控制器接收到了对命令问题的响应的消息(这也会告诉我们命令是否已经成功接收和理解)? – John