Diseño, desarrollo y despliegue de un módulo de actualización de software en un sistema embebido
Design, development and deploy of an update module for the software of an embedded system
Ver/ Abrir
Identificadores
URI: https://hdl.handle.net/10902/36811Registro completo
Mostrar el registro completo DCAutoría
Domínguez Martínez, PaulaFecha
2025-03-14Director/es
Derechos
© Paula Domínguez Martínez
Disponible después de
2030-03-14
Palabras clave
Actualización de software
Linux
Programación C
Sistema empotrado
Software updates
C programming
Embedded system
Resumen/Abstract
Este TFM se desarrolla sobre un producto de la empresa TTI, una RCU (Remote Control Unit) que dispone de un software de control y monitorización. Este producto permite recoger datos para las funciones de monitorización y control, permitiendo conectar y controlar varios switches y amplificadores de potencia de distintos tipos para establecer redundancias, controlar tensiones, temperaturas, alarmas y eventos que hayan saltado en el sistema, etc., para mantener el sistema en un estado conocido y estable.
El trabajo realizado durante este proyecto es un módulo que permite actualizar los distintos componentes software de este equipo, concretamente la aplicación, la página web a través de la que se interactúa, el protocolo SNMP y otros que se desarrollen e incluyan a futuro, sin necesidad de cambiar este módulo de actualización, que también es actualizable. Todos estos módulos se encuentran en un sistema operativo Linux generado con Yocto.
Las actualizaciones son intuitivas y sencillas para el usuario, dando como resultado un funcionamiento seguro y transparente. De esta forma, la interfaz que tiene el usuario consiste en una pestaña dentro del menú de la página web, que ya es conocida por el usuario, en la que puede cargar un archivo comprimido proporcionado por la empresa TTI y puede consultar las actualizaciones pendientes, permitiendo que se inicie el proceso cuando el usuario que actúa como administrador del dispositivo estime oportuno.
Se ha mantenido la base tecnológica de la RCU, esto es HTML, JavaScript y PHP para la nueva pestaña de la página web, el módulo de actualización que se programa en C, la comunicación a través de un Socket UNIX y los comandos y scripts de bash para ejecutar las actualizaciones sobre Linux.
This project is developed in the company TTI, on a product named RCU which stands for Remote Control Unit. This product has a monitoring and control software that allows the connection and control of various switches and several kinds of power amplifiers to have redundancy, manage voltage and temperature as well as knowing alarms and events produced by the system, and so forth. The point of this software is keeping the system in a known and stable state.
This project aims to design a module that updates the different software components of the product, specifically the app software, the web page where the interaction takes place, and the SNMP protocol. All the aforementioned pieces of software are executed in a Linux-based operating system generated with Yocto. To achieve the goal, this module supports updates for others that may need a latest version or update future components while being able to update itself keeping its structure.
These updates are simple and intuitive for the user, while also being secure and transparent. The web page of the application has a new tab where the user can upload a zipped folder sent by TTI, check pending updates and launch the process at the user’s discretion.
The technologies used in the project are those already implemented in the product. For the new tab in the web page, HTML, JavaScript, and PHP are used. The update module is developed in C and the communication navigates through a UNIX Socket. To execute updates in the operating system, commands and bash scripts are used.