Sensor Hub, что это за программа для Android
Обновлено: 21.11.2024
Ненавязчивый мониторинг состояния здоровья для изменения образа жизни с помощью носимых устройств
Супервайзеры: Йонас Хромик, Кристина Кирстен
Студенты магистерского проекта: Хендрик Фолкертс, Арне Хердик, Коринна Яшек, Пит Вегнер
Студенты проекта бакалавриата: Джулиан Бауманн, Джаспер Блюм, Кира Граммель, Лина Колс, Георг Ланге, Хендрик Пацлафф, Винсент Ран, Стефан Шуман, Кира Вайнлайн
Неинфекционные заболевания, такие как инфаркт миокарда, инсульт, хронические респираторные заболевания или диабет, ложатся тяжелым бременем на общество во всем мире и являются причиной 71 % всех смертей в мире. Однако эти заболевания неизбежны, поскольку факторы риска, такие как курение, нездоровое питание или отсутствие физической активности, известны и их можно избежать. Таким образом, изменение образа жизни играет важную роль в профилактике и лечении неинфекционных заболеваний. (см. Информационный бюллетень ВОЗ по неинфекционным заболеваниям) В настоящее время можно собирать различные типы данных из повседневной жизни с помощью потребительских носимых устройств, таких как смарт-часы или фитнес-трекеры. Основываясь на этом, мы можем давать пациентам отзывы о состоянии их здоровья и предоставлять медицинским работникам информацию о прогрессе вмешательств в образ жизни, таких как изменение диеты, упражнения, управление стрессом.
Среда SensorHub была разработана в рамках одного магистерского и одного бакалаврского проектов под названием Ненавязчивый мониторинг состояния здоровья для изменения образа жизни с помощью носимых устройств. Цель SensorHub – упростить исследования для ученых, исследователей и пациентов. Это позволяет пользователям создавать виртуальные исследования и собирать данные от субъектов, используя несколько датчиков Bluetooth разных производителей в одном месте. Он состоит из трех основных компонентов.
Родное приложение для Android написано на языке Kotlin и отвечает за подключение и запись измерений различных типов датчиков и носимых устройств через Bluetooth с низким энергопотреблением (BLE). Он также может записывать измерения внутренних датчиков смартфона (таких как акселерометр, гироскоп и т. д.). Архитектура приложений обеспечивает простоту расширения при интеграции новых датчиков. Новый датчик BLE можно добавить, написав новый модуль приложения, который включает датчик, либо с помощью комплекта разработки программного обеспечения (SDK), предоставленного производителем, либо путем прямой реализации протокола подключения Bluetooth для конкретного датчика. Данные датчиков временно хранятся во внутренней памяти смартфона. Во время записи приложение также позволяет субъекту помечать данные. Это важная функция, поскольку она предоставляет помеченные данные, которые затем могут быть использованы исследователем для извлечения определенных корреляций между данными и действиями, изучаемыми в исследовании. Кроме того, приложение позволяет субъектам входить в систему и автоматически загружать свои записи в серверную часть.
Бэкэнд отвечает за хранение собранных данных датчиков. Он использует базу данных временных рядов InfluxDB для хранения каждого измерения датчика с точностью до наносекунды. Он предоставляет систему управления пользователями и ролями и позволяет исследователям создавать и настраивать устройства и теги для своих исследований. Кроме того, он также реализует ключевые функции извлечения данных, такие как фильтрация данных по отметке времени, типу датчика, пользователю, исследованию или записи, а также предоставляет возможность экспорта данных в формате CSV.
Информационная панель предоставляет исследователям доступ к функциям серверной части. Он предоставляет исследователям пользовательский интерфейс (UI) для внутренних функций и поддерживает различные визуальные представления записанных данных.
Обзор архитектуры платформы SensorHub. Пациенты записывают данные с носимых устройств и датчиков через Bluetooth с помощью приложения SensorHub на своем смартфоне. Затем данные загружаются в серверную часть SensorHub, где они сохраняются в базе данных. Ученый может просматривать и загружать необработанные данные с помощью информационной панели SensorHub.
Основные модули OpenSensorHub (OSH) изначально могут работать на Android 6.0 ("Marshmallow") и более поздних версиях (поддержка более старых версий Android прекращена, начиная с версии 1.3.2).
На данном этапе поддержка Android все еще находится на экспериментальной стадии, хотя она уже позволяет отправлять данные датчика телефона на удаленный узел OSH.
Часть, специфичная для Android, состоит из компонента службы, в который встроен механизм OSH, и демонстрационного приложения, которое можно настроить для отправки данных с одного или нескольких датчиков телефона на сервер SOS удаленного узла OSH.
Сервис Android
Дисплей OpenSensorHub для Android будет представлять собой службу Android, к которой любое приложение сможет подключиться и настроить нужные модули.
Приложение сможет напрямую подключаться к объектной модели OpenSensorHub и получать доступ к любой ее части (например, датчикам, процессам, службам, коммуникационным сетям и т. д.).Таким образом, приложения обеспечивают просмотр и контроль над механизмом OSH и могут быть настроены в соответствии с потребностями пользователя.
Мы намерены сделать сервис доступным для нескольких приложений одновременно.
Демонстрационное приложение для Android
Демонстрационное приложение для Android является примером того, как подключиться к сервису, настроить его и отобразить информацию из него. Это конкретное приложение позволяет загружать данные, собранные телефоном, в удаленную конечную точку SOS-T, и его можно настроить для включения/отключения используемых датчиков. Ниже приведены несколько скриншотов приложения в действии.
Сначала вы открываете главное меню (слева) и настраиваете имя своего устройства и конечную точку SOS (справа):
Затем вы выбираете датчики, которые хотите включить (слева), и после запуска SensorHub из главного меню их данные передаются в SOS (справа):
Контент этого сайта находится под лицензией Creative Commons Zero v1.0 Universal License. © 2017 OpenSensorHub
OpenSensorHub для Android
Этот репозиторий содержит модули для Android, в том числе:
- Демо-приложение для Android
- Служба SensorHub, которую могут использовать другие приложения для Android.
- Драйверы для датчиков доступны через Android Sensor API, Camera API и Location API
Демонстрационное приложение позволяет телефону или планшету под управлением Android 5.0 (Lollipop) или более поздней версии отправлять данные датчиков на удаленный узел OSH с использованием стандарта SOS-T.
Поддерживаемые датчики включают встроенные в телефон:
- GPS
- Необработанные IMU (акселерометры, гироскопы, магнитометры)
- Объединенная ориентация (кватернионы или углы Эйлера)
- Видеокамера (кодек MJPEG или H264)
А также другие датчики, подключенные через USB, Bluetooth или Bluetooth Smart:
- Тепловизор FLIR One (USB)
- Дальномер Trupulse 360 (Bluetooth)
- Ремешок с датчиком ангела (Bluetooth Smart)
Сборка последней версии приложения была успешно протестирована с помощью Gradle 4.7 и Android Studio 3.2.1.
Необходимо установить последнюю версию Android SDK и указать путь к нему в файле local.properties. Также убедитесь, что вы извлекли исходный код из репозиториев osh-core и osh-addons в том же месте, что и этот репозиторий.
Чтобы выполнить сборку с помощью командной строки gradle, перейдите в папку sensorhub-android-app и просто запустите ../gradlew build . Вы найдете полученный APK в sensorhub-android-app/build/outputs/apk
.Вы также можете установить его на устройство, подключенное через USB, запустив ../gradlew installDebug .
Как использовать приложение
Приложение предназначено для подключения к серверу ОШ (например, можно использовать дистрибутив ош-база) и загрузки на него инерциальных, GPS и видеоданных.
Чтобы установить соединение, вам необходимо настроить приложение с правильной конечной точкой сервера (см. документацию по приложению)
Вам также необходимо включить транзакционные операции на стороне сервера, чтобы телефон мог зарегистрироваться и отправить свои данные. Для этого выполните следующие действия:
Всегда включенные приложения непрерывного сбора данных быстро разряжают аккумулятор, поскольку они не позволяют основному процессору переходить в спящий режим. Вместо этого оборудование концентратора датчиков, доступное сегодня во многих смартфонах, может выполнять непрерывное считывание данных с меньшим энергопотреблением, при этом основной процессор остается бездействующим. Однако разработчикам приходится делить функциональность между основным процессором и сеном.
Цитаты
<р>. Служба виртуальных датчиков: чтобы существующие приложения могли беспрепятственно использовать данные удаленных датчиков, нам необходимо перехватывать и заменять локальные датчики данными удаленных датчиков. Одним из вариантов является перехват вызова сенсорного API на относительно более высоком уровне, таком как уровень Framework API [32]. Однако многие приложения, особенно игровые, используют датчики через собственный интерфейс Jave (JNI) [7], а не через Framework API. . <р>. Мы связываем это увеличение с нашими библиотеками распознавания жестов и голоса, которые постоянно используют различные датчики, такие как приближение, акселерометр и микрофон, с высокой частотой дискретизации. Энергосберегающие жесты или распознавание голоса в настоящее время являются активной темой исследований [27,39,41,43].Мы предполагаем, что потребление энергии Gesto может быть уменьшено за счет включения некоторых из этих методов. .Gesto – это система, позволяющая автоматизировать задачи для приложений Android с помощью жестов и голосовых команд. Используя Gesto, пользователь может записать последовательность действий пользовательского интерфейса для приложения, выбрать жест или голосовую команду для активации последовательности действий пользовательского интерфейса, а затем запустить последовательность действий пользовательского интерфейса с помощью соответствующей жестовой/голосовой команды. Gesto обеспечивает это для существующих приложений Android, не требуя их исходного кода или какой-либо помощи от их разработчиков. Чтобы сделать такую возможность возможной, Gesto сочетает инструментарий байт-кода и запись и воспроизведение действий пользовательского интерфейса. Чтобы продемонстрировать применимость Gesto, мы разработали четыре варианта использования с использованием реальных приложений, загруженных из Google Play — Bing, Yelp, AVG Cleaner и Spotify. Для каждого из этих приложений мы сопоставляем жест или голосовую команду с последовательностью действий пользовательского интерфейса. Согласно нашим измерениям, Gesto берет на себя скромные накладные расходы для этих приложений с точки зрения использования памяти, энергопотребления и увеличения размера кода. Мы оцениваем возможности нашего инструментария и накладные расходы, используя 1000 популярных приложений, загруженных из Google Play. Наш результат показывает, что Gesto может инструментировать 94,9% приложений без каких-либо значительных накладных расходов. Кроме того, поскольку наш прототип в настоящее время поддерживает 6 основных элементов пользовательского интерфейса Android, мы оцениваем наше покрытие и измеряем, какой процент использования элементов пользовательского интерфейса мы можем охватить. Наш результат показывает, что наши 6 элементов пользовательского интерфейса могут покрывать 96,4 % всех случаев использования статически объявленных элементов пользовательского интерфейса в 1000 приложений Google Play.
<р>. Работы [10][11][12][13][14][15][16][17] не могут предоставить единую программируемую платформу для датчиков, сбора данных, обработки данных, геоаналитики в реальном времени, которая может работать как лучшая система восприятия. Концепция MobileHub [17], т. е. разработка ячеистой сети смартфонов в качестве узлов геопространственного гетерогенного зондирования и создание одного главного узла в качестве шлюза для принятия решений, требует улучшения инфраструктуры принятия решений SHM, определенной в [18] как STEM, cSHM и Сравнение DependSHM на диаграмме 9 в справочнике [19] . Рекомендации проекта ЕС IRIS [20] по использованию онтологий для интеграции гетерогенных систем поддержки принятия решений, таких как Rapid Miner, WEKA, GNU и MATLAB GNU Octave, сосредоточены на BRIMOS, как показано на рисунках F17.1, F17.3 и F17.8. . <р>. Для непрерывного мониторинга на дальних расстояниях на месте используется наиболее успешная и часто встречающаяся архитектура узла, которая включает в себя ряд датчиков, формирователей сигналов (SC) для конкретных приложений, микросхем аналого-цифрового преобразователя (АЦП) с высоким разрешением и микроконтроллеры. (например, Intel 8051, Microchip P18F458 и ATMega32). Рисунок 4 иллюстрирует типичный узел SHM, используемый для гетерогенных реализаций Body Area Network (BAN) для существующих систем SHM [19]. Он должен пройти через последовательность примитивных методов обработки данных, чтобы быть совместимым с системами SHM. .Ввиду учащения стихийных бедствий и гибели людей, вызванных природными явлениями и географическим расширением, существует острая необходимость в более эффективной регистрации окружающей среды для лучшего управления и городского планирования. В этой статье предлагается новая модель служебных вычислений (UCM) для мониторинга состояния конструкций (SHM), которая позволит эффективно и экономично динамически планировать системы мониторинга в форме геоинформационной системы SHM. Предлагаемый UCM состоит из сетевых систем SHM, которые отправляют геометрические переменные SHM на шлюзы SHM-UCM. Каждый шлюз направляет данные на серверы SHM-UCM, на которых запущен алгоритм геопространственной оценки работоспособности исправлений и прогнозирования. Входными данными алгоритма прогнозирования являются геометрические переменные, переменные среды и полезные нагрузки. Предлагаемый SHM-UCM уникален с точки зрения его способности управлять разнородными ресурсами SHM. Это было проверено в тематическом исследовании Катарского университета (QU) в Дохе, Катар, где рассматривалось распределение узлов SHM вместе с плотностью размещения в каждом здании. Эта информация была получена от маршрутизаторов QU и моделей расчета зон, а затем была сопоставлена с данными идеальной системы SHM. Результаты показывают эффективность предложенной модели при ведении журнала и динамическом планировании SHM.
<р>. Обещание высокой эффективности Периферийное ядро известно своей высокой эффективностью для рабочих нагрузок с большим объемом операций ввода-вывода и низкими требованиями к производительности [38, 50, 74, 1, 72]. Это дает следующие преимущества приостановке/возобновлению устройства ядра: i) Периферийное ядро может работать, оставляя ЦП в автономном режиме. .Читайте также: