美文网首页
nodejs获取串口数据serial

nodejs获取串口数据serial

作者: 一正_369 | 来源:发表于2020-03-02 10:39 被阅读0次

步骤:

1.新建文件夹serialDemo

2.在文件夹里,新建文件serial.js,代码如下

var portName = 'COM2'; //定义串口名1

var SerialPort = require('serialport');

let 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:',data);

    })

  }

});

// 错误提示:TypeError: SerialPort.list no longer takes a callback and only returns a promise

// list()弃用回调形式了,已经采用promise返回了,所以这里要用promise接收数据

let rel = SerialPort.list();

rel.then(

data=>{ console.log('成功,串口列表为data:',data)},

error=>{console.log('失败err:',error)}

)

3.安装serialport插件

  3-1首先,初始化package.json文件,运行 npm init -y

  3-2然后,运行 npm i serialport,安装serialport插件

4. 启动程序

node serial.js 或者 nodemon serial.js

5.可能的报错有:

    5-1:打开端口COM2错误: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:如果用了回调,可能提示弃用了回调,采用了promise:UnhandledPromiseRejectionWarning: TypeError: SerialPort.list no longer takes a callback and only returns  a promise

上面的代码已经解决这个问题了,已经采用promise形式了

如有疑问,可以留评!

文章借鉴:https://www.jianshu.com/p/c20076049f5b

相关文章

  • nodejs获取串口数据serial

    步骤: 1.新建文件夹serialDemo 2.在文件夹里,新建文件serial.js,代码如下 var port...

  • nodejs 获取串口数据

    由于项目要求,项目为(B/S)架构 ,需要在页面上读取串口数据,于是就需要nodejs了 使用 nodejs 的一...

  • Arduino Mega 两串口间通讯

    目的 实现Arduino多个串口间的数据通信 Serial发送数据 Serial1接收 Serial1发送数据Se...

  • python读取串口数据并写入txt文件

    以下代码实现从串口2获取数据,如果有新的数据就写入test.txt文件。 需要使用以下命令安装serial

  • python 串口 serial

    开始 想用pi的串口接收串口数据,然后显示,记录,处理。python的串口通信模块 serial,还不知道怎么查看...

  • arduino中Serial 串口数据的交互

    1.打印串口的数据 Serial.print() corresponding commands 相应的指令pro...

  • Arduino串口高级用法

    配置串口通信数据位、校验位、停止位通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,...

  • Android平台的串口通信技术

    概念 串口通信 概念;串口通信(Serial Communications)按位(bit)发送和接收字节。串口可以...

  • 10月27日

    1.Serial.write(thisByte); 串口输出。类似%d 2.Serial.print(", dec...

  • 读取串口

    安装 pyserial 及 serial 程式如下: import serial# 导入串口包 import ti...

网友评论

      本文标题:nodejs获取串口数据serial

      本文链接:https://www.haomeiwen.com/subject/qlobuftx.html