Versión Inicial

This commit is contained in:
2025-04-08 18:38:27 +02:00
parent 661c1a69af
commit 58b7e6ebae
6 changed files with 546 additions and 0 deletions

51
libs/utils.js Normal file
View File

@@ -0,0 +1,51 @@
/**
* Convierte una línea de datos en un objeto
* @param {string} line Línea de datos para convertir a objeto
* @returns {object} Objeto con los datos convertidos
*/
function dataLineToObject(line) {
//Separamos nuestra línea en diferentes trozos usando como separador el ';'
const lineArray = line.split(";");
//Devolvemos un objeto con sus propiedades convertidas
//Usamos el trim() para eliminar los espacios delante y detrás de los valores
//Usamos el parseFloat para convertir esos valores a decimales, ya que son cadenas de texto
//Usamos el parseInt para convertir esos valores a enteros, ya que son cadenas de texto
try {
return {
paquetes: parseInt(lineArray[0].trim()),
temperatura: parseFloat(lineArray[1].trim()),
presion: parseFloat(lineArray[2].trim()),
altitudSegunPresion: parseFloat(lineArray[3].trim()),
nombreEstacion: lineArray[4].trim(),
latitud: parseFloat(lineArray[5].trim()),
longitud: parseFloat(lineArray[6].trim()),
altitudMetros: parseFloat(lineArray[7].trim()),
velocidadKmph: parseFloat(lineArray[8].trim()),
direccionONose: parseFloat(lineArray[9].trim()),
numSatelites: parseInt(lineArray[10].trim()),
datetime: new Date(lineArray[11].trim().replace("Date/Time: ", ""))
};
} catch (error) {
console.error('Error al convertir los datos:', error);
return null;
}
}
/**
* Espera un cierto tiempo, esto sirve para crear temporizadores
* @param {number} ms Milisegundos que hay que esperar
* @returns {Promise<void>}
*/
async function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
// Exportamos las funciones para poder usarlas en otras partes del programa
export {
dataLineToObject,
sleep
}