Advertisement
Guest User

Untitled

a guest
Jun 10th, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.09 KB | None | 0 0
  1. # Voltcraft IR thermometer serial communication initialization
  2. ser = serial.Serial()
  3. ser.baudrate = 9600
  4. ser.port = '/dev/ttyUSB0'
  5.  
  6. try:
  7.     ser.open()
  8. except:
  9.     print "Thermometer is not connected, can't open /dev/ttyUSB0"
  10.     sys.exit()
  11.  
  12. # ### INITIALIZATION  ###
  13.  
  14. # read line to overcome possible corrupted data
  15. def detect_frame():
  16.     print "> Detecting frame"
  17.     while True:
  18.         data = ser.read(1)
  19.         #print data[0].encode('hex')
  20.         if data[0].encode('hex') == "aa":
  21.             print "> Frame Detected"
  22.             break
  23.  
  24. detect_frame()
  25.  
  26. # ### UTILS  ###
  27.  
  28. # Voltcraft IR 2200-50D USB data stream decoding (should be compatible with other Voltcraft IR USB thermometers)
  29. def temp_get():
  30.     # read data from the serial port - 17 bytes
  31.     data = ser.read(17)
  32.     #for character in data:
  33.     #    print character.encode('hex'),
  34.    
  35.     if data[16].encode('hex') != "aa":
  36.         print "> Frame Lost"
  37.         detect_frame()
  38.         return temp
  39.    
  40.     return float (struct.unpack("<L", data[4]+""+data[3]+"\x00\x00")[0]) / 10
  41.  
  42. temp_start = temp_get()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement