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.