python usb 复位_从pywinusb / python初始化USB设备

我的问题就像Will提出的问题:“简单的读/写Python中的USB HID设备?”,但之后我没有得到任何结果。问题:我正在尝试处理俄勒冈州WMRS200 Meteo站,它实现了作为HID设备的USB连接。我开始调整/简化下面列出的'raw data.py'示例

from time import sleep

from msvcrt import kbhit

import pywinusb.hid as hid

def sample_handler(data):

print("Raw data: {0}".format(data))

def raw_test():

device = (hid.HidDeviceFilter (vendor_id =0x0fde , product_id = 0xca01). \

get_devices())[0]

device.open()

#set custom raw data handler

device.set_raw_data_handler(sample_handler)

print("\nWaiting for data...\nPress any (system keyboard) key to stop...")

while not kbhit() and device.is_plugged():

#just keep the device opened to receive events

sleep(0.5)

device.close()

return

if __name__ == '__main__':

raw_test()数据的传输没有开始。我在网上发现系统必须初始化一次(在复位或PW失败后)发送一个缓冲区

0x20 0x00 0x08 0x01 0x00 0x00 0x00 0x00

问题是我不知道如何发送它。像发送报告那样做一些事情(如上面引用的例子)不会得到任何结果。

如果复位后我开始并停止,一旦原始的俄勒冈州的一切都开始工作,即通道以某种方式初始化。在通信通道上安装嗅探器我想我会看到字节串到设备上,但是,我仍然可以发送它?

这是带有原始sw的嗅探器的输出。我猜想在URB 9-10中可以看到字节模式进入设备。

[229 ms] >>> URB 1 going down >>>

-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:

TransferBufferLength = 00000012

DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)

[234 ms] <<< URB 1 coming back <<<

-- URB_FUNCTION_CONTROL_TRANSFER:

TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值