由于项目要求,项目为(B/S)架构 ,需要在页面上读取串口数据,于是就需要nodejs了
使用 nodejs 的一个插件 :serialport
现在先做个测试demo
1、先建立测试文件夹
2、在文件夹中安装serialport ,在文件夹下的 cmd 中输入
npm install serialport
3、可能会出现 一个警告可用忽略
4、安装后 编写读取串口 js 文件 testport.js
var portName = 'COM2'; //定义串口名
var serialPort;
if(serialPort){
serialPort.close();
}
serialPort = new SerialPort( //设置串口属性
"COM2", {
baudRate: 9600, //波特率
dataBits: 8, //数据位
parity: 'none', //奇偶校验
stopBits: 1, //停止位
flowControl: false ,
autoOpen:false //不自动打开
}, false);
serialPort.open(function(error){
if(error){
console.log("打开端口"+portName+"错误:"+error);
}else{
console.log("打开端口成功,正在监听数据中");
serialPort.on('data',function(data){
console.log(data);
})
}
});
//var SerialPort = require('serialport');
SerialPort.list(function (err, ports) {
ports.forEach(function(port) {
console.log(port.comName);
console.log(port.pnpId);
console.log(port.manufacturer);
});
});
5、运行 js 在文件夹下 cmd 中输入
node testport.js
执行成功:
可能的问题:
问题一: Flie not found
这个是电脑上没有安装串口驱动,或者虚拟串口
可用 虚拟串口程序
建立测试串口
问题二:Port is opening
需要加入 串口属性 autoOpen:false