Пример #1
0
def matar_automatic():
    automatic = ParamikoComando()
    automatic.conectar()

    try:
        ####MATANDO AUTIMATIC.PY##################
        print('matando automatic.py')
        comando = 'automatic.py'
        for pid in automatic.pid(comando):
            pid_a_matar = pid.strip('\n')
            automatic.matar(pid_a_matar)
    except:
        pass
    automatic.client.close()
Пример #2
0
def matar_ecosystem():
    ecoluz = ParamikoComando()
    ecoluz.conectar()
    comando = 'ecosystem.py'
    try:
        ####MATANDO ECOSYSTEM.PY##################
        print('matando ecosystem.py')
        for pid in ecoluz.pid(comando):
            pid_a_matar = pid.strip('\n')
            ecoluz.matarsig(pid_a_matar)
        session['ecosystem'] = 0
    except:
        pass
    ecoluz.client.close()
    print('Ecosystem apagado')
Пример #3
0
def matar_camara():
    camara = ParamikoComando()
    camara.conectar()
    comando = 'camara.py'
    try:
        ####MATANDO CAMARA.PY##################
        print('matando camara.py')
        for pid in camara.pid(comando):
            pid_a_matar = pid.strip('\n')
            camara.matarsig(pid_a_matar)
        session['camara'] = 0
    except:
        pass
    camara.client.close()
    print('Camara apagada')
Пример #4
0
def matar_timelaps():
    timelaps = ParamikoComando()
    timelaps.conectar()
    comando = 'fotos.py'
    try:
        ####MATANDO FOTOS.PY##################
        print('matando fotos.py')
        for pid in timelaps.pid(comando):
            pid_a_matar = pid.strip('\n')
            timelaps.matarsig(pid_a_matar)
        session['timelaps'] = 0
    except:
        pass
    timelaps.client.close()
    print('Timelaps apagado')
Пример #5
0
def ecosystem(eco):
    ecoluz = ParamikoComando()
    ecoluz.conectar()
    comando = 'ecosystem.py'
    session['ecosystem'] = eco
    if session['ecosystem'] == 0:
        matar_ecosystem()
    else:
        ecoluz.ejecutarcomando(comando, False)
        print('Ecosystem encendido')

    return redirect(url_for('.home', user=session['username']))
Пример #6
0
def camara(cam):
    camara = ParamikoComando()
    camara.conectar()
    opcion = 'on' if cam == 1 else 'off'
    comando = 'camara.py ' + opcion
    camara.ejecutarcomando(comando, False)
    session['camara'] = cam
    if session['camara'] == 0:
        camara.client.close()
        print('camara apagada')
    else:
        print('camara encendida')

    return redirect(url_for('.home', user=session['username']))
Пример #7
0
def logout():
    camara = ParamikoComando()
    camara.conectar()
    comando = 'camara.py off'
    camara.ejecutarcomando(comando, False)

    camara.client.close()

    logout_user()
    flash(f'Chau {session["username"]}', 'primary')
    for i in session:
        print(i)
        session[i] = ''

    return redirect(url_for('.login'))
Пример #8
0
def timelaps():
    form = TimeLapsForm()  # (sale opcion de ponerle nombre y guardarlo)
    form2 = TimeLapsForm2()  # sale opcion de encender
    comprobar_timelaps()
    if comprobar_timelaps():
        if form.validate_on_submit():
            matar_timelaps()
            compositor = ParamikoComando()
            compositor.conectar()
            comando = 'timelaps.py ' + form.nombre_time_laps.data
            stdin, stdout, stderr = compositor.ejecutarcomando(comando, False)
            exit_status = stdout.channel.recv_exit_status()
            if exit_status == 0:
                print(
                    f'Timelaps Guardado con el nombre de: {form.nombre_time_laps.data}.mp4'
                )
                session['timelaps'] = 0
                compositor.client.close()
                archivo = str(form.nombre_time_laps.data)
                link = 'static/' + archivo + '.zip'
                return render_template('descarga.html', link=link)
        return render_template('timelaps.html', form=form, form2=form2)

    else:
        if form2.validate_on_submit():
            flash(
                'Este proceso puede tardar algunos minutos, pronto saldra la opcion de descarga',
                'info')
            fotos = ParamikoComando()
            fotos.conectar()
            comando = 'fotos.py'
            session['timelaps'] = 1
            fotos.ejecutarcomando(comando, False)
            print('Timelaps encendido')
        return render_template('timelaps.html', form=form, form2=form2)
Пример #9
0
def liberar_gpios():
    automatic = ParamikoComando()
    automatic.conectar()
    comando = 'liberar_gpios.py'
    stdin, stdout, stderr = automatic.ejecutarcomando(comando, False)  #
    automatic.client.close()
Пример #10
0
def mensajeadm():
    lista_msg = []
    listado = MensajesAdm.query.filter_by(
        usuario=session['username']).order_by(MensajesAdm.id.asc()).all()

    con = Conexion2()
    try:
        for i in listado:
            print(i.id_mensaje)

            consulta = """SELECT respuesta FROM mensajesadmserver WHERE id_mensaje = '%s'""" % i.id_mensaje
            con.CUR.execute(consulta)
            i.respuesta = con.CUR.fetchone()
            print(i.respuesta)
            MensajesAdm.query.filter_by(id_mensaje=i.id_mensaje).update(
                {MensajesAdm.respuesta: i.respuesta},
                synchronize_session=False)
            db.session.commit()
            data = {i.id_mensaje: i.respuesta}
            lista_msg.append(data)

    except:
        pass
    #con.CUR.close()
    print(lista_msg)

    msg = ParamikoComando()
    msg.conectar()
    comando = 'raspip.py'
    stdin, stdout, stderr = msg.ejecutarcomando(comando, True)
    ip = str(stdout.readlines()[0])
    print(ip)
    comando = 'nserie.py'
    stdin, stdout, stderr = msg.ejecutarcomando(comando, False)
    numero_serie_rpi = str(stdout.readlines()[0])
    print(numero_serie_rpi)
    fecha = datetime.now().date()
    hora = datetime.now().time()
    form = MensajeAdminForm()
    if form.validate_on_submit():
        mensaje = form.mensaje.data
        asunto = form.asunto.data
        mensaje_a_base = MensajesAdm(fecha, hora, asunto, mensaje,
                                     numero_serie_rpi, ip, session['username'])

        #con = Conexion2()
        id_mensaje = mensaje_a_base.id_mensaje
        datos = (fecha, hora, asunto, mensaje, numero_serie_rpi, ip,
                 session['username'], id_mensaje)
        consulta = """INSERT INTO  mensajesadmserver (fecha, hora, asunto, mensaje, numero_serie_rpi, ip_rpi, usuario, id_mensaje) VALUES (%s,%s,%s,%s,%s,%s,%s,%s)"""
        try:
            con.CUR.execute(consulta, datos)
            con.CONEXION.commit()

            db.session.add(mensaje_a_base)
            db.session.commit()
            #   con.CUR.close()
            flash('Mensaje enviado al administrador, en breve sera respondido',
                  'info')
        except:
            #  con.CUR.close()
            flash('Mensaje no enviado, intente mas tarde', 'warning')
        return redirect(url_for('.home', user=session['username']))
    return render_template('mensajes.html',
                           form=form,
                           ip=ip,
                           numero_serie_rpi=numero_serie_rpi,
                           fecha=fecha,
                           hora=hora,
                           listado=listado)
Пример #11
0
from src import app, db
from src.core.forms import Ejecutar, Seleccionar, Parar, IndoorForm, AutomaticForm, TrabajandoForm, MensajeAdminForm, TimeLapsForm, TimeLapsForm2
import paramiko
import time
from time import sleep
from datetime import datetime
import os
from src.comando import ParamikoComando
from src.models import Configuracion, Historial, Luna, Sensordht22, SensorStream, MensajesAdm, SensorPhStream, SensorHumSueloStream, SensorEcStream
import base64
from src.core.conexion import Conexion2

##################################
############INSTANCIAS############
##################################
luz = ParamikoComando()
#luz.conectar()

humedad = ParamikoComando()
#humedad.conectar()

riego = ParamikoComando()
#riego.conectar()

#intractor = ParamikoComando()#modificar
ec_down = ParamikoComando()

#extractor = ParamikoComando()#modificar
ec_up = ParamikoComando()

#ventilador = ParamikoComando()#modificar
Пример #12
0
from werkzeug.utils import secure_filename
from src import app, db
from src.core.forms import Ejecutar, Seleccionar, Parar, IndoorForm, AutomaticForm, TrabajandoForm, MensajeAdminForm
import paramiko
import time
from time import sleep
from datetime import datetime
import os
from src.comando import ParamikoComando
from src.models import Configuracion, Historial, Luna, Sensordht22, SensorStream, MensajesAdm, SensorPhStream, SensorHumSueloStream
import base64
from src.core.conexion import Conexion2
##################################
############INSTANCIAS############
##################################
luz = ParamikoComando()
#luz.conectar()

humedad = ParamikoComando()
#humedad.conectar()

riego = ParamikoComando()
#riego.conectar()

intractor = ParamikoComando()  #modificar
#intractor_extractor = ParamikoComando()
#ventilacion.conectar()

extractor = ParamikoComando()  #modificar
#ec_up = ParamikoComando()
#extractor.conectar()