Advertisement
Guest User

Untitled

a guest
Sep 1st, 2015
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. #!/bin/python
  2.  
  3. import time
  4. import datetime
  5. import serial
  6. from decimal import *
  7. import thread
  8. import os, sys
  9. import struct
  10.  
  11. TTY_GEIGER = '/dev/ttyUSB0'
  12.  
  13. geiger_counts = 0
  14.  
  15. # Get Geiger data from Geiger Counter
  16. def geiger_thread(name, dly):
  17.     global geiger_counts
  18.    
  19.     geiger = serial.Serial()
  20.     geiger.baudrate = 57600
  21.     geiger.port = TTY_GEIGER
  22.  
  23.     try:
  24.         geiger.open()
  25.     except:
  26.         print "Geiger is not connected, can't open " + TTY_GEIGER
  27.         return
  28.  
  29.     data = ""
  30.     print "Geiger opening port.."
  31.     while True:
  32.         # read data from the serial port - 17 bytes
  33.         try:
  34.             geiger.write("<GETCPM>>");
  35.            
  36.             data = geiger.read(2)
  37.  
  38.             geiger_counts = (int (struct.unpack("<L", data[1]+""+data[0]+"\x00\x00")[0]))
  39.            
  40.             time.sleep(1)
  41.         except:
  42.             print "> Geiger Data stream failed?"
  43.    
  44.  
  45. # start thread for handling user commands
  46. thread.start_new_thread(geiger_thread, ("thread #1",1,))
  47.  
  48. # CPM is refreshed each second - start this in the loop
  49. print "CPM count:" + str(geiger_counts)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement