Advertisement
Guest User

Untitled

a guest
Oct 3rd, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import urllib2,urllib,cookielib
  3. import json
  4. import time
  5. import serial
  6. from threading import Thread, Lock # http://agiliq.com/blog/2013/10/producer-consumer-problem-in-python/
  7.  
  8. #opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
  9. opener = urllib2.build_opener()
  10. cj = cookielib.CookieJar()
  11. opener.add_handler(urllib2.HTTPCookieProcessor(cj))
  12.  
  13. memBuffer = []
  14. memBufferQuant = 0
  15. serialBuffer = ''
  16.  
  17.  
  18. class Sender(Thread)
  19.     self.baseUrl = 'http://192.168.0.105'
  20.     self.logedIn=False
  21.    
  22.     def loginIn(self,user,password):
  23.         '''
  24.             in:
  25.                 user: string usuario
  26.                 password: string senha
  27.             out:
  28.                 True se logado com sucesso False caso contrario    
  29.         '''
  30.         query = {'Username': user, 'Senha': password}
  31.         sendingData = urllib.urlencode(query)
  32.         try:
  33.             response = opener.open(self.baseUrl + '/SmartCIn/Account/Login',sendingData)
  34.         except urllib2.URLError, e:
  35.             print 'Code:', e.code
  36.             return False
  37.    
  38.         string = response.read().strip()
  39.         #print string
  40.         if 'ok' == string :
  41.             ret = True 
  42.         else:
  43.             ret = False    
  44.         response.close()
  45.         return ret
  46.  
  47.     def sendData(self,data):
  48.         '''
  49.             in:
  50.                 data: Dicionario com os dados para serem enviados
  51.             out:
  52.                 True se o dado foi aceito pelo servidor False senao        
  53.         '''
  54.         query = {'receive' : json.dumps(data)}
  55.         sendingData = urllib.urlencode(query)
  56.         try:
  57.             response = opener.open(self.baseUrl + '/SmartCIn/Home/About',sendingData)
  58.         except urllib2.URLError, e:
  59.             print 'Code:', e.code
  60.             return False
  61.            
  62.         string = response.read().strip()
  63.         #print string
  64.         if 'ok' == string:
  65.             ret = True 
  66.         else:
  67.             ret = False    
  68.         response.close()
  69.         return ret
  70.  
  71.  
  72.  
  73. port = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=3.0)
  74.  
  75. while True:
  76.     while True:
  77.         rcv = port.readline()
  78.         if '#' in rcv:
  79.             memBuffer   .append({serialBuffer})
  80.             quant = quant + 1
  81.             serialBuffer = ''
  82.             break    
  83.         else:
  84.             serialBuffer = serialBuffer + rcv
  85.     if logedIn == False:
  86.         print 'logando'
  87.         logedIn = loginIn('cmab','carol123')
  88.     else:
  89.         if quant > 10:
  90.             logedIn = sendData({'Leituras': memBuffer})
  91.             if logedIn:
  92.                 memBuffer = []
  93.                 quant = 0
  94.     time.sleep(1) # 1s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement