Необходимо создать приложение, которое не будет опубликовано в плеймаркете - т.е. готовая работа это апк + исходный код. Я не уверен, что получится ограничится только лишь написанием приложения для андроид, скорее всего понадобится написать так же приложение для часов fitbit.
Цель приложения.
Необходимо получать данные от трех датчиков часов:
- гироскоп
- акселерометр
- магнитометр
Частота сбора данных 100грц (если одновременно с трех датчиков в потоке не получится, можно уменьшить).
Полученные данные необходимо записывать в текстовый документ в формате:
- таймштамп
- тип датчика
- показания датчика (х,y,z) но это уже в зависимости от датчика.
Данные записываем через таб, формат файла csv.
В процессе съема данных, нужно записывать видео в минимальном разрешении с фронтальной камеры. Поверх видео крайне важно наложить время с точностью до милисекунды.
Наименование видеофайла и файла логов должны совпадать и задается в интерфейсе приложения
Формат вилеофайла не принципиален.
Интерфейс.
Состоит из кнопки Старт (произвольный вид и месторасположение), поле ввода для названия файла логов (видео и csv) и свободной зоны в которой выводится изображение с фронтальной камеры. На нем не обязательно выводить текущее время, но в видео-записи оно должно быть.
После старта и начала записи, Кнопка Старт меняется на Стоп, которая соответственно прекращает запись. И меняется снова на Старт если приложение готово повторить следующий цикл.
Допустимо создавать не один csv а три - по одному на датчик, тогда в наименование добавляем тип датчика.
Допустимо не писать сразу в файл а на пример во временную таблицу бд и только по окончании записи скидывать в файлы результаты.
Идеально создавать папки в которых группируются все файлы одной записи.
Записи сохраняем на карту, желательно в Download что бы было удобнее.
Важно что бы время в файле логов имело минимальный рассинхрон с таймером на видео. Это очень важно и критично.
Цель проекта - запись этих трех датчиков.
Если необходимо, я вышлю часы на время разработки для отладки, это обсудим.
Время на разработку не критично.
Если все будет ок, то следующий проект будет подключение часов Garmin, потом Google fit, но это по вашему желанию.
Зачем все это?
Проект нужен для сбора данных с часов для последующего обучение ml модели. Видео необходимо для дальнейшей расшифровки данных и связи происходящего с поточными показателями датчиков.
Работать будем через сейф.
Выполненный проект должен включать в себя:
- билд апк (работающий)
- инструкция каким образом настроить часы и приложение (если это не очевидно)
- закоммиченный код на мой гитлаб
- вернувшиеся обратно часы (если понадобятся для разработки).
Допустимо использовать сторонние проекты из гитлаба. Я не требую авторских прав на этот код.
Версия Андроида - желательно "повыше" но если получится быстро собрать но будет работать только на какой то старой из-за используемых библиотек - не велика проблема.
Готов к уточняющим вопросам.
П.С. я работаю уже более 15 лет менеджером проектов в разработке и вполне одекватный. Намеренно не пытаюсь написать низкоуровневое ТЗ так как мой стек node.js, react и т.п., поэтому ожидаю что исполнитель сам порекомендует как лучше добиться результата.