标签: node-serialport

SerialPort没有方法'列表'

我有一个非常简单的脚本,只有可用的串口,然后连接到一个,写一个字符并将响应放在控制台上.代码在这里

在我的脚本目录中,我做了:

#npm install serialport
#npm list
 /home/uminded/Programming/nodeJS/test
 ??? serialport@1.0.8
   ??? async@0.1.18
     etc...
#node test.js
   spits out entire serialport.js to command line then...
 has no method 'list'
 at Object.<anonymous> (/home/uminded/Programming/nodeJS/test/test.js:4:12)
 at Module._compile (module.js:449:26)
 at Object.Module._extensions..js (module.js:467:10)
 at Module.load (module.js:356:32)
 at Function.Module._load (module.js:312:12)
 at Module.runMain (module.js:492:10)
 at process.startup.processNextTick.process._tickCallback (node.js:244:9)
Run Code Online (Sandbox Code Playgroud)

serialport.js脚本确实有一个导出SerialPort.list为什么它找不到它?

你们用什么程序来编写和调试节点相关的js?

javascript serial-port node.js node-serialport

4
推荐指数
1
解决办法
4862
查看次数

Quasar 框架、Electron 和 Serialport:indexOf 错误

我正在使用 Quasar、Electron 和串行端口设置一个测试项目。使用最少的串行端口测试启动应用程序时,出现以下错误:

vue-router.esm.js?85f8:2128 TypeError: Cannot read property 'indexOf' of undefined
    at Function.getFileName (bindings.js?d8c5:178)
    at bindings (bindings.js?d8c5:82)
    at eval (win32.js?0965:1)
    at Object../node_modules/@serialport/bindings/lib/win32.js (vendor.js:340)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
    at eval (index.js?3983:6)
    at Object../node_modules/@serialport/bindings/lib/index.js (vendor.js:252)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
Run Code Online (Sandbox Code Playgroud)

当我只包含 serialport 包而不做更多时,甚至会发生错误。这似乎是一个基本问题。重现问题的代码:

<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';
import SerialPort from 'serialport';

@Component
export default class Index extends Vue {
  test() {
    console.log('test', SerialPort);
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我尝试了我能在这里找到的所有东西,在类星体论坛等。 pp.: electron-rebuild,试图将串行端口配置为外部依赖项,......

我不太确定重建过程是否按预期工作,但我不知道要检查什么以确保它确实如此。带有串行端口的电子示例项目对我有用。也许它与类星体有关?

我可以获得有关重建过程的更多信息吗?我尝试了指定版本的不同组合,但没有任何帮助。

在此处输入图片说明

我也在串行端口存储库中提出了这个问题,但是将它添加到 …

node-serialport quasar electron

3
推荐指数
1
解决办法
950
查看次数

SerialPort.list 不是函数

我尝试创建一个端口数组,使用nodeJS的serialport模块将串行设备连接到该数组。我使用了以下代码,我认为理论上应该有效:

var getPortsList = (callback) => {
    var portsList = [];

    SerialPort.list((err, ports) => {
        ports.forEach((port) => {
            portsList.push(port.comName);
        });

        callback(null, portsList);
    });
};
Run Code Online (Sandbox Code Playgroud)

每当我执行它时,我都会收到以下错误:TypeError: SerialPort.list is not a function。你试图用谷歌搜索这个问题,但找不到任何有用的东西。非常感谢任何方式的帮助。

node.js node-serialport

3
推荐指数
1
解决办法
2285
查看次数

NodeJS串口检查端口是否存在功能不起作用

我构建了一个函数,通过SerialPort包中给出的数组检查端口是否存在。

端口已连接。当我在函数外部运行代码时,它可以工作(true当端口插入时)。当我尝试在函数内运行它时,我收到了undefined

function exists(portName) {
    SerialPort.list(function (err, ports) {
        ports.forEach(function (port) {
            console.log(port.comName);
            if (port.comName == portName) {
                return true
            }
        });
    });
}
console.log(exists('COM7'));
Run Code Online (Sandbox Code Playgroud)

结果:

NodeJS service has started.
undefined
COM1
COM7
Port is connected.
Run Code Online (Sandbox Code Playgroud)

完整代码位于: https: //github.com/eshk12/SerialPort-HTTP-Server/blob/master/routes/index.js

谢谢!

javascript node.js node-serialport

2
推荐指数
1
解决办法
3045
查看次数

Serialport Node.js 读取缓冲区问题

目标
我需要通过串行端口获取一批命令的数据,例如

写入串行:“命令”
来自串行接收器的预期响应:十六进制值

我使用了串口 包。


串行.js

var serialport = require('serialport');
var Readline = serialport.parsers.Readline; // make instance of Readline parser
var parser = new Readline(); // make a new parser to read ASCII lines


// list serial ports:
serialport.list(function (err, ports) {
    ports.forEach(function (port) {
        console.log("Serial Device: " + port.comName);
    });
});

// get port name from the command line:
var path = '/dev/cu.SLAB_USBtoUART' ;

var myPort = new serialport(path ,{
    baudRate: 230400,
});

// Read …
Run Code Online (Sandbox Code Playgroud)

node-serialport

1
推荐指数
1
解决办法
7503
查看次数

是否可以在 docker 容器内使用 npm serialPort?

我有一个node项目,在ubuntu的docker容器中运行,主机也是ubuntu。

在我的节点项目(用打字稿编写)中,我尝试使用 npm 串行端口库。

https://www.npmjs.com/package/serialport

我有以下几行:

include * as serialport from 'serialport'

// further down

serialport.list((err, list) => {

    // after checking for errors
    console.log(list);

});
Run Code Online (Sandbox Code Playgroud)

现在,如果我在主机上运行此代码,我会得到包含大量信息的结果列表。例如,对于一台设备:

{ manufacturer: 'Prolific Technology Inc.',
serialNumber: undefined,
pnpId: 'usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0',
locationId: undefined,
vendorId: '067b',
productId: '2303',
comName: '/dev/ttyUSB0' }
Run Code Online (Sandbox Code Playgroud)

但是当我在 docker 容器中运行相同的代码时,我得到以下结果:

{ manufacturer: undefined,
 serialNumber: undefined,
 pnpId: undefined,
 locationId: undefined,
 vendorId: undefined,
 productId: undefined,
 comName: '/dev/ttyUSB0' }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,大多数信息返回为未定义。

这样做可以为 docker 容器提供特权状态和对 /dev 卷的访问权限。例如在 docker-compose 中

myapp:
 image: myappimage
 ports: 8999:8999
 volumes:
   - /dev:/dev …
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js node-serialport docker

1
推荐指数
1
解决办法
1355
查看次数

使用Node.js将字节发送到串行端口

我打算使用Node.js进行串行通信的POC.我用Google搜索并找到了Node.js的"serialport"模块.我有一个C#代码,它以数据byte类型将数据写入串口.我想尝试使用Node.js.C#代码在byte[]数组中具有以下值:

5, 170, 85, 250, 0, 86, 0, 3, 158, 0
Run Code Online (Sandbox Code Playgroud)

有谁能告诉我如何使用Node.js的串口模块实现这一目标?

serial-port node.js node-serialport

0
推荐指数
1
解决办法
1万
查看次数