Nodejs接入,串口功能无法使用-Arduino中文社区 - Powered by Discuz! Archiver

Amilis 发表于 2022-4-6 21:41

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();
    })

})


Amilis 发表于 2022-4-7 00:08

不用麻烦了,已经解决了

奈何col 发表于 2022-4-7 00:34

试了下,可以正常使用串口
blinker模块就没使用串口,不可能造成串口无法使用的问题
页: [1]
查看完整版本: Nodejs接入,串口功能无法使用