串行端口“关闭”事件永远不会触发

2024-02-29

我正在使用nodeJSSerialPort用于连接计算机端口的包。

关于套餐close event here https://github.com/EmergingTechnologyAdvisors/node-serialport#module_serialport--SerialPort+event_close.

我创建了这段代码,我想知道为什么close/disconnect当我断开连接时,事件永远不会触发COM

const express = require('express');
const router = express.Router();
//
const cors = require('cors');
router.use(cors());
//
const SerialPort = require('serialport');
const Readline = SerialPort.parsers.Readline;
const port = new SerialPort('COM7',function (err) {
    if (err) {
        return console.log('Error: ', err.message);
    }
});
const parser = port.pipe(new Readline());
/*
var lastresult = '';
var count = 0;
*/

port.on('open', function() {
    console.log('~Port is open.');
    parser.on('data', console.log);
});

port.on('disconnect', function () {
    console.log('disconnected');
});
port.on('close', function () {
    console.log('closed');
});

router.get('/', function (req, res) {
    res.send('index');
});

module.exports = router;

我想知道我是否使用错误,因为我还没有看到使用此事件的示例。

谢谢您的帮助 :)


我每次收到来自的数据时都会创建时间戳COM, 并检查它interval()每次。

setInterval(function () {
    if (Date.now() - lastDataTime > 1000 || !comStatus) {
        comStatus = false;
        port.close();
        port = new SerialPort(comPort, function (err) {
            if (err) {
                error = 'Error: ' + err.message;
                return console.log(error);
            }
        });
    }
}, 1000);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

串行端口“关闭”事件永远不会触发 的相关文章

  • Slack Webhook - 获取 Invalid_Payload

    我正在尝试设置 Slack 的 Webhook 但收到 Invalid Payload 错误消息 我浏览过 Stack Slack 和 Github 但找不到我想要的答案 为了保护隐私 其中的 自定义链接 正在使用实际链接 CODE var
  • 使用 Puppeteer 和 Headless Chrome 获取 DOM 节点文本

    我正在尝试使用无头 Chrome 和 Puppeteer 来运行我们的 Javascript 测试 但我无法从页面中提取结果 基于这个答案 https stackoverflow com a 45799744 4794 看起来我应该使用pa
  • NodeJS - 错误:监听 EADDRNOTAVAIL:地址不可用

    我正在运行一个应该托管在本地服务器上的节点应用程序 目前 我只发送明文回复 const http require http var server http createServer function req res res writeHea
  • Mongoose 对 Promise 拒绝处理

    我有点与 NodeJS 中的 Promise 模式作斗争 我正在数据库中查找用户 然后使用用户引用保存新实体 但是当用户不在数据库中时 我应该返回拒绝 但我不确定如何正确执行 有没有办法做得更好 顺便说一句 对不起 咖啡脚本 User fi
  • libicui18n.so.52:无法打开共享对象文件

    我一直在使用 libicu 来检测在 docker ubuntu 内部运行的节点应用程序中的字符集 这是通过模块完成的节点 icu 字符集检测器 https github com mooz node icu charset detector
  • 使用 Bluebird.js 和 Twitter 流的 Promise 和流

    我对 Promises 和 Node 非常陌生 并且对在流中使用 Promise 感到好奇 我可以承诺直播吗 使用 Bluebirdjs 和 Twit 模块 我有以下内容 var Twit require twit var Promise
  • 在 Node.js 中实现服务器发送事件的简单方法?

    我环顾四周 似乎在 Node js 中实现 SSE 的所有方法都是通过更复杂的代码 但似乎应该有一种更简单的方法来发送和接收 SSE 是否有任何 API 或模块可以让这件事变得更简单 这是一个每秒发送一个服务器发送事件 SSE 的 Expr
  • 谷歌应用程序引擎nodejs本地开发

    有没有办法在本地运行我的nodejs应用程序 以便我可以模拟在生产App Engine中运行的应用程序而无需部署它 由于某种原因 我的应用程序在 Google App Engine 中的行为与我的本地主机不同 我厌倦了每次为了查看是否存在错
  • 找不到模块:无法解析 @google-cloud/storage 上的“fs”

    得到Module not found Can t resolve fs 尝试从 GCP Storage 列出存储桶时出错 import Storage from google cloud storage const googleCloud
  • 关于 Node.js Promise then 和 return?

    我对承诺感到困惑 I use 那么就答应没有返回像这样 new Promise resolve reject gt resolve 1 then v1 gt console log v1 new Promise resolve reject
  • Google 钱包 API Codelabs 示例权限被拒绝

    我正在研究使用 Google 钱包通过 Web jwt 界面存储条形码 用于电子处方 如果重要的话 的可行性 https codelabs developers google com add to wallet web 0 https co
  • Windows 上的 Node.js 和 Express

    今晚 我决定尝试在我的 Windows 7 计算机上使用 Express 构建一个简单的 Node js 应用程序 安装过程还算顺利 但 Express 拒绝配合 以下是我已采取的步骤 使用以下位置提供的 MSI 安装 Node jshtt
  • NodeJS 在目录中递归地哈希文件

    我能够实现目录中的递归文件遍历 即探索目录中的所有子目录和文件 为此我使用了answer https stackoverflow com questions 5827612 node js fs readdir recursive dire
  • isModified 并预保存 mongoose...Nodejs

    您好 我只想在密码更改时使用散列密码保存 因此我在预保存中使用了 isModified 函数 但即使我更改了密码 它也总是返回 false 我尝试这样做的原因是因为我不想在更改其他属性时更改并保存我的密码 router post chang
  • 在 WSL Ubuntu 20.04 上安装 npm 后,我收到消息“/usr/bin/env: ‘bash\r’: No such file or directory”

    运行时我看到以下消息npm install or npm来自终端的命令 执行中node按预期工作 gt npm install usr bin env bash r No such file or directory 2023 年 7 月更
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我
  • 将 Node.js(用于实时通知)添加到现有 PHP 应用程序

    我有一个现有的 PHP 应用程序 我需要向其中添加实时通知 为了实现这一点 我安装了node js 打算添加socket io以实现所有实时功能 然而 尽管在过去的三个小时里研究并试图弄清楚如何将两者结合起来 但我发现自己并没有更接近于获得
  • Windows 10 中的 npm 安装错误( npm install -g angular-cli )

    node v v4 5 0 npm v 5 0 1 有人在 Windows 10 中安装 angular cli 时遇到过这种问题吗 请尝试以下操作 step 0 运行这个命令 npm uninstall g angular cli npm
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki
  • Electron — 无法显示自定义图标

    我在以两种不同的方式设置 Electron 应用程序的图标时遇到问题 非打包 通过终端运行应用程序 我的 main js 确实指定了一个 图标 值 指向图标文件 但它不适用 包装 使用电子包装器 我的 package json 文件指定了

随机推荐