gpt4 book ai didi

python - pyUSB 从传感器获取连续数据流

转载 作者:太空狗 更新时间:2023-10-30 00:10:34 27 4
gpt4 key购买 nike

我有一个通过 USB 连接的设备,我正在使用 pyUSB 连接数据。

这是我的代码目前的样子:

import usb.core
import usb.util

def main():
device = usb.core.find(idVendor=0x072F, idProduct=0x2200)

# use the first/default configuration
device.set_configuration()

# first endpoint
endpoint = device[0][(0,0)][0]

# read a data packet
data = None
while True:
try:
data = device.read(endpoint.bEndpointAddress,
endpoint.wMaxPacketSize)
print data

except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):

continue

if __name__ == '__main__':
main()

它基于鼠标阅读器,但我得到的数据对我来说没有意义:

array('B', [80, 3])
array('B', [80, 2])
array('B', [80, 3])
array('B', [80, 2])

我的猜测是它只读取了实际提供内容的一部分?我已经尝试将 maxpacketsize 设置得更大,但没有。

最佳答案

pyUSB 以字符串格式发送和接收数据。您收到的数据是 ASCII 码。您需要添加以下行才能在代码中正确读取数据。

data = device.read(endpoint.bEndpointAddress,
endpoint.wMaxPacketSize)

RxData = ''.join([chr(x) for x in data])
print RxData

函数chr(x) 将ASCII 码转换为字符串。这应该可以解决您的问题。

关于python - pyUSB 从传感器获取连续数据流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291631/

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