问题标签 [com-port]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
36 浏览

windows - 从 docker(linux 容器)访问 Windows COM 端口

我需要从 docker linux contianer 访问 Windows com 端口(COM3):我试过这样:

但没有任何结果。我还访问了微软教程,但它仅适用于 Windows 容器。也许有人有任何解决方案如何解决它?

0 投票
1 回答
70 浏览

docker - IoT Edge 错误的 USB 串行 COM 端口访问

我正在尝试从 docker IoT Edge 模块中的 modbus comport 中读取数据。我提供了相关的 createOptions:

{“HostConfig”:{“隔离”:“进程”,“设备”:[{“PathOnHost”:“class/86E0D1E0-8089-11D0-9CE4-08003E301F73”,“PathInContainer”:“”,“CgroupPermissions”:“ " } ], "绑定": [ "C:/Streamwise:C:/Streamwise" ] } }

这在某些 ipcs 上完美无缺,但在其他 ipcs 上却失败了

System.IO.FileNotFoundException:找不到文件“COM4”。文件名:'COM4'

当我尝试打开 serail 端口时

如果我不指定任何 createOptions,这与我收到的错误相同。因此,这些选项似乎没有被应用。知道为什么吗?

下面的代码片段

port.open() 发生错误

附加上下文:由于某种原因,在 ipcs 上,我必须在 daemon.json 中为 iotedge-moby 指定 DNS 服务器,出现此问题。不确定它们是否相关或纯属巧合。

0 投票
1 回答
42 浏览

c# - com 端口可用性更改后刷新 ui

我编写了一个 C# .NET 5 应用程序,当系统中有可用的串行端口资源时,它需要通知应用程序用户。目前,用户必须按下刷新按钮,以便在 UI 中列出所有当前可用的串行端口(通过调用 SerialPort 类的静态方法 GetPortNames)。但我希望系统能够自动通知用户端口可用性的变化。有没有办法在.NET中做到这一点?我正在考虑类似于 FileSystemWatcher 的东西。例如,当 COM 端口可用/不可用时调用的事件处理程序?如果使用托管代码解决方案无法做到这一点,那么是否可以使用 P/Invoke 或其他方式来实现。

0 投票
1 回答
163 浏览

powershell - 使用 PowerShell 进行串行端口通信

我正在尝试使用 PowerShell 设置与 ViewSonic Display 的串行端口通信。我发送打开或关闭显示状态的请求,应该得到 9 位回复 56 48 49 114 108 48 48 49 13 回复开启或 56 48 49 114 108 48 48 48 13 回复关闭 当我运行代码时,我只得到一个数字的回复当我添加第二次读取时,我得到了剩下的 8 个但是当我添加一个断点并使用调试器单步执行它时,我在第一次读取时得到了所有 9 个。任何想法可能导致这种奇怪的行为?关于更好的方法来做到这一点的任何建议?请参阅下面的代码和结果。

1个端口返回1 56 0 0 0 0 0 0 0 0

8 端口返回2 48 49 114 108 48 48 49 13 0

PS C:\Users\james\Desktop> C:\Users\james\Desktop\VStest2a.ps1

在 'C:\Users\james\Desktop\VStest2a.ps1:4' [DBG] 上点击行断点:PS C:\Users\james\Desktop>>

[DBG]: PS C:\Users\james\Desktop>>

[DBG]:PS C:\Users\james\Desktop>> 9

[DBG]: PS C:\Users\james\Desktop>> portreturn1 56 48 49 114 108 48 48 49 13

[DBG]: PS C:\Users\james\Desktop>>

为了清楚起见,链接到图片。 截屏

0 投票
1 回答
105 浏览

javascript - 我可以使用 javascript 在浏览器(网络应用程序)中访问 USB 串行设备(com5)吗?

我正在做一个项目。我们有我们的 USB 设备。那么如何在网络应用程序中打开(访问)我的 USB(请参阅附加到图像以查看什么样的端口和设备。)数据?我必须使用哪些“javascript API”?

0 投票
0 回答
11 浏览

usb - USB comport vs 虚拟comport vs USB 端口

“USB comport vs virtual comport vs USB port”有什么区别。如果这些相同,那么解释如何,如果这些不同,那么还解释如何?

0 投票
1 回答
36 浏览

javascript - Google Chrome Web Serial API:意外行为

我能够证明以下 JavaScript 代码不会生成所需的 Modbus 信号。

我已将相应的 COM 端口连接到计算机的另一个 COM 端口。另一方面,HTerm 正在监听。HTerm 接收 11 40 13 25 88 而不是 11 01 00 13 00 25 0E 84。如果我用 HTerm 发送所需的信号,我会得到正确的信号。因此,硬件工作正常。

接收错误 从谷歌浏览器收到的错误信号 的命令 通过 HTerm 发送所需的 modbus 命令 HTerm 发送的命令 接收 HTerm 发送的所需命令从 HTerm 收到的正确命令

这里出了什么问题?我需要如何调整我的代码?还是谷歌浏览器有错误?

0 投票
0 回答
43 浏览

php - Windows 11,wamp / apache / PHP 调用串行 USB Com 端口使用 fopen('com3') 或 file_put_contents(com3) 写入文件而不是 Com

多年来,我一直在使用在 Win10 上的 WAMP / Apache 上运行良好的 PHP 代码将数据发送到串行 USB COM 端口,例如:

`mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;

file_put_contents(com3, "$code\r");

或使用 fopen() 和 fputs() 的另一种类似方式,在上面的反引号引号将在 cmd/shell 中执行命令,而 file_put_contents(com3 会将数据发送到 Windows 上的 COM3 端口。

但是当 Windows 10 升级到 Windows 11 时,大多数事情似乎都一样,除了现在在名为“com3”的文件夹中创建了一个文件,其中包含上述数据文本。

虽然之前它实际上会向 COM 端口发送命令并激活连接的设备,但现在它只是创建一个文件并写入它。

想知道是否有人遇到过这个问题或有解决方案?根据需要将命令发送到 COM 端口,而不是制作名为 COM3 的文件等。任何帮助表示赞赏。否则我可能会使用上面的 cmd/shell 命令重写代码,或者实际上尝试恢复到 Win10。谢谢。

0 投票
2 回答
126 浏览

javascript - 带有 Vanilla JS 的 CRC-16 校验和计算器

我正在寻找一种用 JavaScript 编写并在普通浏览器中运行的 CRC-16 CRC 算法。我知道在各种编程语言中都有大量用于 CRC-16 实现的代码示例。但我仍然无法解决我的问题。以下示例显示了 NodeJ 的 CRC-16 校验和检查。

https://github.com/donvercety/node-crc16/blob/master/crc16.js

为了让 NodeJS 代码在普通浏览器中运行,我对其进行了如下调整。

如果我用 01 04 0003 0002 测试它,我得到 13428。但我正在寻找的是 81 CB。有谁知道如何解决这个问题?

在线工具中CRC计算截图

链接到在线 CRC 计算工具

0 投票
1 回答
88 浏览

javascript - 在javascript中使用web serial api读取USB串口数据

-我从事温度和湿度读取设备的开发。我们有自己的温湿度读取设备(基于 USB 的 COM(串行)端口设备)。目前,我们使用独立软件获取该软件,该软件使用虚拟 com 端口驱动器与设备进行通信。但是,我想使用“网络串行 API”在我的网络应用程序中读取这些记录的数据。

在编写代码以读取该数据时,我无法获取数据。我正在关注“ https://web.dev/serial/ ”这篇文章来读取数据。

- 我应该使用带有 Web 串行 API 的虚拟 comport 驱动程序来读取数据吗?

那么我该怎么做才能使用“web serial API”读取usb com端口设备数据。

--这是我的写入和读取数据的代码。

在此处输入图像描述