Exemplo n.º 1
0
def verEspectro():
    data = request.get_json()
    data['errorBd'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    waypointSeleccionado = data['waypointSeleccionado']
    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(nombreMisionCrear)
        idMision = mision.id

        daoWaypoints = DaoWaypoints(conn)
        wayp = daoWaypoints.getWaypointByNumber(waypointSeleccionado, idMision)
        idWayp = wayp.id

        daoEspway = DaoEspway(conn)
        espway = daoEspway.getEspwayWaypoint(idWayp)
        idEspectro = espway.espectros_id

        daoEspectros = DaoEspectros(conn)
        espectro = daoEspectros.getEspectros(idEspectro)
        resultado = espectro.resultado
        conn.close()

        b = makeImageC(resultado, 1)

        with open(b, "rb") as image_file:
            encoded_string = base64.b64encode(image_file.read())
            encoded_string = encoded_string.decode("utf-8")
        data['espectroC'] = encoded_string
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    finally:
        return json.dumps(data)
Exemplo n.º 2
0
def crearMision():
    global velocidad
    data = request.get_json()
    data['errorBd'] = ""
    nombreUsuario = data["nombreUsuario"]
    nombreMisionCrear = data["nombreMisionCrear"]
    elevacion = data["elevacion"]
    velocidad = data["velocidad"]
    modo_vuelo = data["modoVuelo"]
    modo_adq = data["modoAdquisicion"]

    print("nombremision = " + nombreMisionCrear + " " + "elevacion = " + elevacion + " " + "velocidad = " + velocidad + " " + "modoVuelo = " + modo_vuelo + " " + "Modo de Adquisicion =" + modo_adq)
    
    try:
        conn = conexion()
        daoUsuarios = DaoUsuarios(conn)
        usuario = daoUsuarios.getUsuarioNombre(nombreUsuario)
        idUsuario = usuario.id
        mision = Mision()
        mision.nombre = nombreMisionCrear
        mision.elevacion = elevacion
        mision.velocidad = velocidad
        mision.modo_vuelo = modo_vuelo
        mision.modo_adq = modo_adq
        mision.usuarios_id = idUsuario
        daoMision = DaoMision(conn)
        mision = daoMision.guardarMision(mision)
        conn.close()
        if mision == None:
           data['errorBd'] = "T" 
    except:
        data['errorBd'] = "T"
        print("error en BD")
    print(data.get('errorBd'))
    return json.dumps(data)
Exemplo n.º 3
0
 def crearMision(nombre, elevacion, velocidad, modo_vuelo, modo_adq,
                 nombre_usuario):
     data = {}
     data['errorBd'] = ""
     try:
         conn = Conexion.conexion()
         daoUsuarios = DaoUsuarios(conn)
         usuario = daoUsuarios.getUsuarioNombre(nombre_usuario)
         idUsuario = usuario.id
         mision = Mision()
         mision.nombre = nombre
         mision.elevacion = elevacion
         mision.velocidad = velocidad
         mision.modo_vuelo = modo_vuelo
         mision.modo_adq = modo_adq
         mision.usuarios_id = idUsuario
         daoMision = DaoMision(conn)
         mision = daoMision.guardarMision(mision)
         conn.close()
         if mision == None:
             data['errorBd'] = "T"
     except:
         data['errorBd'] = "T"
         print("error en BD")
     return json.dumps(data)
Exemplo n.º 4
0
def seleccionarMision():
    data = request.get_json()
    data['errorBd'] = ""
    data['waypointsList'] = ""
    misionSeleccionada = data['misionSeleccionada']
    numWaypoints = []
    try:
        # Obtengo ID de mision
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(misionSeleccionada)
        idMision = mision.id

        # Obtengo lista IDs sensores 201, 202, 203
        daoSensores = DaoSensores(conn)
        sensores = daoSensores.getSensoresMision(idMision)

        # Por cada ID de sensores obtengo ID de espectros 137, 138, 139
        for i in range(len(sensores)):
            daoEspectros = DaoEspectros(conn)
            espectros = daoEspectros.getEspectrosSensores(sensores[i])

            # Por cada ID de espectros retorno el RESULTADO del espectro
            # y verifico si está vacío
            for j in range(len(espectros)):
                espectro = daoEspectros.getEspectros(espectros[j])
                idEspectro = espectro.id
                print(idEspectro)
                resultado = espectro.resultado

                # Si está vació borro el waypoint, y el espectro
                # CASCADE espway
                if len(resultado) == 0:
                    daoEspway = DaoEspway(conn)
                    espway = daoEspway.getEspwayEspectro(idEspectro)
                    print("llego al if")
                    if espway == None:
                        print("if")
                        daoEspectros.borrarEspectros(idEspectro)
                    else:
                        print("else")
                        idWaypoint = espway.waypoints_id
                        daoWaypoints = DaoWaypoints(conn)
                        daoWaypoints.borrarWaypoint(idWaypoint)
                        daoEspectros.borrarEspectros(idEspectro)

        daoWaypoints = DaoWaypoints(conn)
        waypointsList = daoWaypoints.getAllWaypoints(idMision)
        for i in range(0, len(waypointsList)):
            numWaypoints.append(str(waypointsList[i].num_waypoint))
        conn.close()
        data['waypoints'] = numWaypoints
        pass
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    finally:
        return json.dumps(data)
Exemplo n.º 5
0
def guardarTodos():
    data = request.get_json()
    data['errorBd'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    ruta = str(data['ruta'])
    usuario = str(data['usuario'])
    try:
        if os.path.isdir(ruta):
            data['errorCarpeta'] = ""
            idsWaypoints = []
            idsEspectros = []
            latlonsWaypoints = []
            conn = conexion()
            daoMision = DaoMision(conn)
            mision = daoMision.getMisionNombre(nombreMisionCrear)
            idMision = mision.id
            altura = mision.elevacion
            daoWaypoints = DaoWaypoints(conn)
            waypointsList = daoWaypoints.getAllWaypoints2(idMision)
            for i in range(0, len(waypointsList)):
                idsWaypoints.append(waypointsList[i].id)
                latlonsWaypoints.append(waypointsList[i].latlon)
            print(idsWaypoints)

            for i in range(0, len(idsWaypoints)):
                daoEspway = DaoEspway(conn)
                espway = daoEspway.getEspwayWaypoint(idsWaypoints[i])
                idEspectro = espway.espectros_id
                idsEspectros.append(idEspectro)
            print(idsEspectros)

            for i in range(0, len(idsEspectros)):
                latlons = latlonsWaypoints[i].split(",")
                rutaG = ruta
                daoEspectros = DaoEspectros(conn)
                espectro = daoEspectros.getEspectros(idsEspectros[i])
                resultado = espectro.resultado
                rutaG += "/Usuario("+usuario+")"+"Mision("+nombreMisionCrear+")"+ "WaypointNumber("+str(i)+")"
                print(rutaG)
                generate(resultado, rutaG, float(latlons[0]), float(latlons[1]), altura)

                # generate(resultado, rutaG, float(latlons[0]), float(latlons[1]), 5)
            conn.close()
        else:
            data['errorCarpeta'] = "T"
        # with open("D:/Tesis/Api/Flask/imagenEspectroC2.png", "rb") as image_file:
        #     encoded_string = base64.b64encode(image_file.read())
        #     encoded_string = encoded_string.decode("utf-8")
        # data['espectroR'] = encoded_string
        pass
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    return json.dumps(data)
Exemplo n.º 6
0
def guardarTodos():
    data = request.get_json()
    data['errorBd'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    ruta = str(data['ruta'])
    filePath = FileManagement.to_relative(ruta)
    usuario = str(data['usuario'])
    try:
        if os.path.isdir(filePath):
            data['errorCarpeta'] = ""
            idsWaypoints = []
            idsEspectros = []
            latlonsWaypoints = []
            conn = conexion()
            daoMision = DaoMision(conn)
            mision = daoMision.getMisionNombre(nombreMisionCrear)
            idMision = mision.id
            altura = mision.elevacion
            daoWaypoints = DaoWaypoints(conn)
            waypointsList = daoWaypoints.getAllWaypoints2(idMision)
            print(waypointsList[0].id, waypointsList[1].id)  #272" lista de obj
            for i in range(0, len(waypointsList)):
                idsWaypoints.append(waypointsList[i].id)
                latlonsWaypoints.append(waypointsList[i].latlon)
            print(idsWaypoints)  #
            print("J")
            print(latlonsWaypoints)
            for i in range(0, len(idsWaypoints)):
                daoEspway = DaoEspway(conn)
                espway = daoEspway.getEspwayWaypoint(idsWaypoints[i])
                idEspectro = espway.espectros_id
                idsEspectros.append(idEspectro)

            for i in range(0, len(idsEspectros)):
                latlons = latlonsWaypoints[i].split(",")
                rutaG = filePath
                daoEspectros = DaoEspectros(conn)
                espectro = daoEspectros.getEspectros(idsEspectros[i])
                resultado = espectro.resultado
                rutaG += "/Usuario(" + usuario + ")" + "Mision(" + nombreMisionCrear + ")" + "WaypointNumber(" + str(
                    i) + ")"
                # filePath = FileManagement.to_relative(rutaG)
                generate(resultado, rutaG, float(latlons[0]),
                         float(latlons[1]), altura)
            conn.close()
        else:
            data['errorCarpeta'] = "T"
    except Exception as errorBd:
        data['errorBd'] = "T"
        print("Error en guardarTodos: ", errorBd)
        raise errorBd
    finally:
        return json.dumps(data)
Exemplo n.º 7
0
def borrarMision():
    data = request.get_json()
    misionSeleccionada = data['misionSeleccionada']
    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(misionSeleccionada)
        idMision = mision.id
        daoMision.borrarMision(idMision)
        conn.close()
        data['errorBd'] = "F"
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    finally:
        return json.dumps(data)
Exemplo n.º 8
0
def guardarEspectro():
    data = request.get_json()
    data['errorBd'] = ""
    data['waypointsList'] = ""
    data['espectroC'] = ""
    data['espectroR'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    waypointSeleccionado = data['waypointSeleccionado']
    ruta = str(data['ruta'])
    usuario = str(data['usuario'])
    print(waypointSeleccionado)
    try:
        if os.path.isdir(ruta):
            conn = conexion()
            daoMision = DaoMision(conn)
            mision = daoMision.getMisionNombre(nombreMisionCrear)
            idMision = mision.id
            altura = mision.elevacion
            daoWaypoints = DaoWaypoints(conn)
            wayp = daoWaypoints.getWaypointByNumber(waypointSeleccionado, idMision)
            idWayp = wayp.id
            latlon = wayp.latlon
            latlon = latlon.split(",")

            daoEspway = DaoEspway(conn)
            espway = daoEspway.getEspwayWaypoint(idWayp)
            idEspectro = espway.espectros_id

            daoEspectros = DaoEspectros(conn)
            espectro = daoEspectros.getEspectros(idEspectro)
            resultado = espectro.resultado
            conn.close()
            ruta += "/Usuario("+usuario+")"+"Mision("+nombreMisionCrear+")"+ "Waypoint("+waypointSeleccionado+")"
            print(ruta)
            generate(resultado, ruta, float(latlon[0]), float(latlon[1]), altura)
            # generate(resultado, ruta, float(latlon[0]), float(latlon[1]), 5)
            # makeImageG(resultado, ruta, float(latlon[0]), float(latlon[1]), 5)
            # with open("D:/Tesis/Api/Flask/imagenEspectroC2.png", "rb") as image_file:
            #     encoded_string = base64.b64encode(image_file.read())
            #     encoded_string = encoded_string.decode("utf-8")
            # data['espectroR'] = encoded_string
        else:
            data['errorCarpeta'] = "T"
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    return json.dumps(data)
Exemplo n.º 9
0
def descargarInfo():
    data = request.get_json()
    nombreUsuario = data['user']
    password = data['password']
    data = {}
    data['errorBd'] = ""
    nombreMisiones = []

    conn = conexion()
    daoUsuarios = DaoUsuarios(conn)
    usuario = daoUsuarios.getUsuarioLogin(nombreUsuario, password)
    idUsuario = usuario.id

    daoMision = DaoMision(conn)
    misiones = daoMision.getAllMision(idUsuario)
    data['misiones']= misiones
    return json.dumps(data)
Exemplo n.º 10
0
def guardarTodos():
    data = request.get_json()
    data['errorBd'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    ruta = str(data['ruta'])
    usuario = str(data['usuario'])
    try:
        idsWaypoints = []
        idsEspectros = []
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(nombreMisionCrear)
        idMision = mision.id
        daoWaypoints = DaoWaypoints(conn)
        waypointsList = daoWaypoints.getAllWaypoints2(idMision)
        for i in range(0, len(waypointsList)):
            idsWaypoints.append(waypointsList[i].id)
        print(idsWaypoints)

        for i in range(0, len(idsWaypoints)):
            daoEspway = DaoEspway(conn)
            espway = daoEspway.getEspwayWaypoint(idsWaypoints[i])
            idEspectro = espway.espectros_id
            idsEspectros.append(idEspectro)
        print(idsEspectros)

        for i in range(0, len(idsEspectros)):
            rutaG = ruta
            daoEspectros = DaoEspectros(conn)
            espectro = daoEspectros.getEspectros(idsEspectros[i])
            resultado = espectro.resultado
            rutaG += "/Usuario(" + usuario + ")" + "Mision(" + nombreMisionCrear + ")" + "WaypointNumber(" + str(
                i) + ")" + ".png"
            print(rutaG)
            makeImageG(resultado, rutaG)
        conn.close()

        # with open("D:/Tesis/Api/Flask/imagenEspectroC2.png", "rb") as image_file:
        #     encoded_string = base64.b64encode(image_file.read())
        #     encoded_string = encoded_string.decode("utf-8")
        # data['espectroR'] = encoded_string
        pass
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    return json.dumps(data)
Exemplo n.º 11
0
def seleccionarMision():
    data = request.get_json()
    data['errorBd'] = ""
    data['waypointsList'] = ""
    misionSeleccionada = data['misionSeleccionada']
    numWaypoints = []

    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(misionSeleccionada)
        idMision = mision.id

        # stringsql = """SELECT * FROM mision WHERE nombre='%s';""" %(misionSeleccionada)
        # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******")
        # cur = conn.cursor()
        # cur.execute(stringsql)
        # idMision = cur.fetchall()[0][0]
        # print(idMision)
        # cur.close()
        # conn.close()
        daoWaypoints = DaoWaypoints(conn)
        waypointsList = daoWaypoints.getAllWaypoints(idMision)
        for i in range(0, len(waypointsList)):
            numWaypoints.append(str(waypointsList[i].num_waypoint))
        # stringsql = """SELECT latlon FROM waypoints WHERE mision_id='%s';""" %(idMision)
        # print(stringsql)
        # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******")
        # cur = conn.cursor()
        # cur.execute(stringsql)
        # waypointsList = (cur.fetchall())
        # waypointsList = (cur.fetchall())
        # for i in range (0, len(waypointsList)):
        #     nombreWaypoints.append(waypointsList[i][1])
        # print(nombreWaypoints)
        print(numWaypoints)
        conn.close()
        data['waypoints'] = numWaypoints
        pass
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    return json.dumps(data)
Exemplo n.º 12
0
def waypointsDB(nombreMisionCrear):
    latlon = valores_waypoints.lat + "," + valores_waypoints.lon
    print(latlon)
    conn = conexion()
    daoMision = DaoMision(conn)
    daoWaypoints = DaoWaypoints(conn)

    mision = daoMision.getMisionNombre(nombreMisionCrear)
    idMision = mision.id
    wayp = Waypoints()
    wayp.num_waypoint = valores_waypoints.numeroWaypoint
    wayp.latlon = latlon
    wayp.mision_id = idMision
    wayp = daoWaypoints.guardarWaypoint(wayp)
    id_waypoints = wayp.id

    valores_waypoints.id_waypointsList.append(id_waypoints)

    conn.close()
    valores_waypoints.numeroWaypoint += 1
    return id_waypoints
Exemplo n.º 13
0
def guardarEspectro():
    data = request.get_json()
    data['errorBd'] = ""
    nombreMisionCrear = data['nombreMisionCrear']
    waypointSeleccionado = data['waypointSeleccionado']
    ruta = str(data['ruta'])
    usuario = str(data['usuario'])
    filePath = FileManagement.to_relative(ruta)
    try:
        if os.path.isdir(filePath):
            conn = conexion()
            daoMision = DaoMision(conn)
            mision = daoMision.getMisionNombre(nombreMisionCrear)
            idMision = mision.id
            altura = mision.elevacion
            daoWaypoints = DaoWaypoints(conn)
            wayp = daoWaypoints.getWaypointByNumber(waypointSeleccionado,
                                                    idMision)
            idWayp = wayp.id
            latlon = wayp.latlon.split(",")

            daoEspway = DaoEspway(conn)
            espway = daoEspway.getEspwayWaypoint(idWayp)
            idEspectro = espway.espectros_id

            daoEspectros = DaoEspectros(conn)
            espectro = daoEspectros.getEspectros(idEspectro)
            resultado = espectro.resultado
            conn.close()
            filePath += "/Usuario(" + usuario + ")" + "Mision(" + nombreMisionCrear + ")" + "Waypoint(" + waypointSeleccionado + ")"
            generate(resultado, filePath, float(latlon[0]), float(latlon[1]),
                     altura)
        else:
            data['errorCarpeta'] = "T"
    except Exception as errorBd:
        data['errorBd'] = "T"
        raise errorBd
    finally:
        return json.dumps(data)
Exemplo n.º 14
0
def calibrarSensores():
    #la calibración de todos los sensores es simultanea para tener concordancia de datos
    global idSensorTierraVIS, idSensorTierraNIR, idSensorVueloVIS, idSensorVueloNIR
    data = request.get_json()
    data['errorBd'] = ""
    data['errorCalibrarSensoresTierra'] = ""
    data['errorCalibrarSensoresVuelo'] = ""
    nombreMisionCrear = data["nombreMisionCrear"]

    sensorTierraVIS = data["sensorTierraVIS"]
    sensorTierraNIR = data["sensorTierraNIR"]
    sensorVueloVIS = data["sensorVueloVIS"]
    sensorVueloNIR = data["sensorVueloNIR"]

    tiempoIntegracion = data["tiempoIntegracion"]
    numeroCapturas = data["numeroCapturas"]

    print(nombreMisionCrear + "" + sensorTierraVIS + "" + sensorTierraNIR
     + "" + sensorVueloVIS + "" + sensorVueloNIR + "" + tiempoIntegracion + "" + numeroCapturas + "" )
    
    try:
        calibrarSensoresTierra(sensorTierraVIS, sensorTierraNIR, tiempoIntegracion, numeroCapturas)
        data['errorCalibrarSensoresTierra']= "A"
        pass
    except Exception as errorCalibrarSensoresTierra:
        data['errorCalibrarSensoresTierra']= "T"
        # raise errorCalibrarSensoresTierra
        return json.dumps(data)
    
    try:
        calibrarSensoresVuelo(sensorVueloVIS, sensorVueloNIR, tiempoIntegracion, numeroCapturas)
        data['errorCalibrarSensoresVuelo']= "A"
        pass
    except Exception as errorCalibrarSensoresVuelo:
        data['errorCalibrarSensoresTierra']= "T"
        # raise errorCalibrarSensoresVuelo
        return json.dumps(data)

    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(nombreMisionCrear)
        idMision = mision.id
        sensorTV = Sensores()
        sensorTV.lugar = "T"
        sensorTV.tipo = "V"
        sensorTV.numero_serie = sensorTierraVIS
        sensorTV.t_int = tiempoIntegracion
        sensorTV.numero_capt = numeroCapturas
        sensorTV.mision_id = idMision
        daoSensores = DaoSensores(conn)
        sensorTV = daoSensores.guardarSensores(sensorTV)
        idSensorTierraVIS = sensorTV.id
        
        sensorTN = Sensores()
        sensorTN.lugar = "T"
        sensorTN.tipo = "N"
        sensorTN.numero_serie = sensorTierraNIR
        sensorTN.t_int = tiempoIntegracion
        sensorTN.numero_capt = numeroCapturas
        sensorTN.mision_id = idMision
        sensorTN = daoSensores.guardarSensores(sensorTN)
        idSensorTierraNIR = sensorTN.id

        sensorVV = Sensores()
        sensorVV.lugar = "V"
        sensorVV.tipo = "V"
        sensorVV.numero_serie = sensorVueloVIS
        sensorVV.t_int = tiempoIntegracion
        sensorVV.numero_capt = numeroCapturas
        sensorVV.mision_id = idMision
        sensorVV = daoSensores.guardarSensores(sensorVV)
        idSensorVueloVIS = sensorVV.id

        sensorVN = Sensores()
        sensorVN.lugar = "V"
        sensorVN.tipo = "N"
        sensorVN.numero_serie = sensorVueloNIR
        sensorVN.t_int = tiempoIntegracion
        sensorVN.numero_capt = numeroCapturas
        sensorVN.mision_id = idMision
        sensorVN = daoSensores.guardarSensores(sensorVN)
        idSensorVueloNIR = sensorVN.id
        conn.close()

    except Exception as errorBdCal:
        data['errorBd'] = "T"
        print("error en BD")
        raise errorBdCal
        return json.dumps(data)    
    print(data.get('errorBd')+ "," + data.get('errorCalibrarSensoresTierra') + "," + data.get('errorCalibrarSensoresVuelo'))
    return json.dumps(data)
Exemplo n.º 15
0
def obtenerTelemetria():
    global waypointActual, lat, lon
    data = request.get_json()
    nombreMisionCrear = data["nombreMisionCrear"]
    # flagPausar = data["flagPausar"]
    # flagDetener = data["flagDetener"]
    # flagReanudar = data["flagReanudar"]
    data = {}
    data['errorBd'] = ""
    # ------------------LLAMADA A DRONE.PY---------------
    a, b, c, d, e, f, g, h, i, j, k = telem()
    # ---------------------------------------------------
    waypointActual = f
    posicionDron = str(a)
    posicionDron = posicionDron.split(":")[1]
    posicionDron = posicionDron.split(",")
    lat = posicionDron[0].split("=")[1]
    lon = posicionDron[1].split("=")[1]
    alt = posicionDron[2].split("=")[1]
    print('Position: %s'% posicionDron)
    print("Armado? " + g)
    # print('Position: %s'% vehicle.location.global_relative_frame)
    # print(lat)
    # print(lon)
    # print(alt)

    #- Read the actual attitude roll, pitch, yaw
    actitudDron = str(b)
    actitudDron = actitudDron.split(":")[1]
    actitudDron = actitudDron.split(",")
    pitch = round(float(actitudDron[0].split("=")[1]), 5)
    yaw = round(float(actitudDron[1].split("=")[1]), 5)
    roll = round(float(actitudDron[2].split("=")[1].upper()), 5)
    # print(pitch)
    # print(yaw)
    # print(roll)

    #- Read the actual velocity (m/s)
    velocidadDron = str(c)[0:4]
    # print('Velocity: %s'% velocidadDron)
    # print(velocidadDron)

    bateriaDron = str(d)
    bateriaDron = bateriaDron.split("=")[3]
    # print('Battery: %s'%bateriaDron)
    # print(bateriaDron)
    # print(h)
    if int(h) <= 10:
        data['flagBatt'] = "T"
    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(nombreMisionCrear)
        idMision = mision.id
        telemetria = Telemetria()
        telemetria.pitch = pitch
        telemetria.yaw = yaw
        telemetria.roll = roll
        telemetria.lat = lat
        telemetria.lon = lon
        telemetria.alt = alt
        telemetria.bateriaDron = bateriaDron
        telemetria.velocidadDron = velocidadDron
        telemetria.mision_id = idMision
        daoTelemetria = DaoTelemetria(conn)
        telemetria = daoTelemetria.guardarTelemetria(telemetria)
        conn.close()
        pass
    except:
        data['errorBd'] = "T"
        print("error en BD")
    print(data.get('errorBd'))

    data['lat'] = lat
    data['lon'] = lon
    data['alt'] = alt
    data['pitch'] = pitch
    data['yaw'] = yaw
    data['roll'] = roll
    data['velocidadDron'] = velocidadDron
    data['bateriaDron'] = bateriaDron

    data['senalCaptura'] = e
    data['waypActual'] = f
    data['armado'] = g
    data['conectado']= i
    data['capturando']= j
    data['flagTerminar'] = k

    if(sumaBlanco != 0.0):
        if(sumaCapturado != 0.0):
            porcentageIrr = round(sumaCapturado*100/sumaBlanco, 2)
            porcentageIrr = str(porcentageIrr)
            data['porcentageIrr'] = str(porcentageIrr)+"%"
        else:
            data['porcentageIrr'] = "Indef"
    else:
        data['porcentageIrr'] = "Indef"
    return json.dumps(data)
Exemplo n.º 16
0
def obtenerTelemetria():
    data = request.get_json()
    nombreMisionCrear = data["nombreMisionCrear"]
    data = {}
    data['errorBd'] = ""
    # ------------------LLAMADA A DRONE.PY---------------
    dicTelem = telem()
    # ---------------------------------------------------
    posicionDron = str(dicTelem["posicionDron"])
    valores_waypoints.waypointActual = dicTelem["waypointActual"]
    actitudDron = str(dicTelem["actitudDron"])
    velocidadDron = str(dicTelem["velocidadDron"])[0:4]
    bateriaDron = str(dicTelem["bateriaDron"])
    senalCaptura = dicTelem["senalCaptura"]
    armado = dicTelem["armado"]
    batteryLevel = dicTelem["batteryLevel"]
    dronConectado = dicTelem["dronConectado"]
    capturando = dicTelem["capturando"]
    flagTerminar = dicTelem["flagTerminar"]

    posicionDron = posicionDron.split(":")[1]
    posicionDron = posicionDron.split(",")
    valores_waypoints.lat = posicionDron[0].split("=")[1]
    valores_waypoints.lon = posicionDron[1].split("=")[1]
    alt = posicionDron[2].split("=")[1]
    print('Position: %s' % posicionDron)

    #- Read the actual attitude roll, pitch, yaw
    actitudDron = actitudDron.split(":")[1]
    actitudDron = actitudDron.split(",")
    pitch = round(float(actitudDron[0].split("=")[1]), 5)
    yaw = round(float(actitudDron[1].split("=")[1]), 5)
    roll = round(float(actitudDron[2].split("=")[1].upper()), 5)
    bateriaDron = bateriaDron.split("=")[3]
    if int(batteryLevel) <= limiteBateria:
        data['flagBatt'] = "T"
    try:
        conn = conexion()
        daoMision = DaoMision(conn)
        mision = daoMision.getMisionNombre(nombreMisionCrear)
        idMision = mision.id
        telemetria = Telemetria()
        telemetria.pitch = pitch
        telemetria.yaw = yaw
        telemetria.roll = roll
        telemetria.lat = valores_waypoints.lat
        telemetria.lon = valores_waypoints.lon
        telemetria.alt = alt
        telemetria.bateriaDron = bateriaDron
        telemetria.velocidadDron = velocidadDron
        telemetria.mision_id = idMision
        daoTelemetria = DaoTelemetria(conn)
        telemetria = daoTelemetria.guardarTelemetria(telemetria)
        conn.close()
        pass
    except:
        data['errorBd'] = "T"
        print("error en BD")
        return json.dumps(data)

    data['lat'] = valores_waypoints.lat
    data['lon'] = valores_waypoints.lon
    data['alt'] = alt
    data['pitch'] = pitch
    data['yaw'] = yaw
    data['roll'] = roll
    data['velocidadDron'] = velocidadDron
    data['bateriaDron'] = bateriaDron

    data['senalCaptura'] = senalCaptura
    data['waypActual'] = valores_waypoints.waypointActual
    data['armado'] = armado
    data['conectado'] = dronConectado
    data['capturando'] = capturando
    data['flagTerminar'] = flagTerminar

    if (valores_sensores.sumaBlanco != 0.0):
        if (valores_sensores.sumaCapturado != 0.0):
            porcentageIrr = round(
                valores_sensores.sumaCapturado * 100 /
                valores_sensores.sumaBlanco, 2)
            porcentageIrr = str(porcentageIrr)
            data['porcentageIrr'] = str(porcentageIrr) + "%"
        else:
            data['porcentageIrr'] = "Indef"
    else:
        data['porcentageIrr'] = "Indef"
    try:
        data['errorBdCapturaContinua'] = valores_sensores.errorBdGlobal
        data['errorCalCapturaContinua'] = valores_sensores.errorCalGlobal
        data['errorCapturaContinua'] = valores_sensores.errorCapturaGlobal
        data['enCapturaContinua'] = valores_sensores.enCapturaContinua
    except Exception as e:
        return json.dumps(data)
        raise e

    return json.dumps(data)
Exemplo n.º 17
0
from Daos.AccesoDatos.DaoSensores import DaoSensores
from Daos.AccesoDatos.Logica.Sensores import Sensores

from Daos.AccesoDatos.DaoWaypoints import DaoWaypoints
from Daos.AccesoDatos.Logica.Waypoints import Waypoints

from Daos.AccesoDatos.DaoEspectros import DaoEspectros
from Daos.AccesoDatos.Logica.Espectros import Espectros

from Daos.AccesoDatos.DaoEspway import DaoEspway
from Daos.AccesoDatos.Logica.Espway import Espway
nombreMisionCrear = "201"
waypointSeleccionado = 0
conn = conexion()
daoMision = DaoMision(conn)
mision = daoMision.getMisionNombre(nombreMisionCrear)
idMision = mision.id
print(idMision)
daoWaypoints = DaoWaypoints(conn)
wayp = daoWaypoints.getWaypointByNumber(waypointSeleccionado, idMision)
idWayp = wayp.id
print(idWayp)
daoEspway = DaoEspway(conn)
espway = daoEspway.getEspwayWaypoint(idWayp)
idEspectro = espway.espectros_id
print(idEspectro)

daoEspectros = DaoEspectros(conn)
espectro = daoEspectros.getEspectros(idEspectro)
capturado = espectro.capturado