Управляем CarWebGuru с помощью Tasker

CarWebGuru имеет свою собственную систему событий, которая постепенно развивается. Сейчас можно запускать приложения, реагировать на скорость и положение, говорить случайные фразы и т.д. Но если нужно что-то чего еще не умеет встроенная система событий, то можно воспользоваться сторонними программами автоматизации. Например, Tasker, который уже давно является одним из лидеров в этом направлении.

Tasker - главное окно со списком команд
Tasker — окно со списком команд

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

Tasker — как отправить INTENT — Broadcast Receiver

Теперь к делу. Таскер умеет посылать команды (Intent — BroadCast Receiver), а CarWebGuru умеет их принимать. Там почему бы их не подружить вместе?

CarWebGuru имеет встроенное API, для медиа плеера и для синтезатора речи. Которыми можно управлять с помощью простых команд. Итак для отправления API команды CarWebGuru необходимо задать как минимум 2 параметра:

  • 1) Action (id имя встроенного API)
  • 2) Command (код команды)

Для управления медиа плеером — «переключить на следующий трек», это выглядит так:

  • 1) Action: in.carwebguru.media
  • 2) cmd: 5

Где cmd — это имя параметра для команды, а 5 это код команды для переключения трека. Все доступные коды можно посмотреть на странице API.

В Таскере, это задается следующим образом.

  • 1) Action: in.carwebguru.media
  • 2) Extra: cmd:5

Т.е аналогично, нужно задать всего два параметра. Теперь подробно как создать такое действие в Таскере. Первая закладка PROFILES это триггеры или условия для срабатывания. Работа с ними в данный обзор не входит, так как это целая отдельная тема для обзора. При срабатывании триггера, нужно выполнить команду, вот они нам и нужны. Команды находятся на вкладке TASKS.  На этой вкладке нажимаем кнопку с плюсом (право низ), вводим название действий, например, «TestTask».  Таскер может выполнять не одну команду, а целый список, поэтому мы сначала создаем группу для команд, а затем будет добавлять команды в эту группу.

Создаем новую группу для нашей одной команды

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

Категории команд таскера

Для отправления команды нам нужна категория «System«, кликаем на нее и смотрим что там за команды:

Все команды категории System

И выбираем команду «Send Intent» которая нам нужна. После чего появляется список параметров для отправления Intent с помощью Broadcast Receiver. Как было сказано выше, нам нужно заполнить всего два поля, это самое первое Action и команду с помощью поля Extra. Вот так должно выглядеть:

 

На всякий случай, посмотрите в самом низу должно быть указано как именно отправлять интент, должно быть по умолчаниюTarget:  Broadcast Receiver:

Готово, команда создана. С помощью кнопки «Плей» внизу можно протестировать команду. На скриншоте, для теста добавлена команда Beep которая издает звук с определенной частотой. Она для финальной работы не нужна.

Окно с командами, внизу кнопка плей для запуска тестирования команд

Все готово, теперь если нажать «Плей» в этом окне, то таскер отправит команду CarWebGuru и медиаплеер CWG выполнит команду «Next Music Track».

Как сказать фразу с помощью Таскера и CWG

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

Для этого нужно аналогично отправить команду с такими параметрами:

  • Action:  in.carwebguru.tts
  • ds: текстовая фраза

В таскере аналогично задаем всего два параметра, Action и Extra, как на скриншоте:

Задаем параметры для произношения фразы. В тексте фразы можно использовать формат генерации случайного текста в формате: {фраза1 | фраза2 | фраза3}

Готово, теперь мы научились отправлять команды в CarWebGuru с помощью таскера, управлять медиаплеером и произносить фразы. Аналогично можно задавать другие команды о чем будет описано подробнее позже. Полный список команд можно посмотреть на странице описания API.

Добавить комментарий