代码之家  ›  专栏  ›  技术社区  ›  karamazovbros

如何判断串行COM是USB还是蓝牙正在处理?

  •  1
  • karamazovbros  · 技术社区  · 6 年前

    就绪消息以字节数组的形式发送,其中第二个元素不同,其中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不工作,然后蓝牙测试,如果这不工作,一个错误消息打印出来。

    1 回复  |  直到 6 年前
        1
  •  2
  •   George Profenza    6 年前

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

    Python PySerial's ListPortInfo 用于相关任务。 如果上面的代码是您需要运行的所有串行代码,那么您可以使用Python Pyserial脚本轻松地完成检查端口信息和写入这些字节的任务

    如果您真的需要使用处理,可以寻找一个串行的甚至usbjava库来提供这些信息,或者通过调用Python来处理 exec()