Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- import urllib2,urllib,cookielib
- import json
- import time
- import serial
- from threading import Thread, Lock # http://agiliq.com/blog/2013/10/producer-consumer-problem-in-python/
- #opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
- opener = urllib2.build_opener()
- cj = cookielib.CookieJar()
- opener.add_handler(urllib2.HTTPCookieProcessor(cj))
- memBuffer = []
- memBufferQuant = 0
- serialBuffer = ''
- class Sender(Thread)
- self.baseUrl = 'http://192.168.0.105'
- self.logedIn=False
- def loginIn(self,user,password):
- '''
- in:
- user: string usuario
- password: string senha
- out:
- True se logado com sucesso False caso contrario
- '''
- query = {'Username': user, 'Senha': password}
- sendingData = urllib.urlencode(query)
- try:
- response = opener.open(self.baseUrl + '/SmartCIn/Account/Login',sendingData)
- except urllib2.URLError, e:
- print 'Code:', e.code
- return False
- string = response.read().strip()
- #print string
- if 'ok' == string :
- ret = True
- else:
- ret = False
- response.close()
- return ret
- def sendData(self,data):
- '''
- in:
- data: Dicionario com os dados para serem enviados
- out:
- True se o dado foi aceito pelo servidor False senao
- '''
- query = {'receive' : json.dumps(data)}
- sendingData = urllib.urlencode(query)
- try:
- response = opener.open(self.baseUrl + '/SmartCIn/Home/About',sendingData)
- except urllib2.URLError, e:
- print 'Code:', e.code
- return False
- string = response.read().strip()
- #print string
- if 'ok' == string:
- ret = True
- else:
- ret = False
- response.close()
- return ret
- port = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=3.0)
- while True:
- while True:
- rcv = port.readline()
- if '#' in rcv:
- memBuffer .append({serialBuffer})
- quant = quant + 1
- serialBuffer = ''
- break
- else:
- serialBuffer = serialBuffer + rcv
- if logedIn == False:
- print 'logando'
- logedIn = loginIn('cmab','carol123')
- else:
- if quant > 10:
- logedIn = sendData({'Leituras': memBuffer})
- if logedIn:
- memBuffer = []
- quant = 0
- time.sleep(1) # 1s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement