Mohyeldin Aboualam, Scott Bunting, Felix Crowther, Benedict Greenberg, Josephine Latreille, Cao An Le, Leah Pattison
Departamento de Ingeniería Eléctrica y Electrónica y Escuela Dyson de Ingeniería de Diseño, Imperial College London
Sensa es un sistema móvil de monitoreo de atención médica que tiene como objetivo utilizar una combinación de medidas autoinformadas y análisis de señales fisiológicas para detectar el estrés y guiar a los usuarios a mejorar su estado mediante ejercicios personalizados.
El directorio de hardware se utilizó para el desarrollo del firmware del M5Stack Fire; consulte el archivo README para obtener más información.
El directorio de la aplicación se utilizó para el desarrollo de la aplicación (usando Unity) para iOS/Android; consulte el archivo README para obtener más información.
El directorio del servidor se usó para el código del servidor backend, como la API (al frente de la base de datos) y elementos de aprendizaje automático; consulte el archivo README para obtener más información.
A lo largo de nuestro código nos hemos esforzado por dejar comentarios útiles y archivos README cuando corresponda. Además, para ayudar a nuestro desarrollo multiplataforma dentro del equipo, nos mantuvimos en especificaciones amplias del proyecto.
La especificación BLE define la implementación acordada del servidor Bluetooth Low Energy (en M5Stack).
La Especificación de datos define el uso, el tipo y la estructura acordados de los datos en todo el sistema.
La Especificación API define la implementación y el uso acordados de la API (para acceder a la base de datos y al ML).
Nota: Esta es una versión "ligera" de la estructura del proyecto. Para obtener más información sobre archivos, consulte el subdirectorio correspondiente README.
MHML/ ├─ .github/ GitHub configuration files ├─ docs/API_Specification.md Documentation on API usage ├─ docs/BLE_Specification.md Documentation on BLE configuration and usage ├─ docs/Data_Specification.md Documentation on cross platform data usage │ ├─ app/ Unity app development is stored │ ├─ Assets/Scripts/ │ │ ├─ Main.cs Main app logic │ │ ├─ Wifi/ │ │ │ └─ Networking.cs Networking logic for communicating with API │ │ └─ Bluetooth/ │ │ └─ controller.cs BLE client logic for receiving from hardware │ └─ README.md App specific readme │ ├─ hardware/ Firmware development for M5Stack Fire │ ├─ lib/ Custom and 3rd party libraries │ ├─ src/ble.h BLE server logic │ ├─ src/data.h Definition of central data structure │ ├─ src/gsr.h GSR sensor development │ ├─ src/main.cpp Main firmware runtime │ ├─ src/ppg.h PPG sensor development │ └─ README.md Hardware specific readme │ ├─ server/ │ ├─ api/ Flask application for server API │ ├─ ml/ Development of machine learning models │ └─ main.py │ ├─ LICENSE └─ README.md
Desde las primeras etapas del proyecto, anticipamos cómo debería operar la división del desarrollo para maximizar nuestra modularidad y reducir las interdependencias. Esto hizo que la integración en las etapas posteriores fuera mucho más eficiente. Vea a continuación un gráfico simple del proceso.
Nuestro código fuente tiene la licencia pública general GNU v3.0.
Este trabajo está bajo una licencia internacional Creative Commons Atribución-CompartirIgual 4.0.