##// END OF EJS Templates
ATRAD actualizado
ATRAD actualizado

File last commit:

r396:bcff7b1b68a2
r396:bcff7b1b68a2
Show More
views.py
124 lines | 3.9 KiB | text/x-python | PythonLexer
from django.shortcuts import redirect, render, get_object_or_404
from django.contrib import messages
from django.http import HttpResponse
from django.template.loader import get_template
from apps.main.models import Experiment
from .models import ATRADConfiguration, ATRADData
from .forms import ATRADConfigurationForm, UploadFileForm
from apps.main.views import sidebar
import requests
import json
import os
from django.http import JsonResponse
from .mqtt import client as mqtt_client
from radarsys.socketconfig import sio as sio
from datetime import timedelta
def atrad_conf(request, id_conf):
conf = get_object_or_404(ATRADConfiguration, pk=id_conf)
ip=conf.device.ip_address
port=conf.device.port_address
kwargs = {}
kwargs['status'] = conf.device.get_status_display()
kwargs['dev_conf'] = conf
kwargs['dev_conf_keys'] = ['label',
'topic']
kwargs['title'] = 'ATRAD Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
#kwargs['no_play'] = True
###### SIDEBAR ######
kwargs.update(sidebar(conf=conf))
return render(request, 'atrad_conf.html', kwargs)
def atrad_tx(request, id_conf, id_tx):
kwargs = {}
kwargs['id_tx'] = id_tx[-1]
kwargs['title'] = 'Temperature Details'
kwargs['button'] = 'Edit Configuration'
time = ATRADData.objects.last().datetime
id_stx = (int(id_tx[-1])-1)*4+1
mydata = ATRADData.objects.filter(datetime__gte = (time-timedelta(hours=1)),nstx = id_stx).values('datetime','temp1_1','temp2_1','temp3_1','temp4_1','temp5_1','temp6_1',
'temp1_2','temp2_2','temp3_2','temp4_2','temp5_2','temp6_2','temp1_3','temp2_3','temp3_3','temp4_3','temp5_3','temp6_3',
'temp1_4','temp2_4','temp3_4','temp4_4','temp5_4','temp6_4')
kwargs['data'] = json.dumps(list(mydata),default=str)
return render(request, 'atrad_tx.html', kwargs)
def QuerytoStr(data):
time = data[0]
strdata = str(time)
return strdata
def atrad_conf_edit(request, id_conf):
conf = get_object_or_404(ATRADConfiguration, pk=id_conf)
if request.method=='GET':
form = ATRADConfigurationForm(instance=conf)
if request.method=='POST':
form = ATRADConfigurationForm(request.POST, instance=conf)
if form.is_valid():
if conf.topic == None: conf.topic = 0
conf = form.save(commit=False)
if conf.verify_frequencies():
conf.save()
return redirect('url_atrad_conf', id_conf=conf.id)
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Save'
return render(request, 'atrad_conf_edit.html', kwargs)
def publish_message(request):
rc, mid = mqtt_client.publish('test/data2',1)
return JsonResponse({'code1': 'HIKA', 'code2': 'LUCAS'})
def monitor(request):
kwargs = {'no_sidebar': True}
return render(request, 'monitor.html', kwargs)
def atrad_prueba(request):
keys = ['id','temp1','temp2','temp3','temp4','temp5','temp6']
time = ATRADData.objects.last().datetime
mydata = ATRADData.objects.filter(datetime__gte = (time-timedelta(hours=1))).values('id','temp1_1','temp2_1','temp3_1','temp4_1','temp5_1','temp6_1',
'temp1_2','temp2_2','temp3_2','temp4_2','temp5_2','temp6_2','temp1_3','temp2_3','temp3_3','temp4_3','temp5_3','temp6_3',
'temp1_4','temp2_4','temp3_4','temp4_4','temp5_4','temp6_4')
template = get_template('prueba.html')
context = {
'last' : time,
'temps': mydata,
'keys' : keys,
}
return HttpResponse(template.render(context, request))
@sio.on('connection-bind')
def atrad_connection_bind(sid, data):
print("sid:",sid,"data",data)
@sio.on('disconnect')
def atrad_disconnect(sid):
print("Disconnected")
@sio.event
def atrad_control_event(sid,message):
mqtt_client.publish('test/data2', json.dumps(message))