我正在尝试使用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()
这会找到设备,但当它试图读取数据时,会出现超时错误。万用表的文档和支持非常糟糕,所以我不能去那里寻求帮助。如何成功读取设备?
我使用一个简单的IR到RS232适配器,该适配器由一个IR探测器组成,阳极连接到引脚4,阴极连接到引脚2(RX数据)。当连接到我的电脑时,一个简单的终端设置为2400波特,7数据1停止,无奇偶校验,无握手,它会产生以下字符串
013651211
它大约每400毫秒重复一次。前5位是仪表上读取的数字,第6位是小数点位置,第8位是功能位置
VDC=1安培DC=9
最后一个数字似乎是自动/手动混合符号;剩下的我(还)不需要。