Jeżeli chcesz komentować kliknij na tytuł artykułu, wyświetli się tylko ten artykuł z możliwością komentowania.

wtorek, 6 października 2020

Android - Macrodroid skrypt przypominający o lekarstwach.

/*If you need to translate an article, you can find the translation options in the right toolbar at the top.*/
Choruję na cukrzycę. Ze względu na obowiązki zdarza mi się zapominać o regularnym pobieraniu lekarstw czy iniekcji insuliny. Znalazłem aplikację na Androida która daje wiele możliwości dla naszej kreatywności w stworzeniu potrzebnych zadań dla naszego smartfona. 
Program Macrodroid można pobrać ze sklepu Play-Google. Program pobierzesz z linku Macrodroid ze sklepu play.google.com. W wersji bezpłatnej można stworzyć do pięciu własnych zadań- skryptów. Pełna wersja nie ma reklam i ograniczeń a kosztuje naprawdę niewiele. Można to traktować jak mniej więcej 5 piw postawionych autorowi :) za jego dobrą pracę.

Każdy skrypt głównie składa się z kilku sekcji a podstawowe są dwie sekcje o których wspomnę a mianowicie : 
  • sekcja wyzwalaczy 
  • sekcja akcji
Wyzwalacze służą do inicjacji skryptu czyli są to zdarzenia na które skrypt czeka aby uruchomić akcje z następnej sekcji. Program zabezpiecza możliwość uruchomienia skryptów akcji na wiele sposobów. Może to być np czas, kalendarz, czujniki smartfona, dotyk, sms, połączenie telefoniczne, komunikator WhatsUp lub inne zdarzenie. Wybór jest ogromny.

Akcje również posiadają bogaty repertuar a mianowicie mozna uruchamiać programy, wysyłać powiadomienia, reagować na sms, robić zdalnie fotografie, nagrywać dźwięk, znajdować zgubiony smartfon, zabezpieczać przed uruchomieniem i wiele wiele innych zadań zależnych tylko od własnej wyobraźni.

To podsunęło mi pomysł napisania skryptu wg własnego pomysłu:
Podstawą są trzy wyzwalacze uruchamiające skrypt w porach pobierania lekarstw. o godzinach 9:00, 14:00 i 20:00. Robiąc skrypt dla rodziców, dziadka, niepełnosprawnego sąsiada, łatwo można dodać np wysyłanie sms od nich do osoby sprawującej opiekę że wszystko OK lub np od dłuższego czasu pacjent nie reaguje. Myslę że nie jeden z Was myślał o czymś takim no i w czasach pandemii ograniczy to kontakty tylko do niezbędnych.Wyzwalacze skryptu który nazwałem "Diabetyk" uruchamiają akcje które zebrane są w trzy jednakowe logiczne bloki :

  1. Jeżeli  był wywołany wyzwalacz o godzinie 9:00 to :
    • wybudź ekran
    • ustaw zmienną globalną enableAction = Prawda
      • Wykonuj akcje dokąd zmienna globalna enableAction = Prawda
        • Czytaj na głos tekst ze zmiennej messageBreakfest (zawiera przypomnienie o wzięciu lekarstw porannych) - warunkowo gdy macroEnable = Prawda  
        • Odczekaj 5 minut -  warunkowo gdy enableAction = Prawda
        • Czytaj na głos ponaglenie wzięcia lekarstw zawarte w zmiennej messageRemind -  warunkowo gdy enableAction = Prawda
        • Czekaj minutę i powtórz sekwencję tej pętli wykonuj akcje dotąd.
      • Koniec pętli : Wykonuj akcje dokąd enableAction = Prawda, akcję przerywa inne makro o nazwie "Semafor" które uruchamiane jest aktywnością użytkownika który musi przytulic lub dotknąć smartfon zadziała wówczas czujnik zbliżeniowy. Wówczas zmienna globalna enableAction ustawia na Fałsz co przerywa akcję powtórzeń komunikatów.
    • koniec akcji wyzwalacza godziny 9:00 
  • 2. Jeżeli  był wywołany wyzwalacz o godzinie 14:00 to : bloki takie same jak powyżej
  • 3. Jeżeli  był wywołany wyzwalacz o godzinie 20:00 to : bloki takie same jak powyżej

Drugie makro to wyzwalacz uruchamiany "przytuleniem" smartfona w opcji "blisko" co powoduje akcję ustawiania zmiennej globalnej enableAction = Fałsz co wyłącza zapętlenie komunikatów w interwałach czasowych co ok 6 minut gdy pacjent nie reaguje oraz opcjonalnie gdy zmienna globalna enableGlucometer jest ustawiona na True, uruchamia odmierzanie czasu ok 120 minut do komunikatu o konieczności pomiaru stężenia cukru glukometrem.  Wg przepisu stężenie cukru we krwi badać należy na czczo oraz dwie godziny po posiłkach.

Algorytm skryptu który nazwałem Semafor:

  • Jeżeli wyzwalacz Czujnika zbliżeniowego jest "Blisko" tzn. dotykam lub "przytulam smartfon. cały skrypt ma dodane ograniczenie- warunek (enableAction=Prawda). Makro nie będzie uruchamiane gdy jest konieczne.
    • Ustaw zmienną enableAction=na Fałsz przez odwrócenie tzn gdy była prawda odwracamy na Fałsz.
    • Jeżeli zmienna enableGlukometer = Prawda to:
      • Czekaj 120 minut
      • Czytaj tekst : "Mineły dwie godziny od posiłku, możesz zmierzyć cukier glukometrem".
    • Koniec akcji jeżeli zmienna enableGlukometer = Prawda.
  • Koniec akcji wyzwalanej Czujnikiem zbliżeniowym.
Po wgraniu obu skryptów należy wprowadzić wczskając przycisk "Zmienne", zmienne globalne, poniżej opis w układzie nazwa zmiennej (typ) = wartość :
  • alarmOff(string) ="No dobrze już nie będę Ci więcej truła"
  • enableAction(Boolean)=Fałsz
  • enableGlucometer(Boolean)=Fałsz
  • messageLunch(string)="Pamiętaj o lekarstwach, zażyj dawkę przed obiadem. Tylko tabletka Siofor1000"
  • messageBreafest(string)="Pamietaj o lekarstwach, zazyj dawkę przed śniadaniem. Tabletki Siofor, Telmizek, Beto i wstrzyknij dawkę 14 jednostek insuliny".
  • messageDinner(string)="Pamiętaj o lekarstwach, zażyj dawkę przed kolacją.Tabletki Siofor,Acard i Suwardio i wstrzyknij dawkę 12 jednostek insuliny.
  • messageGlucometer(string)="Mijaja własnie dwie godziny od posiłku, wiec zmierz cukier glukometrem".
  • messageRemind(string)="Na boga weź wreszcie że te lekarstwa"

graficzny skrypt "Diabetyk" w języku Polskim:


Script "Diabetyk" in English.



Skrypt "Semafor" w języku Polskim.




Script "Semafor" in English.


pod adresem są spakowane skrypty : pobierz skrypty


Brak komentarzy:

Prześlij komentarz