Exemple #1
0
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)
Exemple #2
0
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."