Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Voltcraft IR thermometer serial communication initialization
- ser = serial.Serial()
- ser.baudrate = 9600
- ser.port = '/dev/ttyUSB0'
- try:
- ser.open()
- except:
- print "Thermometer is not connected, can't open /dev/ttyUSB0"
- sys.exit()
- # ### INITIALIZATION ###
- # read line to overcome possible corrupted data
- def detect_frame():
- print "> Detecting frame"
- while True:
- data = ser.read(1)
- #print data[0].encode('hex')
- if data[0].encode('hex') == "aa":
- print "> Frame Detected"
- break
- detect_frame()
- # ### UTILS ###
- # Voltcraft IR 2200-50D USB data stream decoding (should be compatible with other Voltcraft IR USB thermometers)
- def temp_get():
- # read data from the serial port - 17 bytes
- data = ser.read(17)
- #for character in data:
- # print character.encode('hex'),
- if data[16].encode('hex') != "aa":
- print "> Frame Lost"
- detect_frame()
- return temp
- return float (struct.unpack("<L", data[4]+""+data[3]+"\x00\x00")[0]) / 10
- temp_start = temp_get()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement