def graficarDash(request): sil = Silo.objects.get(ip_asignada=request.POST['silo']) fechaD = request.POST['fechaDesde'] fechaH = request.POST['fechaHasta'] queryset = [] if request.POST['consulta'] == "alerta": queryset = list( Alerta.objects.filter(es_alerta=True, sensor__silo=sil, tiempo__range=[fechaD, fechaH]).order_by('-tiempo')) else: queryset = list( Alerta.objects.filter(es_alerta=False, sensor__silo=sil, tiempo__range=[fechaD, fechaH]).order_by( '-tiempo')) respuesta = [] for item in queryset: obj = Alerta() obj.es_alerta = item.es_alerta obj.humedad = item.humedad obj.temperatura = item.temperatura item.sensor.id = item.sensor.identificador obj.sensor = item.sensor t = item.tiempo - timedelta(hours=3) obj.tiempo = t.replace(t.year, t.month, t.day, t.hour, t.minute, 0, 0, None) respuesta.append(obj) data = [] data = serializers.serialize('json', respuesta) return HttpResponse(data)
def server(request): msg = "" if 'token' in request.GET and request.GET['token'] == "1234": ip = get_ip(request) if ip is not None and Silo.objects.filter(ip_asignada=ip).exists(): si = Silo.objects.get(ip_asignada=ip) queryset = Sensor.objects.filter(silo=si) fecha = datetime.today() datos = "" for item in queryset: i = item.identificador alerta = Alerta() alerta.tiempo = fecha if 't' + `i` in request.GET and request.GET['t' + `i`] is not None: alerta.temperatura = float(request.GET['t' + `i`]) else: alerta.temperatura = 0 if 'h' + `i` in request.GET and request.GET['h' + `i`] is not None: alerta.humedad = float(request.GET['h' + `i`]) else: alerta.humedad = 0 alerta.sensor = item if request.GET['alerta'] == "0": alerta.es_alerta = False else: alerta.es_alerta = True alerta.save() datos += 't' + `i` + "= " + `alerta.temperatura` datos += ' h' + `i` + "= " + `alerta.humedad` + " " if request.GET['alerta'] == "1": to = Puesto.objects.filter(silo=si) for t in to: email = EmailMessage("Se produjo alerta en Arduino", "Se ha producido un alerta en el Silo: Ip=" + si.ip_asignada + ". Ubicacion= " + si.ubicacion + ". Datos Sensores: " + datos, to=[t.user.email]) email.send() msg = "Guardado Correcto."