使用jssc获取SerialPort的设备描述符

Tej*_*ain 7 java serial-port jssc

如何使用jssc获取SerialPort的设备描述符( java-simple-serial-connector)

getPortName()方法给出了端口名称(e.g. COM2),但描述符会更有帮助.

如果需要修补此开源API以获取设备描述符如何才能完成?

Sky*_*ker -1

设备描述符是描述符树的根,包含基本的设备信息。唯一的编号 idVendor 和 idProduct 用于标识连接的设备。Windows 操作系统使用这些数字来确定要加载的设备驱动程序。

\n\n

idVendor是分配给每个生产 USB 设备的公司的编号。USB Implementers\xe2\x80\x99 论坛负责管理供应商 ID 的分配。

\n\n

idProduct是另一个 16 位字段,包含制造商分配的用于标识特定产品的编号。

\n\n
\n\n

从janje的问题来看,

\n\n
\n

我需要的是 Windows 10 在连接的设备中显示为名称的内容?

\n
\n\n

答:打开"Settings app"并单击设备。单击“设备”将打开一个选项卡,您可以在其中调整所有打印机、连接的设备、蓝牙设备、鼠标和触摸板、打字设置和自动播放设置的设置。此连接的设备选项卡显示连接到您的 PC 的硬件。单击“添加设备”,您的电脑将自动扫描已连接的设备。蓝牙选项卡很简单,只需简单的设置即可通过蓝牙将设备连接到电脑。单击蓝牙按钮,设备将自动开始扫描范围内的任何蓝牙设备。

\n\n

如果显示设备有任何问题或无法提供,那么我们需要以下工作。

\n\n
    \n
  1. 扫描硬件和设备以找出驱动程序问题。
  2. \n
  3. 修复损坏、损坏或不兼容的蓝牙驱动程序。
  4. \n
  5. 更新到适用于 Windows 10 的最新蓝牙驱动程序。
  6. \n
  7. 下载并安装 Windows 10 中最匹配的驱动程序。
  8. \n
\n\n

页首 2. 删除和添加蓝牙设备

\n\n

页首 3. 允许蓝牙设备连接到此计算机

\n\n

\xe2\x80\x99t 可以从支持蓝牙的设备连接到计算机吗?确保您已允许蓝牙设备连接到您的计算机。请尝试以下步骤:\n1. 转到控制面板。单击 \xe2\x80\x9c硬件和声音\xe2\x80\x9d 和 \xe2\x80\x9c蓝牙设备\xe2\x80\x9d。\n2. 单击“选项”选项卡。\n3. 确保选中\xe2\x80\x9c允许蓝牙设备连接到此计算机\xe2\x80\x9d复选框。

\n\n
\n\n

如何将蓝牙设备连接到 Windows 10 计算机?

\n\n

连接支持蓝牙功能的手机:

\n\n
    \n
  1. 转到“开始”按钮并选择 \xe2\x80\x9cSettings\xe2\x80\x9d、\xe2\x80\x9cDevices\xe2\x80\x9d 和 \n\xe2\x80\x9cBluetooth\xe2\x80\x9d。单击\xe2\x80\x9cAdd\xe2\x80\x9d。
  2. \n
  3. 或者,转到控制面板,单击 \xe2\x80\x9c硬件和声音\xe2\x80\x9d 和\n\xe2\x80\x9c蓝牙设备\xe2\x80\x9d。单击\xe2\x80\x9cAdd\xe2\x80\x9d。
  4. \n
\n\n

资源链接:

\n\n
    \n
  1. 修复 Windows 10 更新后蓝牙不可用的 3 种主要方法\n问题
  2. \n
  3. http://windows.microsoft.com/en-gb/windows-10/getstarted-connect-to-bluetooth-devices
  4. \n
\n\n
\n\n

修复网络连接问题

\n\n

有 7 种方法可以解决网络连接问题:

\n\n
    \n
  1. 更新网络适配器驱动程序
  2. \n
  3. 回滚网络适配器驱动程序
  4. \n
  5. 运行网络疑难解答,然后运行网络命令
  6. \n
  7. 暂时关闭防火墙
  8. \n
  9. 暂时关闭所有防病毒或恶意软件防护软件
  10. \n
  11. 卸载网络适配器驱动程序并重新启动
  12. \n
  13. 使用 netcfg \xe2\x80\x93d 命令重新安装网络设备
  14. \n
\n\n

更新:

\n\n
\n

您的答案如何链接到 jssc?

\n
\n\n

我正在检查你的问题。我发现在 Windows 7 中它工作正常,而在 Windows 10 中,存在一些与硬件相关的问题,导致出现问题。

\n\n

开发商正在该领域开展工作。但它还没有修复。问题#63问题#85会让你明白。

\n\n
/**\n * Get serial port names in Windows\n *\n * @since 2.3.0\n */\nprivate static String[] getWindowsPortNames(Pattern pattern, Comparator<String> comparator) {\n    String[] portNames = serialInterface.getSerialPortNames();\n    if(portNames == null){\n        return new String[]{};\n    }\n    TreeSet<String> ports = new TreeSet<String>(comparator);\n    for(String portName : portNames){\n        if(pattern.matcher(portName).find()){\n            ports.add(portName);\n        }\n    }\n    return ports.toArray(new String[ports.size()]);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我了解到,他们正在为各种操作系统使用一些模式。

\n\n
OS_LINUX: Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm|ttyO)[0-9]{1,3}"); \n\nOS_SOLARIS: Pattern.compile("[0-9]*|[a-z]*");\n\nOS_MAC_OS_X: Pattern.compile("tty.(serial|usbserial|usbmodem).*"); \n\nOS_WINDOWS: Pattern.compile("");\n
Run Code Online (Sandbox Code Playgroud)\n\n

建议: \n仅使用官方和最新的驱动程序。

\n\n

jSSC-2.8.0 发布版本 (2014年1月24日)

\n\n
\n

修复:重要!修复了端口处理潜在泄漏的错误。

\n\n

此版本包含适用于 Windows(x86、x86-64)、Linux(x86、\n x86-64、ARM 软浮点和硬浮点)、Solaris(x86、x86-64)、Mac OS X(x86、\n x86) 的本机库-64、PPC、PPC64)。所有本机库都包含在 jssc.jar 文件中,\n 您不需要手动管理本机库。

\n
\n\n

资源链接:

\n\n
    \n
  1. https://github.com/tcr/node-jssc/blob/master/jSSC-2.6.0-Release/src/src/jssc/SerialPortList.java
  2. \n
\n

  • 感谢您的答复。然而,我无法在问题和你的答案之间找到联系。您的答案如何链接到 jssc? (2认同)