Artykuł

wrz 18 2011
0

Automatyzacja pracy z Androidem za pomocą Taskera - tutorial

Jakiś czas temu, we wpisie Android dopasowany do własnych potrzeb pisałem o tym, w jaki sposób możemy spersonalizować system, spod znaku zielonego robota. W tamtym wpisie, poruszałem w głównej mierze zagadnienia związane z wizualna warstwą systemu.

Dziś chciałbym się zając trochę innym zagadnieniem, które również wpływa na personalizację systemu, czyli jego automatyzacją. Każdego dnia wykonujemy dziesiątki stałych czynności. Np. włączamy WiFi kiedy wstajemy, ustawiamy odpowiednie profile w pracy/szkole, czy też chcemy mieć np. spokój w nocy. Wszystkie te rzeczy, możemy zrobić właśnie za pomocą Taskera, czyli dzisiejszego bohatera tego wpisu.

Tasker pozwala ponadto na więcej, ponieważ za jego pomocą jesteśmy w stanie oprogramować wiele zdarzeń zachodzących w naszym telefonie. Jednym z moich ulubionych zastosowań (rozwiązanie znalezione w sieci) jest automatyczne wysyłanie SMS, z informacją, że nie możemy rozmawiać, w momencie gdy w telefonie ustawiony jest tryb cichy. Idąc dalej, tryb cichy może włączyć się automatycznie, w momencie gdy znajdujemy się na spotkaniu, a telefon wykryje zdarzenie spotkanie w naszym kalendarzu.

To tylko mały wycinek tego co może robić Tasker. Jeśli chcesz się dowiedzieć więcej - zapraszam do dalszej części wpisu:)

Informacje wstępne

Tak jak wspomniałem we wstępie, Tasker pozwala na automatyzację zadań realizowanych na naszym Androidzie z uwzględnieniem obecnego kontekstu. W zasadzie, można by go porównać do Harmonogramu zadań znanego z Windows, z tym że Tasker jest dużo bardziej rozbudowany.

Tak jak wspomniałem we wstępie, Tasker pozwala na tworzenie bardzo wielu różnych zadań, dzięki którym, nasz smartfon robi się naprawdę smart. Możliwości są praktycznie nie ograniczone, a liczba typów akcji, które możemy wykorzystać, przekracza w tej chwili liczbę 190. Jeśli dodamy do tego, że każda z akcji ma wiele różnych kombinacji i może być wywoływana w różnym kontekście, to otrzymamy praktycznie nieskończoną liczbę kombinacji jakie możemy uzyskać za pomocą tej aplikacji.

Jeszcze jedna ważna uwaga. Aplikację można przetestować przez 7 dni za darmo, pobierając ją ze strony producenta. Z poziomu tej strony, możemy również dokonać zakupu, który w tym miejscu jest tańszy, aniżeli w Markecie (brak prowizji). Dodatkowo, wykonując zakup aplikacji na stronie producenta, otrzymujemy dodatkową funkcjonalność. Minusem tego rozwiązania, są reczne aktualizacje.

Kluczowe pojęcia w Taskerze

Korzystając z Taskera, powinniśmy zapoznać się z kluczowymi terminami używanymi w aplikacji:

  • Profile (profil) - profile w Taskerze, pozwalają na grupowanie zadań wejściowych i wyjściowych. Ponadto, dla każdego profilu, możemy przypisać różne konteksty (po jednym każdego typu). Profile, stosujemy zatem do obsługi konkretnej sytuacji/zdarzenia. Możemy np. zdefiniować profil Noc, w którym będziemy dodawać zadania i akcje dla momentu rozpoczęcia tego profilu oraz dla momentu zakończenia. Często spotyka się kombinacje łączenia profili. Dzięki temu, często dużo łatwiej zapanować nad określonymi zdarzeniami i uniknąć powtarzania pewnych czynności - zupełnie jak w programowaniu:)
  • Context (kontekst) - kontekst, pozwala na definiowanie sytuacji, w jakiej dany profil ma być aktywny. Dla przykładu, kontekstem będzie określenie dni tygodnia, godziny, lokalizacji, stanu itp. Jeśli wszystkie warunki kontekstu zostaną spełnione, to dopiero w takiej sytuacji, profil zostanie aktywowany. Jeśli którykolwiek, z warunków początkowych (czyli kontekstu) przestanie być prawdziwy, to takie zdarzenie, automatycznie zakończy pracę danego profilu. Dla każdego profilu, możemy dodać wszystkie typu kontekstu, ale nie każdy typ kontekstu możemy dodać więcej niż jeden raz
  • Task (zadanie) - zadania, przypisujemy dla profilu. Profile mogą mieć zadania wejściowe (uruchamiane w momencie włączenia profilu) oraz zadania wyjściowe (uruchamianie w momencie zakończenia profilu). Każdy profil, może mieć maksymalnie po jednym zadaniu każdego typu i dla każdego profilu, musi wystąpić co najmniej jedno zadanie. Oznacza to, że profil może nie mieć zadania początkowego, lub końcowego
  • Actions (akcje) - ostatnim elementem w łańcuchu, są akcje. Akcje przypisujemy do zadań i w każdym zadaniu możemy mieć właściwie dowolną liczbę. Przykładowo, jeśli zdefiniujemy profil uruchamiany na noc, to w zdarzeniu początkowym, możemy mieć np. akcje wyłączenia połączenia internetowego, włączenia trybu cichego itp. W zadaniu końcowym, będziemy mieć za to zestaw akcji, który przywróci wszystkie zmienione wcześniej ustawienia
  • Variables (zmienne) - zmienne, to specjalny element Taskera, który zapewne szczególnie spodoba się programistom. W zmiennych, możemy przechowywać określone stany/informacje. Możemy np. ustawiać zmienną %DOM (nazwa każdej zmiennej musi zaczynać się od %) na 1, w momencie kiedy nasza lokalizacja to dom. W przeciwnym przypadku, czyścimy tą zmienną, albo ustawiamy jej wartość na 0. W zmiennych, przechowywanych jest również wiele informacji systemowych - np. aktualny stan tryb cichego, czy też numer telefonu oraz treść ostatniego SMS. Szczegółowy wykaz zmiennych, wraz z ich znaczeniem, znajduje się na stronie producenta

Rozbudowany opis powyższych elementów, można znaleźć tutaj.

Tworzenie pojedynczego profilu

Właściwą część tutoriala, rozpoczniemy od utworzenia przykładowego, pokazowego profilu. Każdego poranka, kiedy wstajemy przed pracą/szkolą, jedną z czynności, którą wykonujemy na naszym smartfonie jest aktywacja WiFi (oczywiście przy założeniu że posiadamy sieć radiową w domu). Jeśli chcielibyśmy trochę zautomatyzować tę w gruncie rzeczy banalną czynność, to Tasker służy nam pomocą:)

Po pierwsze, zaczynamy od utworzenia profilu (zielony plusik na dolnym pasku) i podajemy jego nazwę np. WiFi o poranku.

Następnie musimy dodać Context (kontekst), czyli innymi słowy, opisać warunki dla jakich ma się aktywować nasz profil. W przypadku tego typu profilu, istnieje bardzo wiele kombinacji. Dla mnie podstawowym kontekstem niewątpliwie będzie określenie godziny, czyli np. 5.55 - 6.25 (kontekst Time), dni w których profil ma być aktywowany, czyli np. poniedziałek - piątek (kontekst Date) oraz dodatkowo, chcę by WiFi włączało się tylko w sytuacji, kiedy poziom baterii jest wyższy niż 15% (kontekst State i kolejno Phone oraz element Battery Level). Wszystkie dodane przez nas konteksty, pojawiają się w lewej sekcji profilu.

W prawej części okna, dodajemy nowe zadania (Tasks). Najpierw, dodajemy zadanie wejściowe. Opcjonalnie, możemy podać nazwę zadania - w tym przypadku np. WiFi on (podanie nazwy implikuje tym, że zadanie będziemy mogli wykorzystać ponownie później w innym profilu, ponieważ będziemy odwoływać się do jego referencji). Po utworzenia zadania, dodajemy nową akcję - uruchamianie WiFi. Z grupy akcji wybieramy Net, a następnie WiFi. Na ekranie pojawią się opcje akcji. W liście rozwijanej Set ustawiamy wartość On. Możemy zatwierdzić akcję oraz zadanie.

Jeśli dotkniemy teraz zadania początkowego, to będziemy mogli dodać zadanie końcowe (Add Exit Task). W tym przypadku, wykonujemy analogiczny proces jak poprzednio, tylko że w tym wypadku z listy rozwijanej Set wybieramy opcję Off.

W tym momencie warto wspomnieć, że na ekranie definiowania zadania, możemy uruchomić testowo edytowane zadanie. Wystarczy skorzystać z przycisku Odtwarzaj znajdującego się w prawym dolnym rogu okna.

Po zdefiniowaniu wszystkich zadań, profil pojawi się na liście. Aby zatwierdzić wprowadzone zmiany, należy kliknąć na znak akceptacji, znajdujący się w lewym dolnym rogu. Dzięki temu, nasz profil zostanie dodany i rozpocznie się monitorowanie zdefiniowanych przez nas kontekstów.

Jeśli profil nam się znudzi, lub czasowo nie będziemy chcieli z niego korzystać, możemy go wyłączyć poprzez odznaczenie pola zaznaczenia przy jego nazwie na liście profili.

Tworzenie profili zależnych

Czasem, by osiągnąć pewien efekt, warto stworzyć kilka profili, które będą od siebie zależne. Przykładowo wyobraźmy sobie sytuację że jesteśmy w pracy/szkole. Również w tym przypadku, wykonujemy pewne rutynowe czynności. Np. ja osobiście włączam tryb cichy z wibracjami oraz WiFi. Jednocześnie chcę, by wraz z wyjściem z pracy, oba te ustawienia zostały zresetowane.

Wszystkie akcje, zawrzemy w trzech profilach. Zasadniczo przy tak małym stopniu skomplikowania, moglibyśmy to wszystko zawrzeć w jednym profilu, ale zostawimy sobie zielone światło, dla potencjalnych modyfikacji w przyszłości. Ponadto, dzięki rozbiciu wszystkich akcji na trzy profile, nauczymy się jak korzystać ze zmiennych.

Profil Praca

Pierwszy z profili, odpowiedzialny będzie za wykrywanie naszego pobytu w pracy. W tym przypadku, warunki kontekstu będą trochę bardziej rozbudowane. Musimy dodać trzy rodzaje kontekstu:

  • Date (data) - ustawiamy dni tygodnia na pon-pt
  • Time (czas) - ustawiamy czas, w jakim ma obwiązywać ten profil. Dla siebie dałem godziny 7.35 - 15.55, ponieważ w pracy jestem zawsze prędzej, a 5 minut przed 16, chcę już przywrócić standardowe ustawienia
  • Phone near (telefon w rejonie) - ustawiamy lokalizację telefonu, bazującą na nadajnikach sieci komórkowej, czyli pewien obszar w rejonie BTS. Kontekst Phone near znajdziemy kolejno w State, a następnie w pod sekcji Phone. Aby ustawić ten stan, musimy znajdować się w pracy, uruchomić skanowanie i dosłownie przejść się po obszarze pracy, aby znaleźć pobliskie nadajniki. Opcjonalnie możemy skorzystać z ustawienia kontekstu Location

Po ustawieniu kontekstu, definiujemy zadania. W zdaniu wejściowym, dodajemy jedną akcję Variable Set z grupy Variable. Jako nazwę podajemy %JOB (% jest ważny!), a w polu To wpisujemy wartość jaką ma przyjąć ta zmienna, czyli 1.

W zadaniu końcowym, również dodajemy jedną akcję, tym razem Variable Clear z grupy Variable i czyścimy naszą zmienną %JOB.

W ten sposób, włączamy sobie nie jako tryb pracy w Taskerze i możemy w łatwy sposób budować profile, które zależą od tego czy jesteśmy w pracy, czy też nie.

Profil Praca WiFi

Kontekstem dla tego oraz kolejnego profilu, będzie wartość zmiennej %JOB. Jeśli będzie ona równa 1, znaczy to, że należy uruchomić wszystkie profile związane z naszym pobytem w pracy.

Aby dodać kontekst oparty o wartość zmiennej, należy wybrać kontekst typu State, a następnie na ekranie Select state category wybrać opcje Variable i Variable Value.

W nowym oknie wprowadzamy następujące dane:

  • Name - %JOB
  • Op - Matches
  • Value - 1

Następnie dodajemy zadanie wejściowe i wyjściowe związane z WiFi, tak jak robiliśmy to w akapicie Tworzenie pojedynczego profilu.

Profil Praca Wibracje

Na koniec, dodajemy profil, który aktywuje wibracje na czas pobytu w pracy. Kontekst jest identyczny jak w przypadku WiFi, czyli sprawdzamy wartość zmiennej %JOB. Dodajemy jednak inne akcje.

Z grupy akcji Audio, wybieramy akcję Silent Mode (Tryb cichy). Następnie musimy wybrać odpowiednią wartość:

  • Off
  • Vibrate
  • On

Dla zadania wejściowego, akcja przyjmie wartość Vibrate (czyli włączymy wibracje), natomiast dla zadania wyjściowego, ustawiamy wartość Off. Dla formalności, dla każdego zadania definiujemy inną akcję.

Jeśli wszystko ustawialiśmy dobrze, to w momencie gdy jesteśmy w pracy i rozwiniemy belkę notyfikacji, to przy Taskerze powinny widnieć nazwy naszych aktywnych profili.

Widgety

Oprócz całej automatyzacji wykonywanej przez program, Tasker umożliwia również dodawanie widgetów. Do widgetu, przypisujemy określone zadanie, czyli zestaw akcji. Zadanie może być zdefiniowane wcześniej, bądź dodane w momencie tworzenia widgetu. Utworzony przez Taskera widget, to pojedyncza ikona 1x1.

W jaki sposób możemy wykorzystać widgety? Oto kilka przykładowych zastosowań:

  • Tworzymy widget przełącznik - po kliknięciu włącza/wyłącza WiFi/Sieć komórkową/GPS/Bluetooth - może włączać wszystkie rzeczy na raz, bądź tylko jedną z nich. Od nas zależy jakie akcje zdefiniujemy
  • Tworzymy widget, który uruchamia np. Mapy Google i jednocześnie aktywuje GPS
  • Tworzymy widget, który automatycznie wysyła SMS o zdefiniowanej przez nas wcześniej treści

Profile w sieci

W sieci, można znaleźć bardzo wiele różnych profili, jakie można zdefiniować w Taskerze. Szczególnie przydatna wydaje się sama strona Wiki Taskera. Tak jak wspomniałem wcześniej, ilość możliwości Taskera, jest praktycznie nieograniczona.

Podsumowanie

Po kilkunastu dniach zabawy z Taskerem, stwierdzam jednomyślnie, że jest to świetne narzędzie. Zasadniczą jego wadą, jest trochę kiepski interfejs oraz nie mała cena. Jednak jeśli spojrzymy na funkcjonalności, jakie jesteśmy w stanie uzyskać w tej aplikacji, to szybko dostrzeżemy fakt, że Tasker z powodzeniem może zastąpić wiele innych przez nas używanych aplikacji, w tym wszelkiej maści aplikacje pozwalające na ustawianie profili, widgety, notyfikatory itp.

Tasker, w chwili obecnej, jest niewątpliwie jedną z moich ulubionych aplikacji:)

Informacje zbiorcze

  • Cena: 19,84zł w dniu pisania wpisu (około20 zł)
  • Język polski: Tak
  • Wymagania systemowe: Android 1.6 lub nowszy
  • Market URL: Tasker
  • Strona producenta: Tasker
  • Konfiguracja testowa: HTC Desire HD, Rom: Android Revolution HD 6.1.0 - Android 2.3.5

Data ostatniej modyfikacji: 12.11.2014, 21:11.

Podoba Ci się ten wpis? Powiedz o tym innym!

Send to Kindle

Komentarze

blog comments powered by Disqus