Онлайн (удаленный) мониторинг показаний глюкозы (у ребенка)
Один из вариантов обеспечить онлайн (в режиме близком к реальному времени, раз в 1-3 мин.), удаленный (далеко от объекта) мониторинг показаний глюкозы у родственника (в частности ребенка в школе или детском саду)
Далее поэтапно (см. схему) расскажу, как настроить удаленный мониторинг уровня глюкозы в крови.
- Сенсор Libre 2 (устанавливается на объект мониторинга)
- Смарфон на Android (в непосредственной близости от объекта мониторинга)
- Сервер Nightscount CGM, доступный напрямую в интернете (по IP-адресу или доменному имени)
- Установленное положение Nightguard на смартфонах наблюдателей
Замечу, что для реализации обозначенной схемы не понадобится регистрировать аккаунты в Stor'ах других стран, рутовать или делать jailbreak вашим телефонам и прочие "грязные" трюки.
Содержание
Шаг 1. Сенсор
Необходимо приобрести сенсор Libre 2. Проблема в том, что на российском рынке этот сенсор официально не продается, есть несколько путей как его получить:
- Заказать на официальном немецком сайте - 59,90 EUR ≈ 5 200 руб. (без учета стоимости услуг по доставке например от Бандерольки или Shopotam)
- Заказать у неофициальных поставщиков на Авито, группах ВКонтакте и пр. - 5 900 руб.
При покупке всегда проверяйте срок годности и целостность упаковки.
Установка сенсора не вызывает трудностей, можно воспользоваться видеоинструкции на YouTube. К тому же установка первой и второй версии сенсора - идентичны.
Важное дополнение, Вам не потребуется использовать (приобретать) Libre 2 Reader.
Имейте в виду, что срок функционирования сенсора Libre 2 — две недели и перезапустить (продлить) вторую версию пока нельзя.
Шаг 2. Приложения на Android
Если вы уже используете сенсор Libre 2, то подождите, пока срок действия сенсора закончится. Все нижеописанное будет работать только начиная с нового сенсора, который вы активируете через пропатченное приложение Libre Link (НЕ через Reader). Если в данный момент вы используете официальное приложение FreeStyle LibreLink, имейте в виду, что в ходе дальнейших шагов оно будет переустановлено и связь с текущим сенсором потеряется. Это значит, что он перестанет передавать сигналы по Bluetooth на смартфон. Его можно будет сканировать только через NFC. Поэтому, независимо от того, используете ли вы смартфон или ридер, подождите, пока текущий сенсор закончится.
Требования к смартфону
Первое, это требование к телефону наблюдаемого: для активации Libre 2 он должен обладать функцией NFC. Многие устаревшие смартфоны не содержат этот интерфейс. Кроме того, батарея должна быть достаточной для обеспечения непрерывной связи емкостью. Если телефон еще не приобретен, мои рекомендации:
Установка и настройка Libre Link
- Загрузите пропатченное или пропатчить самостоятельно приложение Libre Link:
- Установите скачанный APK-файл. Для некоторых смартфонов может потребоваться разрешение устанавливать APK-фалы в настройках:
- Дайте приложению все запрошенные разрешения. Если приложение не запрашивает разрешения — зайдите в настройки смартфона, откройте список приложений, найдите LibreLink, откройте Разрешения и включите их все (Память и Местоположение):
Установка и настройка xDrop+
- Скачайте и установите xDrip+ (установите самую первую версию в списке). Если ранее была установлена старая версия приложения, установите свежую, не удаляя предыдущую.
- Выйдите на главный экран xDrip+, откройте левое меню — Запуск датчика — Yes, today — Отметьте текущее время — ОК.
- Установите новый сенсор Libre 2 и запустите его через LibreLink. Через 60 минут данные с сенсора начнут передаваться в xDrip+.
- Отдельно в следующем разделе опишу, как настроить передачу данных из xDrip+ на сервер Nightscount CGM.
Шаг 3. Установка сервера Nightscount CGM и настройка передачи данных
Это самый сложный шаг, который предполагает базовые знания в администрировании Linux серверов. Если у вас такого опыта нет, предлагаю Вам воспользоваться готовым облачным сервисом Nightscount CGM (первый месяц бесплатно, далее 250 руб./ мес), заявку возможно оставить по ссылке и не выполнять самостоятельно шаг 3
Установка сервера Nightscount CGM
Для начала давайте разберемся что такое Nightscount CGM (Continuous Glucose Monitor - с англ. непрерывный монитор глюкозы). Это web-сервер и база данных с помощью которых осуществляется запись, хранение и предоставление в браузере или по API клиентским приложениям показаний глюкозы.
- mongo - СУБД
- cgm-remote-monitor - сама система Nightscount CGM
- reproxy - реверс прокси для создания шифрованного соединения с Nightscount CGM
- watchtower - сервис, который автоматически обновляет версию Nightscount CGM
Один из путей запуска этого приложения изложу по пунктам:
- Необходим физический или облачный сервер на котором будет развернуто приложение (web-сайт), возможно:
- Использовать собственный физический компьютер на macOS, Linux или Windows c WSL
- Приобрести физический микро-сервер: Rasberry Pi v4 - 7 900 руб.
- Приобрести облачный сервер у одного из провайдеров: Digital Ocean, Hatzner, Yandex.Cloud, Облако Mail.ru и др. - минимум 5 USD/m ≈ 360 руб./мес.
- Обеспечить чтобы у вашего сервера был публичный IP-адрес, т.е. чтобы он был доступен из интернета
- Для физического сервера: настроить ваш маршрутизатор на перенаправление портов, (возможно) приобрести у вашего интернет провайдера белый IP-адрес
- Облачный сервер сразу обладает публичным IP-адресом или доменом
- Установить на ваш сервер следующее системное ПО:
- Клонировать конфигурационный репозиторий
git clone https://github.com/vaxann/night-on-premise.git
ACME_LOCATION= # Место где будут храниться SSL ключи от Lets Encrypt ACME_EMAIL= # Email который будет использован при генерации сертификата HOST= # Хост или IP адрес, на который будет рабоать nightscout ROOT_USERNAME= # ROOT пользователь БД Mongo ROOT_PASSWORD= # ROOT пароль БД Mongo DATABASE= # Имя БД в которой будет храница данные nightscout DATABASE_LOCATION= # Расположение БД на диске SCRIPT_LOCATION= # Расположение init скрипта на диске TZ=Europe/Moscow # Часовой пояс API_SECRET= # Секретный ключ для адм. nightscout USERNAME= # Обычный (не ROOT) пользователь БД PASSWORD= # Пароль для обычного (не ROOT) пользователя БД
db.createUser( { user: "<Укажите пользователя БД как USERNAME в configuration.env>", pwd: "<Укажите пароль к БД как PASSWORD в configuration.env>", roles: [ { role: "readWrite", db: "<Укажите имя БД как DATABASE в configuration.env>" } ] } );
# для запуска используйте: docker-compose --env-file configuration.env up -d # для остановки: docker-compose down
Настройка передачи данных из xDrip+
https://<Серретный ключ для адм. nightscout>@<Ваш домен или IP>/api/v1/
Шаг 4. Установка приложений на смартфоны (планшеты, часы) наблюдателей
Существует множество приложений, работающих на основе данных Nightscount CGM, найти их можно с помощью поиска в магазине приложений вашего смартфона по ключевому слову "Nightscount". В этом разделе расскажу об установке и настройке официального приложения Nightguard:
- Устанавливаете приложение по ссылке
- Заходите в раздел Preferences и указываете URL вашего Nightscount CGM сервера
Заключение
Используя данную инструкцию возможно настроить онлайн мониторинг показателей глюкозы, где бы не находился объект наблюдения. Главное чтобы заряд телефона и баланс на счету были положительны.