Skip to content

Node.js 串口技术

串口是一种通过串行方式逐位传输数据的通信技术,用于计算机与外部设备(如 Arduino、传感器、PLC 等)的数据交换。

核心概念

参数说明
波特率(baudRate)数据传输速率,如 9600、115200
数据位(dataBits)每帧数据位数,通常 8
停止位(stopBits)帧结束标志,通常 1
校验位(parity)错误检测,none/even/odd

安装

bash
npm install serialport

基础用法

js
import { SerialPort } from 'serialport'

// 打开串口
const port = new SerialPort({
  path: 'COM3',           // Windows: COM3, Linux: /dev/ttyUSB0
  baudRate: 9600,
})

// 接收数据
port.on('data', (data) => {
  console.log('收到:', data.toString())
})

// 发送数据
port.write('Hello Device')

// 错误处理
port.on('error', (err) => console.error(err))

列出可用串口

js
import { SerialPort } from 'serialport'

const ports = await SerialPort.list()
console.log(ports)  // [{ path: 'COM3', manufacturer: '...', ... }]

典型场景

  • 与 Arduino/ESP32 等单片机通信
  • 工业设备数据采集(PLC/传感器)
  • 串口调试工具开发