Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.09 KB | None | 0 0
  1. import serial
  2. from websocket import create_connection
  3. import time
  4. import sys
  5.  
  6.  
  7. def split(lst,size):
  8.     return [lst[i:i+size] for i  in range(0, len(lst), size)]
  9.  
  10. def calibrate():
  11.     filter_N =  5
  12.   frequency = 600 * filter_N
  13.   period = 1.0/frequency
  14.   total = 0
  15.   fail = 0
  16.   rate = 0
  17.  
  18.   comp_port = "COM"+sys.argv[1]
  19.   # Init
  20.   try:
  21.       ser = serial.Serial(comp_port,19200,timeout=0.1)
  22.     except:
  23.       print "Cannot open COM Port"
  24.       sys.exit(1)
  25.  
  26.    
  27.    
  28.   ser.write("C")
  29.     data = ser.readline().replace("\n","").replace("\r","")
  30.     # print data,data[0],data[len(data)-1]
  31.     if not data or data[0] != 's' or data[len(data)-1] != 'f':
  32.       fail+=1
  33.       curr_fails += 1
  34.     print "Check sensors or just late data"
  35.     continue
  36.     data = data[1:-1]
  37.  
  38. def getdata():
  39.     ser.write("G")
  40.  
  41. def senddata():
  42.     filter_N =  5
  43.     frequency = 600 * filter_N
  44.     period = 1.0/frequency
  45.     total = 0
  46.     fail = 0
  47.     rate = 0
  48.  
  49.     comp_port = "COM"+sys.argv[1]
  50.     # Init
  51.     try:
  52.         ser = serial.Serial(comp_port,19200,timeout=0.1)
  53.     except:
  54.         print "Cannot open COM Port"
  55.         sys.exit(1)
  56.  
  57.     try:
  58.  
  59.         ws = create_connection("ws://188.166.48.28:9090/ws")
  60.     except:
  61.         print "Cannot connect to WebSocket Server"
  62.         sys.exit(2)
  63.     #ws.send("Hello from Win7 !")
  64.  
  65.     while(1):
  66.         tick = time.time()
  67.         sums = [0.0] * 18
  68.         curr_fails = 0
  69.  
  70.         ser.write("S")
  71.         data = ser.readline().replace("\n","").replace("\r","")
  72.         # print data,data[0],data[len(data)-1]
  73.         if not data or data[0] != 's' or data[len(data)-1] != 'f':
  74.             fail+=1
  75.             curr_fails += 1
  76.             print "Check sensors or just late data"
  77.             continue
  78.         data = data[1:-1]
  79.    
  80.         print data
  81.         print "Fail rate: %s\n" % rate
  82.         # print fail,total,rate
  83.  
  84.         ws.send(data)
  85.  
  86.         print "Frequ: %s" % (1.0/ (time.time()-tick+0.0000001))
  87.         tick = time.time()
  88.  
  89.     ws.close()
  90.     ser.close()
  91.        
  92.  
  93.  
  94. if __name__ == "__main__":
  95.     argument = sys.argv[2]
  96.     if argument == "S":
  97.         senddata()
  98.     elif argument == "C":
  99.         calibrate()
  100.     else:
  101.         print "Please specify argument"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement