基于node.js中的serialport模块实现无线传感网上位机功能
// 导入Node.js的serialport模块
const SerialPort = require('serialport')
// 导入Readline模块,用于读取行
const Readline = SerialPort.parsers.Readline
// 创建一个新的SerialPort对象和Readline实例
const port = new SerialPort('COM3', { baudRate: 9600 })
const parser = new Readline()
// 将数据解析器绑定到端口
port.pipe(parser)
// 监听行数据事件
parser.on('data', line => {
console.log(`接收到数据: ${line.toString()}`)
// 处理接收到的数据,例如解析JSON等
})
// 监听错误事件
parser.on('error', err => {
console.error('解析数据时发生错误:', err.message)
})
// 发送数据到位机
function sendData(data) {
port.write(data, function(err) {
if (err) {
return console.log('发送数据时发生错误:', err.message)
}
console.log('数据已发送')
})
}
// 示例:发送数据到位机
sendData('{"command":"get_data", "id": 1}\n')
// 关闭端口
// port.close()
这段代码演示了如何在Node.js中使用serialport模块来与一个4G遥远位机进行串口通信。它展示了如何打开串口、读取数据、发送数据,并处理可能出现的错误。在实际应用中,你需要根据你的位机和传感器的具体通信协议来调整数据的发送和接收方式。
评论已关闭