nodejs獲取串口數(shù)據(jù)serial

步驟:

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)!

文章借鑒:http://www.itdecent.cn/p/c20076049f5b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容