Está en la página 1de 2

#!

/usr/bin/python
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
import urlparse
import datetime

PORT_NUMBER = 8080

datos=[]

class myHandler(BaseHTTPRequestHandler):

# Manejador para peticiones GET


def do_GET(self):
if "readsensor" in self.path:
o = urlparse.urlparse(self.path)
params = urlparse.parse_qs(o.query)
t = params["t"][0]
h = params["h"][0]
now = datetime.datetime.now()
datos.append([str(now.hour)+":"+str(now.minute), t, h]);

self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write('Temperatura: '+t)
self.wfile.write('<BR>Humedad: '+h)
self.wfile.write("<BR>OK!")
return
else:
# gerenar datos
muestra = "['Hora', 'Temperatura', 'Humedad'],"
for d in datos:
muestra=muestra + "['"+d[0]+"',"+d[1]+","+d[2]+"],"

self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write("""
<html>
<head>
<script type='text/javascript'
src='https://www.gstatic.com/charts/loader.js'></script>
<script type='text/javascript'>
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var data = google.visualization.arrayToDataTable([""" + muestra
+"""]);

var options = {
title: 'Registro humedad/temperatura',
curveType: 'function',
legend: { position: 'bottom' }
};

var chart = new


google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id='curve_chart' style='width: 900px; height: 500px'></div>
</body>
</html>
""");
try:
server = HTTPServer(('', PORT_NUMBER), myHandler)
print 'Iniciando servidor HTTP en puerto ' , PORT_NUMBER
server.serve_forever()

except KeyboardInterrupt:
print 'CTRL+C: Saliendo...'
server.socket.close()

También podría gustarte