微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python - 将数据帧发送到 HID 设备

如何解决Python - 将数据帧发送到 HID 设备

我正在尝试通过 Python 向我的 HID 设备发送帧。我可以连接到我的设备,但不能向它发送帧。下面是我要发送的帧示例(来自 Wireshark 的屏幕):

enter image description here

我在 Python 中的框架:

data = bytearray(64)
data[0] = 0x02
data[5] = 0x82
first_data = bytes(data)

它看起来像来自 Wireshark 的数据包。但它不起作用:

h.write(first_data)

我在 Wireshark 中看不到通信。所以我发现了这样的东西:

def send_frame(data,device):
    data = bytearray(data)
    data_len = len(data)
    seq = 0
    idx = 0
    write = []
    while idx < data_len:
        if idx == 0:
            # INIT frame
            write = data[idx: idx + min(data_len,usb_report_size - 7)]
            device.write(b'\0' + struct.pack(">IBH",HWW_CID,HWW_CMD,data_len & 0xFFFF) + write + b'\xEE' * (usb_report_size - 7 - len(write)))
        else:
            # CONT frame
            write = data[idx: idx + min(data_len,usb_report_size - 5)]
            device.write(b'\0' + struct.pack(">IB",seq) + write + b'\xEE' * (usb_report_size - 5 - len(write)))
            seq += 1
        idx += len(write)

我认为这可能对我有帮助,但是... HWW_CMD 是 USB 功能吗?在这个例子中:0x0009?什么是 HWW_CID 和 usb_report_side?或者也许有更好的选择将帧发送到设备?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。