Мохельдин Абуалам, Скотт Бантинг, Феликс Кроутер, Бенедикт Гринберг, Жозефина Латрейль, Као Ан Ле, Лия Паттисон
Департамент электротехники и электроники и Школа инженерного дизайна Дайсона, Имперский колледж Лондона
Sensa — это мобильная система мониторинга здравоохранения, цель которой — использовать сочетание самооценок и анализа физиологических сигналов для выявления стресса и предоставления пользователям рекомендаций по улучшению своего состояния с помощью персонализированных упражнений.
Каталог оборудования использовался для разработки прошивки M5Stack Fire, дополнительную информацию можно найти в README.
Каталог приложения использовался для разработки приложения (с использованием Unity) для iOS/Android. Дополнительную информацию можно найти в README.
Каталог сервера использовался для кода внутреннего сервера, такого как API (передающий базу данных) и элементы машинного обучения. Дополнительную информацию можно найти в README.
В нашем коде мы старались оставлять полезные комментарии и файлы README, где это необходимо. Кроме того, чтобы помочь нашей кроссплатформенной разработке внутри команды, мы продолжали проектировать широкие спецификации.
Спецификация BLE определяет согласованную реализацию сервера Bluetooth Low Energy (в M5Stack).
Спецификация данных определяет согласованное использование, тип и структуру данных во всей системе.
Спецификация API определяет согласованную реализацию и использование API (для доступа к базе данных и машинному обучению).
Примечание. Это «облегченная» версия структуры проекта. Для получения дополнительной информации о файлах обратитесь к соответствующему подкаталогу 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
С самых ранних стадий проекта мы предвидели, как должно работать подразделение разработки, чтобы максимизировать нашу модульность и уменьшить взаимозависимости. Это сделало интеграцию на более поздних этапах гораздо более эффективной. Ниже представлена простая иллюстрация процесса.
Наш исходный код доступен под лицензией GNU General Public License v3.0.
Эта работа доступна под лицензией Creative Commons Attribution-ShareAlike 4.0 International License.