Keysight U1401B is a process calibrator and multimeter in one device. It can source currents ±25 mA and voltages till ±15 V. And at the same time measure as a multimeter. We can use also Escort 2030 with the same behavior. See device description.
We want to follow measured values of voltage an current also on display of a notebook. It is possible, however, also evaluate the data and make some decisions, or write them in a file.
U1401B U5481B Raspberry Pi 2B Notebook IR <---------------infrared-------------->USB 1 USB Win 8 multimeter serial-USB USB 2<--- >WiFi dongle ((())) Wifi calibrator cable adapter Raspbian, SSH <-> PuTTY (+WinSCP) SCPI commands <-> SCPI, Python display, keyboard U1401B returns lines ended with CRLF ('\r\n') (hex:0D,0A). Therefore reading with readline().
( ( ( ) ) ) |
# dm1.py # read voltage and gives also current # used SCPI commands: CONF?, READ?, CURR?. import serial import time dmm=serial.Serial(port='/dev/ttyUSB0', baudrate=9600, bytesize=7, parity=serial.PARITY_EVEN) try: dmm.open() except Exception as e: print ('problem opening port: ' + str(e)) exit() print ("--------------------------------------------------") print ('dm1: read voltage and gives also current') dmm.write('CONF?\r') dmm.flushInput() conf = dmm.readline() print ('Configuration: ' + conf[:-2]) print ("--------------------------------------------------") sec = input('time interval between meas.(sec): ') while True: dmm.write('READ?\r') dmm.flushInput() data1 = dmm.readline() n1 = str(round(float(data1),5)) print 'inp: ' + n1 + ' V', dmm.write('CURR?\r') dmm.flushInput() data2 = dmm.readline() n2 = str(round(float(data2)*1000,5)) print (' out: ' + n2 + ' mA') time.sleep(sec)