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
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.
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.
4 Odpowiadamy na kolejne pytania ankietowe i klikamy NEXT.
5 Wybieramy darmowy plan i klikamy Create a cluster. ( Nie pomyl się )
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
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 )
Po ok 2-3 minutach ,jak łańcuszek przestanie „płynąć”, będziemy mieli możliwość kliknięcia w przycisk CONNECT.
8 Teraz zajmiemy się parametrami konfiguracji dostępu do naszej bazy danych. Klikamy Add Your Current IP Address
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.
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.
11 Jeśli wszytko wykonaliśmy poprawnie, przechodzimy dalej klikając Choose a connection method
12 Wybieramy Connect your application
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” .
W efekcie powinniśmy uzyskać kopię naszego adresu wyglądającą w ten sposób:
gdzie kolejne wartości to :
Przyjrzyj się temu linkowi. Zawiera on części które musimy samodzielnie wpisać.
- <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.
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.
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.
3 Jeśli wszystkie dane są poprawne dostaniemy monit o wysłaniu wiadomości weryfikacyjnej na nasz email.
4 Otwieramy naszą pocztę email i klikamy link weryfikacyjny. Jeśli nie otrzymaliśmy wiadomości szukajmy jej w katalogu SPAM.
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.
6 Otrzymujemy informacje o prawidłowym utworzeniu konta. Klikamy Clik Here to Proceed.
7 Na głównej stronie naszego konta klikamy postać naszego Awatara i otwieramy Account settings.
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.
9 Podając dane karty uzupełniamy informacje zgodne z tymi, które podaliśmy do banku. ( właściciel , adres )
10 Mamy w pełni utworzone i aktywowane konto w serwisie Heroku.
11 Wracamy do własnego kodu aplikacji w serwisie Github. Klikamy przycisk Deploy to Heroku.
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.
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.
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
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.
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.
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
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.
UWAGA . Jedna z najważniejszych sekcji. MONGODB_URI .
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 .
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
19 Na koniec możemy zmienić format wyświetlanego czasu na 24 i kliknąć Deploy app
20 Po zakończeniu kompilacji aplikacji, wchodzimy w zarządzenie naszą aplikacją. Musimy jeszcze dopisać kilka brakujących linijek.
21 Po ukazaniu się panela z naszą aplikacją, przechodzimy do sekcji SETINGS oraz klikamy Reveal Config Vars
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.
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
24. Tak powinna wyglądać dopisana cała sekwencja :
25 Następnie klikamy na przycisk Open app otwierający naszą stronę Nightscout.
26 Przy pierwszym spotkaniu , nasza strona przywita nas takim komunikatem. Klikamy OK
27 Wykonujemy autoryzację naszej przeglądarki w celu modyfikacji i zapisania naszego profilu.
28. Do autoryzacji używamy naszego hasła API Secret . Możemy zapamiętać nasze hasło i kliknąć Update.
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.
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.
31 Prawidłowe zapisanie profilu będzie zakończone komunikatem: Success
32 W przeglądarce wracamy do naszej strony , usuwając z przeglądarki dopisek /profile lub wpisujemy jeszcze raz adres ręcznie.
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.
Gratulacje, dokonaliście tego sami 😉
przygotował Szymon Czapla