Misiones

Subida de archivos

Fotos y videos

Después de terminada la misión en cualquiera de los tipos, el software hace un barrido de los archivos provenientes de la cámara (Videos y Fotos). Estos archivos pudieron ser creados automáticamente por el tipo de ruta (polígono) o pudieron ser creados por el usuario. La compilación de los archivos se crea dentro de zip que será subido a un bucket de AWS (mission-files-from-device) con los permisos de solo escritura para mantener la seguridad. Dentro del bucket el zip se alojará dentro de la carpeta {id_device}/media, donde id_device es el id del dispositivo proveniente de ThingsBoard, además de tener la siguiente notación: {tipo_camara}_{tipo_vuelo}-{id_vuelo}.zip.

Después de ser subido el zip, los procesos consecuentes serán manejados por AWS de la siguiente manera:

  • Hay un trigger en el bucket de subida, el cual lanza una función lambda que se encargará de:
    • Hacer unzip de los archivos.

    • Mover archivos a las carpetas de los vuelos haciendo distinción entre videos y fotos. El lugar a donde se subirá depende de el id del dispositivo y el vuelo realizado, el path es el siguiente:

      • {id_device}/vuelos/{tipo_vuelo}-{id_vuelo}/{id_vuelo}-{índice_foto}.jpg

      • {id_device}/media/{id_vuelo}/{id_vuelo}-{índice_foto}.mp4

    • Hacer la compresión de las fotos para mostrarlas como thumbnail.
      • {id_device}/minified/{tipo_vuelo}-{id_vuelo}/{id_vuelo}-{índice_foto}.jpg

    • Si el tipo de ruta es de polígono, se mandarán las fotos a ser procesadas para despues obtener los resultados y ser mostrados.