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

时间:2013-07-17 12:55:27

标签: 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()

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

1 个答案:

答案 0 :(得分:0)

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

013651211

大约每400毫秒重复一次。仪表上读取的前5位数字,数字6是小数点位置,数字8是功能位置

VDC = 1 AmpDC = 9

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