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