gpt4 book ai didi

java - 处理中如何判断串口是USB还是蓝牙?

转载 作者:行者123 更新时间:2023-11-30 02:02:54 25 4
gpt4 key购买 nike

我有一个可以通过 USB 和蓝牙连接的设备,但发送到该设备的就绪消息会因蓝牙或 USB 的不同而有所不同。

就绪消息以字节数组形式发送,其中第二个元素有所不同,其中 0x01 表示 USB,0x02 表示蓝牙。

Serial serial = Serial(s, Serial.list()[0], BAUD_RATE);
byte[] message = new byte[3];
byte[0] = 0x01;
byte[0] = 0x01; // 0x02 for bluetooth
byte[0] = 0x12;
serial.write(message);

我想让我的代码根据用户使用的内容动态工作,因此如果 USB 不起作用,则测试蓝牙,如果不起作用,则会打印错误消息。

我环顾四周,但在处理中找不到任何方法来检测 COM 端口是否是蓝牙。在处理中是否有可靠的方法来测试这一点?

最佳答案

Processing Serial library不公开任何功能来提供有关设备本身的详细信息。如果您已经知道这些设备的供应商 ID (VID) 和产品 ID (PID),在 Windows 上您可以尝试 like this .

我个人使用过Python PySerial's ListPortInfo用于相关任务。如果上面的代码是您需要运行的所有串行代码,您可以轻松使用 Python Pyserial 脚本,该脚本既检查端口信息又写入这些字节

如果您确实需要使用Processing,请寻找可以提供此信息的串行甚至USB Java库,或者通过exec()从Processing调用Python

关于java - 处理中如何判断串口是USB还是蓝牙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52240873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com