介绍
@cutii/serialport 是一个用于访问串口设备的node.js包。该包基于node-serialport进行了封装,提供了更为简单易用的API接口,可方便地获取设备信息、配置串口参数以及读取、写入数据等操作。
安装
如果要使用 @cutii/serialport 包,需要先安装node.js环境。安装完成后,使用以下命令来安装该包:
npm install @cutii/serialport
API接口
SerialPort
使用 SerialPort 需要先导入该类:
const {SerialPort} = require('@cutii/serialport')
new SerialPort(path,options,callback)
该方法用于创建一个串口对象,参数含义如下:
- path: 串口设备路径,例如/dev/ttyS0
- options: 可选参数对象,包括以下属性:
- baudRate: 波特率,默认为9600
- dataBits: 数据位数,默认为8
- stopBits: 停止位数,默认为1
- parity: 校验位,默认为none
- rtscts: 是否使用RTS/CTS来流控,默认为false
- xon: 是否使用XON/XOFF来流控,默认为false
- bufferSize: 缓冲区大小,默认为65536
- callback: 回调函数,函数签名为(err:Error|null,serialPort:SerialPort|undefined)=>void。如果创建成功,Err为null,serialPort是返回的串口对象。
使用示例:
const {SerialPort} = require('@cutii/serialport') const port = new SerialPort('/dev/ttyS0', {baudRate: 115200}, err => { if(err){ console.log('Error: ', err.message) }else{ console.log('Serial Port Opened Successfully!') } })
serialPort.write(data,callback)
该方法用于向串口写入数据,参数含义如下:
- data: 要写入的数据,可以是字符串或Buffer对象
- callback: 回调函数,函数签名为(err:Error|null)=>void。如果写入成功,err为null,否则是一个带有错误信息的Error对象。
使用示例:
-- -------------------- ---- ------- ----- ------------ - ----------------------------- ----- ---- - --- ------------------------ ---------- -------- --- -- - -- ----- - ------------------- -- ------------- - ---- - ------------------- ---- ------ ---------------- ----------------- ------- --- -- - -- ----- - ------------------ ------- -- ----- -- ------------- - ---- - ----------------- ------- ---------------- - --- - ---
serialPort.on(event,callback)
该方法用于绑定事件,例如数据读取事件、错误事件等。目前支持如下事件:
- data: 数据读取事件,函数签名为(data:Buffer)=>void
- error: 错误事件,函数签名为(err:Error)=>void
- disconnect: 串口断开事件,函数签名为()=>void
使用示例:
-- -------------------- ---- ------- ----- ------------ - ----------------------------- ----- ---- - --- ------------------------ ---------- -------- --------------- ---- -- - ------------------- --------------------- --- ---------------- --- -- - ------------------ ----------------- ---
示例代码
以下示例代码演示如何在node.js中使用@cutii/serialport包读取串口数据:
-- -------------------- ---- ------- ----- ------------ - ----------------------------- ----- ---- - --- ------------------------ ---------- ------ --------------- ---- -- - ------------------- --------------------- --- ---------------- --- -- - ------------------ ----------------- ---
本示例中,我们创建了一个SerialPort对象,使用回调函数绑定了'data'和'error'事件。当数据被读取时,'data'事件会被触发,并将数据作为参数传递给回调函数。当发生错误时,'error'事件会被触发,并将错误信息作为参数传递给回调函数。
总结
@cutii/serialport包提供了简单、易用的API接口,方便node.js开发者访问串口设备。本文介绍了SerialPort类的使用方法、API接口及示例代码,希望对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056afc81e8991b448e532a