Настройка NightScout для отслеживания сахаров Online

setting nightscout on ubuntu Полезные советы

В данной статье я расскажу и покажу как пошагово настроить своими руками сервер NightScout для мониторинга сахаров у диабетиков! Данная инструкция актуальна на 2023 год и будет мною поддерживаться и развиваться далее.

Всем привет! Как не печально, но мой ребенок болеет сахарным диабетом первого типа уже более 5 лет, мы с женой постарались сделать все, чтобы ребенок не чувствовал себя ущемленным при общении с другими детьми. Нам повезло, что мы живем в век технологий и они сделали нашу жизнь легче и лучше. В свое время мы настроили и пользовались сервисом NightScout который показывал в режиме онлайн сахара ребенка и его можно было контролировать в детском саду, кружках, на прогулках и в школе, но с конца 2022 года сервис стал платным, а в России можно было найти услуги по работе с этим сервисом за абонентскую плату в районе 1 тыс рублей в месяц.

Настройка NightScout для отслеживания сахаров Online

В январские праздники я изучив все мануалы и инструкции западных коллег решил сделать нашу русифицированную версию по которой каждый сможет установить этот сервер и отслеживать себя или своего ребенка Online.

Сразу скажу, что теперь бесплатно это не получится использовать, но по моей инструкции вы будете платить не 1000 рублей в месяц, а 220 рублей в месяц что в 5 раз меньше, а в перещете на год, это не 12 тыс рублей, а 2500 руб.

Главное выполняйте все мои инструкции шаг в шаг и все получится!

Единственное что должно у нас с вами отличаться это пароли, ни в коем случае не копируйте мои пароли, изменяйте их чтобы вас не взломали!!!!!

Данная инструкция будет дополняться и изменяться мною по возможности свободного времени и сил.

1 часть – Настройка и запуска VPS сервера

  1. Нам для начала необходимо зарегистрировать сервер на хостинге -> Beget далее переходим в меню VPS и регистрируем самый дешевый тариф за 7 рублей в сутки (при оплате в месяц будет 220 руб)
    настройка nightscout ubuntu
  2. Регистрируем любой домен в зоне RU
    настройка nightscout
  3. Создаем VPS сервер и копируем наш внешний ip адрес который сейчас пропишем к нашему купленному домену
     мониторинг сахаров у ребенка
  4. Теперь заходим в настройки ДНС и прописываем ip нашего сервера в А записи домена
    настрйока онлайн мониторинг сахаров
  5. после этих подготовительных работ можно приступить к настройке самого сервера VPS на Ubuntu 20.04 скачиваем программу putty, запускаем ее и вводим наш внешний ip (в нашем примере это ip 62.217.180.5)
    Проверяем уровень сахара в крови у детей
  6. У нас открывается терминал в котором мы должны вводить след мои команды
    система по контролю сахара у ребенка и взрослого

2 часть – Настройка NightScout на Ubuntu

В данной части я не буду расписывать каждую команду, я это все это проговаривал на видео которое будет в конце статьи или пишите комментарии я буду вам отвечать.

Просто следуйте по пунктам и ничего не пропускайте!

!!!! Каждая строке новая команда которая выполняется отдельно, т.е. все последовательно выполняем – смотрите мое видео которое размещено в конце статьи!!!

  1. Запускаем обновление Ubuntu
apt update -y

2. Устанавливаем найденные обновления

apt dist-upgrade -y

3. Создаем Виртуальный файл подкачки

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show

4.Устанавливаем дополнительные пакеты которые нам пригодятся при сборке след программ

sudo apt install build-essential checkinstall libssl-dev

5. Устанавливаем пакет Node.JS

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs

6.Устанавливаем Базу Данных MongoDB

sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
systemctl start mongod.service
systemctl status mongod.service

7. Добавляем в MongoDB пароль для админа (пароль делаем свой не копируйте мой пароль в целях безопасности!!!)

mongosh
use admin
db.createUser({user:"admin",pwd:"GSg9d8ehgewoH",roles:[{role:'userAdminAnyDatabase',db:'admin'}, "readWriteAnyDatabase"]})
exit

8. Ставим защиту на MongoDB, открываем текстовый файл

sudo nano /etc/mongod.conf

9. Ищем параметр security , рядом с которым удаляем решетку и добавляем параметр authorization, должно получиться так: (но советую посмотреть на видео)

security:
    authorization: enabled


10. Перезапуском базу данных 
sudo systemctl restart mongod

11. Логинимся в Базу данных и создаем новую базу данных для нашего NightScout (пароль делаем свой не копируйте мой пароль в целях безопасности!!!)

use nightscout
db.createUser({user:"nightscout",pwd:"Skdgud87gIKSTYgehe",roles:[{role:'readWrite',db:'nightscout'}]})
db.createCollection("entries")
exit

12. Устанавливаем NightScout

git clone https://github.com/nightscout/cgm-remote-monitor.git
cd cgm-remote-monitor
export NODE_OPTIONS=--max-old-space-size=8192
npm install

13. Создаем конфигурационный файл my.env

nano my.env

14. Вставляем код (API_SECRET делаем свой не копируйте мой пароль в целях безопасности!!!)

MONGODB_URI=mongodb://nightscout:Skdgud87gIKSTYgehe@127.0.0.1:27017/nightscout
BASE_URL=http://127.0.0.1:1337
API_SECRET=12345678!!!nibbl
MONGODB_COLLECTION=entries
DISPLAY_UNITS=mmol
ENABLE=careportal%20basal%20dbsize%20rawbg%20iob%20maker%20cob%20bwp%20cage%20iage%20sage%20boluscalc%20pushover%20treatmentnotify%20loop%20pump%20profile%20food%20openaps%20bage%20alexa%20override%20speech%20cors
THEME=colors
TIME_FORMAT=24

MONGODB_URI – путь к нашей базе данных (обязательно сделайте свой уникальный пароль)

API_SECRET – секретный пароль к нашей базе данных (обязательно сделайте свой уникальный пароль)

15. Создаем файл запуска скрипта start.sh

nano start.sh
(eval $(cat my.env | sed 's/^/export /') && PORT=1337 node server.js)

16. делаем его исполняемым

chmod +x start.sh

17. Данный пункт очень важный и я бы советовал посмотреть видео мое как я буду выполнять этот пункт. Сейчас мы будем запускать фоновый режим в котором запустим наш скрипт start.sh

screen

18. Теперь нажимаем Enter и вводим команду

./start.sh

19. Теперь надо аккуратно выйти из этого фонового режима, для этого нажимаем комбинацию клавиш Ctrl + A и Ctrl + D

20. Устанавливаем WEB сервер nginx через который мы и будем следить за нашими показателями

sudo apt install nginx -y

21. Создаем конфигурационный файл

sudo nano /etc/nginx/sites-available/nightscout

22. копируем настройки в наш конфигурационный файл

server {
    listen 80;
 
    server_name primamilena.ru;
 
    location / {
        proxy_pass http://127.0.0.1:1337;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-Proto https;
    }
}

primamilena.ru – тут вписываем название вашего домена

23. Активируем нашу конфигурацию

sudo ln -s /etc/nginx/sites-available/nightscout /etc/nginx/sites-enabled

24. проверяем на ошибки наш конфигурационный файл

sudo nginx -t

25. перезапускаем сервер nginx для того чтобы заработал наш конфигурационный файл

sudo systemctl restart nginx

26. Заходим на наш сайт ) все!

3 часть – Настройка на телефоне отправки сахаров в NightScout

Сразу тут скажу, что программ которые контролируют сахара очень большое количество, но в свое время жена у меня стала пользоваться программой Diabox, но принцип примерно один и тот же, для настройки вашего устройства можете воспользоваться оф. инструкцией на сайте NightScout – ссылка

  1. Открываем Diabox
  2. Нажимаем на иконку шестеренки в нижнем правом углу
  3. В меню выбираем integration / интеграция
    diabox настройка nightscout

В поле:

  • URL вводим название нашего сайт
  • key – вводим наш API который мы прописывали в конфигурационном файле my.env

После этого сохраняем настройки нажатием кнопки Save

!!! Нажмите кнопку Connect TEst если все сделали правильно у вас будет сообщение что соединение успешно!

Далее перезагружаем телефоне!!! (без перезагрузки телефона у вас не будут передаваться данные)

Все!

Вот таким вот способом мы настроили онлайн мониторинг сахаров через телефон на сайт и теперь можно спокойно отслеживать ребенка когда он в школе или гуляет.

Полезна ли Вам была статья по настройке NightScout?
Да, спасибо!
94.44%
Нет
5.56%
Проголосовало: 18

Видео инструкция настройка NightScout

Предисловие

Вот мы и закончили данную инструкцию, которую мне кажется я писал дольше чем настраивал сервер) теперь вы можете спокойно контролировать сахара своего ребенка удаленно, это очень сильно облегчает жизнь родителям чьи дети по роковому стечению обстоятельств стали диабетиками первого типа.

Вы нашли данную статью по след ключевым словам:

NightScout, ubuntu, сахарный диабет, diabetes mellitus, Nodejs, MongoDB, mongosh, admin, nginx, Diabetes, github, Medtronic 600, xDrip+, Glimp, Diabox, LinkBluCon, Tomato, Spike, xDrip4iOS, как следить за сахарами онлайн, как контролировать сахара, как контролировать сахар в крови, Supports Healthy Blood Sugar, What drink lowers blood sugar, Контроль уровня сахара в крови, setup Nightscout, heroku, Night Scout Diabetes, Setting up Nightscout, FreeStyle Libre, Libre, FreeStyle

admin
Оцените автора
NIBBL
Добавить комментарий

  1. Martin

    В новой mongo сменили API и теперь nightscout не может записывать данные туда:( Решения пока не нашел, кроме как развернуть гдето старую версию mongo

    Legacy Opcodes Removed

    MongoDB 6.0 removes support for the following legacy opcodes and database commands:

    • OP_INSERT
    • OP_DELETE
    • OP_UPDATE
    • OP_KILL_CURSORS
    • OP_GET_MORE
    • OP_QUERY
    • getLastError

    Ответить
    1. admin автор

      не до конца понял о каких данных идет речь, я сейчас зашел и сделал отчет и все ок https://disk.yandex.ru/i/FzcIF_CPLHcsRA
      так что если делаете все по моей инструкции все будет ок и все данные по дням можно вывести в отчетах

      Ответить