步驟:
1.新建文件夾serialDemo
2.在文件夾里,新建文件serial.js,代碼如下
var portName = 'COM2'; //定義串口名1
var SerialPort = require('serialport');
let serialPort = new SerialPort( //設(shè)置串口屬性
"COM2", {
? baudRate: 9600,? //波特率
? dataBits: 8,? ? //數(shù)據(jù)位
? parity: 'none',? //奇偶校驗(yàn)
? stopBits: 1,? //停止位
? flowControl: false ,
? autoOpen:false //不自動(dòng)打開
}, false);
serialPort.open(function(error){
? if(error){
? ? console.log("打開端口"+portName+"錯(cuò)誤:"+error);
? }else{?
? console.log("打開端口成功,正在監(jiān)聽數(shù)據(jù)中");
? ? serialPort.on('data',function(data){
? ? console.log('接收串口數(shù)據(jù)data:',data);
? ? })
? }
});
// 錯(cuò)誤提示:TypeError: SerialPort.list no longer takes a callback and only returns a promise
// list()棄用回調(diào)形式了,已經(jīng)采用promise返回了,所以這里要用promise接收數(shù)據(jù)
let rel = SerialPort.list();
rel.then(
data=>{ console.log('成功,串口列表為data:',data)},
error=>{console.log('失敗err:',error)}
)
3.安裝serialport插件
? 3-1首先,初始化package.json文件,運(yùn)行 npm init -y
? 3-2然后,運(yùn)行 npm i?serialport,安裝serialport插件
4. 啟動(dòng)程序
node serial.js 或者 nodemon serial.js
5.可能的報(bào)錯(cuò)有:
????5-1:打開端口COM2錯(cuò)誤:Error: Opening COM2: File not found
原因是:電腦沒有連接串口
解決辦法:可以采用虛擬串口軟件Virtual Serial Port Driver,模擬效果
// 啟用了Virtual Serial Port Driver就可以用了,注意我這里用了里面的英文版的才正常
// Virtual Serial Port Driver下載地址為:http://www.pc6.com/softview/SoftView_605149.html

? ? 5-2:如果用了回調(diào),可能提示棄用了回調(diào),采用了promise:UnhandledPromiseRejectionWarning: TypeError: SerialPort.list no longer takes a callback and only returns? a promise
上面的代碼已經(jīng)解決這個(gè)問題了,已經(jīng)采用promise形式了
如有疑問,可以留評(píng)!