Mohyeldin Aboualam, Scott Bunting, Felix Crowther, Benedict Greenberg, Josephine Latreille, Cao An Le, Leah Pattison
Departamento de Engenharia Elétrica e Eletrônica e Dyson School of Design Engineering, Imperial College London
Sensa é um sistema móvel de monitoramento de saúde que visa utilizar uma combinação de medidas auto-relatadas e análise de sinais fisiológicos para detectar estresse e orientar os usuários a melhorar seu estado por meio de exercícios personalizados.
O diretório de hardware foi utilizado para desenvolvimento de firmware do M5Stack Fire, dê uma olhada no README para mais informações.
O diretório app foi usado para o desenvolvimento do aplicativo (usando Unity) para iOS/Android, dê uma olhada no README para mais informações.
O diretório do servidor foi usado para o código do servidor backend, como a API (frente ao banco de dados) e elementos de aprendizado de máquina. Dê uma olhada no README para obter mais informações.
Ao longo de nosso código, nos esforçamos para deixar comentários úteis e READMEs quando apropriado. Além disso, para auxiliar nosso desenvolvimento multiplataforma dentro da equipe, mantivemos as especificações amplas do projeto.
A especificação BLE define a implementação acordada do servidor Bluetooth Low Energy (no M5Stack).
A Especificação de Dados define o uso, tipo e estrutura acordados de dados em todo o sistema.
A Especificação da API define a implementação e o uso acordados da API (para acessar banco de dados e ML).
Nota: Esta é uma versão 'light' da estrutura do projeto. Para obter mais informações sobre arquivos, consulte o README do subdiretório relevante.
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 as fases iniciais do projeto, antecipamos como deveria funcionar a divisão de desenvolvimento para maximizar a nossa modularidade e reduzir as interdependências. Isto tornou a integração nas fases posteriores muito mais eficiente. Veja abaixo um gráfico simples do processo.
Nosso código-fonte está licenciado sob GNU General Public License v3.0
Este trabalho está licenciado sob uma Licença Internacional Creative Commons Attribution-ShareAlike 4.0.