使用 PyUSB 从 Tenma 72-7732 万用表读取数据

Sop*_*hie 5 python usb device libusb pyusb

我正在尝试使用 PyUSB 和 libusb 从带有 HID USB 连接的 Tenma 72-7732 万用表读取电压。到目前为止,这是我的代码:

def main():
    import usb.core
    import usb.util
    import usb.backend
    import sys

    #find device

    dev = usb.core.find(idVendor=0x1a86, idProduct=0xe008)

    # did you find it?
    if dev is None:
        raise ValueError('Device not found')
    else:
        print "Device found"


    dev.set_configuration()


    endpoint = dev[0][(0,0)][0]

    data = dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize, 0, 100000)

    print data

main()
Run Code Online (Sandbox Code Playgroud)

这会找到设备,但是当它尝试读取数据时,会出现超时错误。万用表的文档和支持非常糟糕,所以我无法去那里寻求帮助。如何成功读取设备?

小智 0

我使用一个简单的 IR 到 RS232 适配器,它由一个 IR 探测器组成,阳极连接到引脚 4,阴极连接到引脚 2(RX 数据)。当使用设置为 2400 波特、7 数据 1 停止、无奇偶校验、无握手的简单终端连接到我的 PC 时,它会生成以下字符串

013651211

大约每 400 毫秒重复一次。前5位为仪表读数,第6位为小数点位置,第8位为功能位

VDC = 1 安培直流 = 9

最后一位数字似乎是自动/手动与符号混合;其余的我还不需要。