No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Software integrado en un satélite

9/12
Recursos

Aportes 10

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Es impresionante la cantidad de trabajo que involucra el lanzamiento de un nano satélite, pero mas asombroso que hoy en día un pequeño equipo sea capaz de realizar esta proeza.

venezolanos en el mundo haciendo cosas buenas. Que bueno. Que orgullo

Es la primera parte del curso que puedo entender ligeramente jajajaja

Ofrecen un array de servicios grandes por lo visto. Pensé que simplemente ofrecían el satélite y que ya cada empresa se encargaba de la comunicación y obtención de datos.

Tiene sentido que sea más completo todo

  • 💻 El equipo de software tiene la responsabilidad de integrar el trabajo de todos los demás departamentos, programando los microcontroladores del satélite.
  • 📊 Su objetivo principal es mostrar y controlar las operaciones del satélite en “tiempo real”.
  • 🌐 Para el desarrollo del front-end, se utilizan principalmente HTML, CSS y JavaScript. Para las APIs, se trabaja con Python (Flask) y se utiliza MySQL como base de datos.
  • ⌨️ El software del satélite se programa principalmente en C++.
  • 🚀 Para poner el código en producción, se sigue un proceso en el cual primero se desarrolla un programa que cumpla con los requisitos necesarios del satélite. Luego, se realiza una prueba exhaustiva utilizando un programa de testing para verificar su correcto funcionamiento. Finalmente, se genera un archivo binario que se carga en el satélite.
  • 🛰️ La mayor dificultad al programar el satélite radica en analizar y anticipar todos los posibles fallos que pueden ocurrir en el espacio, ya que el satélite debe seguir funcionando a pesar de ellos.
  • 🌍 En cuanto al software externo al satélite, el mayor desafío es desarrollar un programa escalable que pueda gestionar una constelación de 80 satélites y múltiples estaciones terrestres.
  • 📏 Aunque es posible realizar cambios en el software del satélite, la limitación más importante es el hardware, por ejemplo, no se pueden incluir sensores que no estén presentes en el satélite en el espacio.
  • 🔧 Las actualizaciones del software deben ser compatibles con las características ya construidas en tierra, garantizando la correcta integración con los sistemas existentes.
Todo surgió con una idea y mucha pasión… luego trabajo duro y mucha lectura aplicada. Felicitaciones a FOSSA y agradecimientos a PLATZI por permitirnos seguir soñando despiertos.

Pequeño detalle, la mayoria de los que hablaron del equipo de Fossa tienen un master en algo!

Software integrado en un satélite


Ahora hablemos del software que hace mover a los satélites de FOSSA:

En el equipo de software se hace la integración de todo el trabajo que hacen los demás departamentos, esa programación que es necesaria para que todo funcione en armonía y sincronía.


Programación del satelite

Cesar Vera Moreno - Software Engineer, es parte del equipo de software en FOSSA. El estudio Ingeniera Electrónica en Venezuela, después hizo un máster en Sistemas Electrónicos en Madrid

Se dedica a la programación de dispositivos embebidos (microcontroladores, microprocesadores), que trabajan en el satelite, también trabaja en la programación de sensores y actuadores para cumplir con los requisitos de la misión.

Las tecnologías que se usan son:

  • Se programan con C++
  • Los satélites tienen su propia red local para que todos los componentes mantengan comunicación. El protocolo que se usa es CAN (Controller Area Network)

Como se hace push al satelite:

Para el proceso de desarrollo también se hace uso de repositorios. Para mandar código a producción el proceso es algo así:

  1. Lo primero que se tiene que hacer un Software/aplicación central que cumpla ciertos requisitos, después
  2. Pasa por una trasa de requisitos (un sistema de Unit Testing), este proceso pasa cada vez que se hace un commit, es un proceso automatizado. Si pasan las pruebas, al final
  3. Se procede a generar un archivo binario que se envía al satélite para que se actualice.

Uno de los retos más difíciles es hacer análisis de todos los posibles escenarios que puede sufrir el satelite, cualquier cosa podría fallar. Entonces hay que aislar todos los posibles fallos, responder a estos fallos, programar defensivamente (interesante concepto).

“El satelite tiene que seguir funcionando a pesar de todo” - FOSSA team

Actualizaciones

Es posible realizar cambios en el software del satélite, la limitación más importante es el hardware (no se pueden incluir sensores que no estén presentes en el satélite en el espacio).


Programación en tierra

Belén Jiménez García - Software Engineer, es parte del equipo de software en FOSSA. Ella estudió Ingeniería en Telecomunicaciones.

Su trabajo empieza en donde termina el de Cesar, conectando todas las partes que se han mencionado, (conectar el satélite con la estación en tierra y después a los servidores para poder tener toda esa comunicación, por ejemplo). Que los demás departamentos puedan ver que está pasando con los satélites, hacer que se puedan comunicar con los satélites y recibir su información y poder guardarla.

Los datos por lo regular llegan a APIs para después pasarse a una base de datos, y al final poder mostrar esa información.

Las tecnologías que se usan son:

  • Frontend: HTML, CSS y JavaScript puro (no frameworks).
  • APIs: Python (Flask).
  • Bases de datos: MySQL.
  • Servidores: Se usa un sistema híbrido, tanto locales como en la nube.

Uno de los retos más difíciles es la escalabilidad, ya que con los “pocos” satélites lanzados se tiene que tener todo operando al cien, será más complicado cuando se tengan aún más satélites en órbita.

Actualizaciones

Las actualizaciones del software deben ser compatibles con las características ya construidas en tierra, garantizando la correcta integración con los sistemas existentes.

El cesar Vera Moreno (Software Enginner). No mas de escuarlo se ve que sabe de lo que habla.

graacias