Nodejs接入,串口功能无法使用
我想用串口读入数据,串口可以正常读入,但是引入blinker后串口就无法使用了。blinker可以正常启动,但串口无法使用。如果不用blinker的话,程序可以正常的从串口读取数据。串口用的是node-serialport。望各位不吝赐教。
代码:
import { BlinkerDevice } from '../lib/blinker';
import { ButtonWidget, TextWidget, RangeWidget, NumberWidget, RGBWidget, JoystickWidget, ChartWidget, ImageWidget } from '../lib/widget';
import { SerialPort } from 'serialport'
import { ReadlineParser } from '@serialport/parser-readline'
let device = new BlinkerDevice('b31c17e7c204'/*您申请到的Secret Key*/);
var record = [' ','','',' '];
// 注册组件
let textA1: TextWidget = device.addWidget(new TextWidget('texA-id'));
let textA2: TextWidget = device.addWidget(new TextWidget('texA-fire'));
let numberA1: NumberWidget = device.addWidget(new NumberWidget('numA-temp'));
let numberA2: NumberWidget = device.addWidget(new NumberWidget('numA-smog'));
const port = new SerialPort({ path: 'COM7', baudRate: 115200 })
const parser = port.pipe(new ReadlineParser({ delimiter: '\r\n' }))
setTimeout(()=>{parser.on('data', async function (data) {
console.log('Serial Start');
if(data.charAt(0) == '!'){
record = data.substr(1).split(',');
console.log('id: '+record[0]);
console.log('tem:'+record[1]);
console.log('smg:'+record[2]);
console.log('irl:'+record[3]);
console.log('--------------');
if(record[3] == '1'){
record[3] = '火警!'
}else{
record[3] = '无火警'
}
}
})},1000)
device.ready().then(() => {
device.dataRead.subscribe(message => {
console.log('otherData:', message);
})
device.heartbeat.subscribe(message => {
console.log('heartbeat:', message);
textA1.text('ID:'+ record[0]).update();
textA2.text(record[3]).update();
numberA1.value(record[1]).unit('摄氏度').text('温度').update();
numberA2.value(record[2]).unit('ppm').text('烟雾').update();
})
})
不用麻烦了,已经解决了 试了下,可以正常使用串口
blinker模块就没使用串口,不可能造成串口无法使用的问题
页:
[1]