Csv Data Simulator
Simula datos de sensores de salud leyendo desde un archivo CSV.
Esta clase está diseñada para desarrollo, pruebas y demostraciones, permitiendo que la aplicación funcione como si estuviera conectada a un sensor biométrico real sin necesidad de hardware físico. Lee puntos de datos biométricos de un archivo CSV especificado y los emite a lo largo del tiempo, imitando un flujo de datos en vivo.
El simulador busca el archivo de simulación (simulacion.csv) en las siguientes ubicaciones, en orden de prioridad:
Directorio de almacenamiento interno de la app.
Directorio de almacenamiento externo de la app.
La carpeta pública "Downloads".
La carpeta
assetsde la app (como último recurso).
Formato del archivo CSV
El archivo CSV debe contener una fila de encabezado y filas de datos posteriores. El encabezado debe incluir las siguientes columnas (el orden no es importante, pero los nombres no distinguen mayúsculas y minúsculas): timestamp, heartRate, hrStatus, skinTemp, ambientTemp, accelX, accelY, accelZ, steps.
Se puede incluir una columna opcional ibi para datos de Variabilidad de la Frecuencia Cardíaca (HRV).
Ejemplo:
timestamp,heartRate,hrStatus,skinTemp,ambientTemp,accelX,accelY,accelZ,steps,ibi
1700000000000,72,0,36.5,25.0,0.1,-0.2,-9.8,100,833;820;845Types
Representa un único punto de datos en el tiempo, extraído de una fila del archivo CSV de simulación.
Properties
Indica si la simulación está reproduciéndose
Indica si el modo simulación está activo
Progreso de la simulación (0.0 a 1.0)
Índice actual en la lista de simulación
Callback para datos del acelerómetro
Callback para detección on/off body
Callback para datos de frecuencia cardíaca
Callback para cuando se completa un loop
Callback para conteo de pasos
Callback para datos de temperatura
Velocidad de reproducción (1.0 = normal, 2.0 = doble velocidad)
Lista de puntos de datos cargados del CSV
Job de la corrutina de simulación
Scope para operaciones asíncronas
Functions
Calcula la duración total de la simulación en segundos.
Lee datos de sensor simulados desde un archivo CSV línea por línea y emite cada línea como un String. La función simula un flujo de datos en tiempo real introduciendo un retardo entre las emisiones. Se asegura de que el recurso (el archivo CSV) se cierre correctamente después de su consumo.
Genera una lista de valores sintéticos de Intervalo Entre Latidos (IBI) basados en una frecuencia cardíaca (HR) dada.
Obtiene el número total de loops (repeticiones) que se han completado durante la sesión de simulación actual.
Calcula y devuelve estadísticas básicas para los datos CSV cargados en formato de cadena.
Obtiene la duración total estimada de la simulación en milisegundos.
Inicializa el simulador buscando y cargando datos desde un archivo CSV.
Intenta cargar los datos de simulación desde un archivo CSV ubicado en la carpeta de assets de la aplicación.
Carga y analiza los datos de simulación desde un archivo CSV.
Analiza una sola línea de un archivo CSV.
Analiza una representación en cadena de texto (String) de una lista de IBI (Intervalo Entre Latidos) y la convierte en una lista de enteros (List
Pausa la simulación de datos en curso.
Recarga los datos del archivo CSV. Útil si el archivo puede haber cambiado durante la ejecución.
Reinicia los contadores relacionados con el modo de bucle (loop).
Reanuda una simulación de datos que fue pausada.
Determina si los datos deben recargarse en cada loop. Útil si el archivo CSV puede cambiar durante la ejecución.
Detiene la simulación de datos en curso.
Valida la cabecera (header) de un archivo CSV.