Mohyeldin Aboualam, Scott Bunting, Felix Crowther, Benedict Greenberg, Josephine Latreille, Cao An Le, Leah Pattison
Département de génie électrique et électronique et Dyson School of Design Engineering, Imperial College London
Sensa est un système mobile de surveillance des soins de santé qui vise à utiliser un mélange de mesures auto-déclarées et d'analyse des signaux physiologiques pour détecter le stress et guider les utilisateurs pour améliorer leur état à l'aide d'exercices personnalisés.
Le répertoire matériel a été utilisé pour le développement du firmware du M5Stack Fire, consultez le README pour plus d'informations.
Le répertoire d'applications a été utilisé pour le développement d'applications (avec Unity) pour iOS/Android, consultez le README pour plus d'informations.
Le répertoire du serveur a été utilisé pour le code du serveur backend tel que l'API (face à la base de données) et les éléments d'apprentissage automatique, consultez le README pour plus d'informations.
Tout au long de notre code, nous nous sommes efforcés de laisser des commentaires utiles et des README le cas échéant. De plus, pour faciliter notre développement multiplateforme au sein de l’équipe, nous avons respecté les spécifications à l’échelle du projet.
La spécification BLE définit la mise en œuvre convenue du serveur Bluetooth Low Energy (sur le M5Stack).
La spécification des données définit l'utilisation, le type et la structure convenus des données dans l'ensemble du système.
La spécification API définit la mise en œuvre et l'utilisation convenues de l'API (pour accéder à la base de données et au ML).
Remarque : Il s'agit d'une version « allégée » de la structure du projet. Pour plus d'informations sur les fichiers, reportez-vous au sous-répertoire README correspondant.
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
Dès les premières étapes du projet, nous avons anticipé le fonctionnement de la division du développement afin de maximiser notre modularité et de réduire les interdépendances. Cela a rendu l’intégration aux étapes ultérieures beaucoup plus efficace. Voir ci-dessous pour un graphique simple du processus.
Notre code source est sous licence GNU General Public License v3.0
Ce travail est sous licence internationale Creative Commons Attribution-ShareAlike 4.0.