Zakładanie i instalacja konta na Heroku ( baza MongoDB Atlas + Heroku)

Mając już konto na Github i skopiowaną do swoich zasobów aplikację cgm-remote-monitor,  zajmujemy się kolejnym kontem w serwisie Heroku.

Heroku to serwer hostingowy dla naszej aplikacji cgm-remote-monitor  czyli strony Nightscout.  Ze względu na wyższy poziom profesjonalnych usług hostingowych, które udostępnia Heroku już na poziome darmowego konta free, Heroku  charakteryzuje się dużą stabilnością i dostępnością naszej aplikacji. Przekłada się to na praktycznie stałą dostępność naszej strony Nightscout w Internecie. 

Strona Nightscout na Heroku jest polecana  dla :

  • Obsługi danych pochodzących z wszystkich systemów Dexcom G4, G5, G6 , wykorzystując xDrip +
  • Danych pochodzących z sensorów Abott Freestyle Libre , xDrip +
  • Przesyłu danych z modułu Minimed dla Veo 
  • Nightscout dla Medtronic 640G / 680G
  • Niezależnego systemu CGM Medtronic , Guardian Connect 
  • Eversence XL Roche

Rekomendujemy ten serwer dla użytkowników systemów APS ( Artificial Pancreas System ) taki jak AndroidAPS lub Loop.


AKTUALIZACJA STRONY NIGHTSCOUT w serwisie HEROKU

Jeśli już posiadasz stronę Nightscout, ale chciałbyś ją zaktualizować to tu znajdziesz link do instrukcji jak tego dokonać w łatwy sposób. Aktualizacja nie wpłynie na dotychczasowe zapisane bazy danych oraz ustawienia naszej strony. 

Aktualizacja strony NIGHTSCOUT w serwisie HEROKU .  ( Aktualna wersja to 14.0.7.  ) na dzień 07.12.2020

Jeśli nie masz jeszcze żadnej strony Nightscout i dopiero ją zakładasz konto w serwisie Heroku, to przejdź do punktu 1. poniższej instrukcji MongoDB Atlas


 

Ze względu na zmianę architektury systemu instalacji, musimy sami założyć bazę danych, potrzebną do działania naszej strony. Bazę danych założymy w serwisie MongoDB Atlas. To proste , zaczynajmy !

Baza MongoDB Atlas 

1 Wchodzimy na adres https://www.mongodb.com/cloud/atlas   i zakładamy darmowe konto. W tym celu klikamy na Start free

mongo01


2 Wypełniamy tabelę swoimi danymi, adres email, tworzymy hasło itp. Proponuję nie wypełniać okna z nazwą swojej Firmy. To ułatwi zarządzanie późniejszą instalacją konta.

 

mongo02


3 Odpowiadamy na dwa pytania odnoście siebie ( odpowiedzi nie są istotne, to ankieta ) . Kolejna ważna sugestia, nie zmieniajcie nazwy organizacji oraz nazwy projektu poniżej ( chyba, że wiesz dlaczego to robisz ). Klikamy NEXT.

mongo03

 

 


4 Odpowiadamy na kolejne pytania ankietowe i  klikamy NEXT.

mongo04

 


5 Wybieramy darmowy plan i  klikamy Create a cluster. ( Nie pomyl się )

mongo05


6 Wybieramy Provaidera i region. Jeśli chodzi o Provaidera, możemy dowolnie wybrać, ale region polecam zaznaczyć jak najbliżej naszej lokalizacji. ( choć to nie wpływa znacząco na naszą stronę ). Następnie klikamy Create a cluster

mongo06


7 W efekcie zobaczymy taką stronę, z charakterystycznym łańcuszkiem wokół naszej instalacji SANDBOX. Widzimy w nim naszą bazę danych , która nazywa się domyślnie Cluster0. (na końcu jest ZERO )

mongo07

Po ok 2-3 minutach ,jak łańcuszek przestanie „płynąć”, będziemy mieli możliwość kliknięcia w przycisk CONNECT.

mongo08


8 Teraz zajmiemy się parametrami konfiguracji dostępu do naszej bazy danych. Klikamy Add Your Current IP Address

mongo09


9 Kreator instalacji podpowiada nam adres 0.0.0.0/0 Jest to nic innego jak zezwolenie na połączanie się z naszą bazą z każdego adresu IP. Nic nie zmieniamy ( chyba, że wiesz co robisz ) i klikamy Add IP Address. 

UWAGA !!! Jeśli formularz podpowiada nam inne IP to musisz zmienić na 0.0.0.0/0. Bez tego nie połączy nam się nasza aplikacja na Heroku. 

mongo10


10 To jest bardzo ważny punkt. Tu podajemy (wymyślamy) nazwę użytkownika bazy danych oraz jego hasło. To kluczowe parametry. Nie będziesz się nimi na co dzień posługiwał, wiec nie musisz wymyślać łatwych do zapamiętania danych. Ważne, że te dane musisz sobie zapisać np. w pliku  Notepad. W tym celu otwórz na komputerze plik notatnika i wklej w nim utworzoną nazwę użytkownika i hasło.

mongo11

 

Notatnik05

 


11 Jeśli wszytko wykonaliśmy poprawnie, przechodzimy dalej klikając Choose a connection method

mongo12


12 Wybieramy Connect your application

mongo13


13 Kolejna bardzo waży punkt. Klikamy Copy. W ten sposób skopiujemy do pamięci podręcznej cały adres do naszej bazy danych.  Teraz wystarczy przejść do okna naszego Notatnika i w nowej linii wykonać kombinację klawiszy <Ctrl> + <V> lub z menu wybrać „Wklej” . 

mongo14

W efekcie powinniśmy uzyskać kopię naszego adresu wyglądającą w ten sposób:

Notatnik01

gdzie kolejne wartości to :

Notatnik02

 

Przyjrzyj się temu linkowi. Zawiera on części które musimy samodzielnie wpisać. 
Notatnik04

  • <userdb>    –    nazwa użytownika bazy danych już jest przepisana.
  • <password>  – to hasło  użytkownika bazy danych ( punkt 10 instrukcji )
  • <dbname>    – to nazwa naszego clastra, jak nic nie zmieniliście to powinien nazywać się Cluster0

Zamień u siebie w pliku notatnika wartości tych danych na takie które posiadasz i zapisz plik. Będzie nam potrzebny w dalszej części instalacji już w serwisie HEROKU.

Notatnik03

Na tym kończymy przygodę z MongoDB. Klikamy Close w poprzednim oknie MongoDB Atlas.

Przechodzimy do instalacji Heroku.

 


 

Instalacja HEROKU 

1 Wchodzimy na adres https://heroku.com   i zakładamy swoje konto klikając Sign up.

H01


2 Uzupełniamy swoje dane, wpiszcie adres email, który używacie. W przyszłości może dostaniecie wiadomości o konieczności jakiś aktualizacji, uzupełnień danych itp. Na koniec uzupełniamy kod CAPTCHA i klikamy Create Free Account.

H02


3 Jeśli wszystkie dane są poprawne dostaniemy monit o wysłaniu wiadomości weryfikacyjnej na nasz email.

H03


4 Otwieramy naszą pocztę email i klikamy link weryfikacyjny. Jeśli nie otrzymaliśmy wiadomości szukajmy jej w katalogu SPAM.

H04


5 Po kliknięciu w link weryfikacyjny zostanie otwarta strona z prośbą o utworzenie hasła do naszego konta Heroku. Po wpisaniu i powtórzeniu hasła klikamy Set Password And Log In.

 

H05


6 Otrzymujemy informacje o prawidłowym utworzeniu konta. Klikamy Clik Here to Proceed.

H06


7 Na głównej stronie naszego konta klikamy postać naszego Awatara i otwieramy Account settings.

H07

 


8 Klikamy na Billing oraz Add Credic Card.  Dodanie karty kredytowej lub debetowej jest wymagane. W tym miejscu należy wyjaśnić, że aplikacja Nightscout nie będzie generować żadnych kosztów i obciążeń na podanej karcie. Po weryfikacja użytkownika i dodaniu karty debetowej otrzymamy darmowe 1000 dyno hours/ na miesiąc ( czyli 1000 godzin działa naszej aplikacji. Bez tej weryfikacji darmowe 500 dyno hours/ na miesiąc nie wystarczy nam na ciągłe działanie naszej strony.

H08


9 Podając dane karty uzupełniamy informacje zgodne z tymi, które podaliśmy do banku. ( właściciel , adres )

H09


10 Mamy w pełni utworzone i aktywowane konto w serwisie Heroku. 

H10

 


11 Wracamy do własnego kodu aplikacji w serwisie Github. Klikamy przycisk Deploy to Heroku.

Heroku11

 


12 Wpisujemy swoją wymyśloną nazwę dla strony Nightscout. Jeśli będzie wolna to od tej pory, wasze wyniki będą dostępne pod taką nazwą ” Nazwa.herokuapp.com „. Wymieramy  region , Europa. 

Heroku12

 


13 Poniżej możemy wprowadzić zmiany, włączając lub wyłączając alarmy modyfikować domyślne czasy alarmów. Na tą chwilę możemy zostawić większość wartości domyślnie.

H16.1

 

H16.2

 


14 Musimy ustalić nasze hasło API_SECRET . Ten parametr to nasze zabezpieczenie dostępu do naszej strony, nie pozwoli na wprowadzenie modyfikacji osobą niepowołanym. To bardzo Ważne w sytuacji, kiedy korzystamy z AndroidAPS,  gdzie system korzysta z profilu zapisanego na naszej stronie. Dlatego hasło ma być trudne do odgadnięcia.

  • Nie pokazujmy go nikomu!
  • Nie robimy zrzutów ekranu tego parametru. 
  • Hasło API_SECRET ma zawierać co najmniej 12 znaków 
  • Nie stosujemy polskich znaków
  • Nie wykorzystujemy znaków specjalnych @ ? / _ itp

H16.3

 


15 DEXCOM BRIDGE , to moduł, który pozwoli czerpać dane glikemii prosto z serwera Dexcom Clarity. Jeśli  jesteś użytkownikiem systemu DEXCOM  G5 lub G6 i przesyłasz dane do serwera Clarity, to możesz pozwolić swojej stronie na pobieranie bezpośrednio Twoich danych z serwera Dexcom. 
W przeciwnym przypadku pozostawiasz te dane puste i nie zmienione.

Heroku15

16 Wprowadzamy nazwę która będzie widniała na stronie Nightscout. Nie jest to adres, może być dowolna. Z reguły wprowadzamy Imię podopiecznego. 

H16.4


16 ENABLE to sekcja, w której wpisujemy nazwy poszczególnych pluginów ( rozszerzeń ) które chcemy uruchomić na naszej stronie. Opis poszczególnych znajduje się w kodzie aplikacji na Github.

Aby uruchomić wszystkie wprowadźmy następujące : careportal basal dbsize rawbg iob maker bridge cob bwp cage iage sage boluscalc pushover treatmentnotify mmconnect loop pump profile food openaps bage alexa override

 

H16.5


17  MODUŁ MEDTRONIC MMCONECT Jeśli jesteś użytkownikiem systemu Medtronic Guardian Connect i przesyłasz dane do serwera CareLink, to możesz pozwolić swojej stronie na pobieranie bezpośrednio Twoich danych z serwera CareLink. 
W przeciwnym przypadku pozostawiasz te dane puste i nie zmienione.

Heroku17


 UWAGA . Jedna z najważniejszych sekcji. MONGODB_URI . 

Heroku11_mongo

Tu właśnie wpisujemy nasz adres do bazy danych MongoDB Atlas, którą wcześniej zakładaliśmy i skopiowaliśmy do pliku tekstowego . 

Notatnik03

Jeśli pominiemy lub pomylimy się w tej sekcji, nasza strona Nightscout nie będzie działać!

 


18 Show Plugins to sekcja, w której wpisujemy nazwy poszczególnych pluginów ( rozszerzeń ) które mają być widoczne na naszej stronie. Większość jest domyślnie deklarowana i nie trzeba ich „uaktywniać”.

Aby domyślnie wszystkie dodatki były widoczne, wprowadźmy następujące : careportal dbsize cob cage sage iage bage basal pump iob bwp openaps loop speech

H16.7

 


19 Na koniec możemy zmienić format wyświetlanego czasu na 24 i kliknąć  Deploy app

H16.8


20 Po zakończeniu kompilacji aplikacji, wchodzimy w zarządzenie naszą aplikacją. Musimy jeszcze dopisać kilka brakujących linijek. 

H17w

 


21 Po ukazaniu się panela z naszą aplikacją, przechodzimy do sekcji SETINGS oraz klikamy Reveal Config Vars

H18aw

 


22 W tym miejscu zobaczymy całą listę zmiennych, wypływającą na działanie naszej strony. Tu możemy, w każdej chwili zmienić wartości alarmów, wartości, czasy, ustawienia plugins itp.

H18bw

 

23. Każdą z tych komórek możemy modyfikować poprzez naciśnięcie symbolu ołówka lub usunąć przez X . Teraz musimy dopisać brakujące wartości w ostatnim polu i zatwierdzając przyciskiem Add

AUTH_DEFAULT_ROLES            readable devicestatus-upload

DEVICESTATUS_ADVANCED         true 

PUMP_FIELDS                   clock reservoir battery status

BASAL_RENDER                  default
SCM_COMMAND_IDLE_TIMEOUT      300

 

 

H18dw

24. Tak powinna wyglądać dopisana cała sekwencja :

H18ew

25 Następnie klikamy na przycisk Open app  otwierający naszą stronę Nightscout.

H18w

 


26 Przy pierwszym spotkaniu , nasza strona przywita nas takim komunikatem. Klikamy OK

H19w


27 Wykonujemy autoryzację naszej przeglądarki w celu modyfikacji i zapisania naszego profilu. 

H20w


28. Do autoryzacji używamy naszego hasła API Secret . Możemy zapamiętać nasze hasło i kliknąć Update.

H21w


29 Prawidłowa autoryzacja będzie będzie rozpoznawalna poprzez Authentication status  : Admin authorized . W tym momencie możemy uzupełnić swój profil i kliknąć SAVE.

H22w


30 Otrzymamy komunikat o tym, że nasz profil zostanie zapisany w nowej formie i nie będzie dostępny dla starszych wersji strony. Klikamy OK.

H23w


31 Prawidłowe zapisanie profilu będzie zakończone komunikatem: Success

H24w


32 W przeglądarce wracamy do naszej strony , usuwając z przeglądarki dopisek /profile  lub wpisujemy jeszcze raz adres ręcznie.

H25w

W ten sposób mamy całą, oprogramowaną stronę Nightscout na serwerze HEROKU.

Posiadając hasło API_secret  oraz adres swojej strony  http://nazwa.herokuapp.com możemy wpisać je w aplikacjach przysyłających dane glikemii z systemów :

  • Dexcom G4, G5, G6 (xDrip +)
  • Abbott Freestyle Libre z nakładkami
  • Nightscout dla VEO Medtronic
  • 600 series ns uploader ( Minimed 640G)
  • Pętli AndroidAPS

33 . Z poziomu strony możemy włączać i wyłączać zadeklarowane wcześniej pluginy. 

H26w

Gratulacje, dokonaliście tego sami 😉

 

przygotował Szymon Czapla