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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 495|回复: 2

[已解答] Nodejs接入,串口功能无法使用

[复制链接]
发表于 2022-4-6 21:41 | 显示全部楼层 |阅读模式
我想用串口读入数据,串口可以正常读入,但是引入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();
    })

})


 楼主| 发表于 2022-4-7 00:08 | 显示全部楼层
不用麻烦了,已经解决了
发表于 2022-4-7 00:34 | 显示全部楼层
试了下,可以正常使用串口
blinker模块就没使用串口,不可能造成串口无法使用的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 05:27 , Processed in 0.087463 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表