Пользователь
0,0
рейтинг
18 июля 2014 в 14:43

Tasker tutorials. Часть 1: Добавляем свои команды в Google Now tutorial

Первая статья из цикла, направленного на превращение обычного смартфона в настоящий продвинутый гаджет для истинного гика.
Цель этого цикла статей — научить максимально автоматизировать действия, связанные со смартфоном и показать интересные сферы применения смартфону.
Таскер-это мощнейший инструмент автоматизации действий телефона и его взаимодействия с окружающим миром.
Можно выполнять различные действия как реакцию на приложения (запуск/остановка), время, дату, смену местоположения, показателей датчиков телефона или событий (в том числе различных плагинов).
В первой части цикла будут рассмотрена возможность добавления своих команд в Google Now и выполнение различных действий после распознавания команды, что может вывести домашнюю автоматизацию на новый уроверь.

Google Now


На данный момент Google Now поддерживает ограниченный список голосовых команд, которые можно найти на официальной страничке поддержки. В одном из предыдущих обновлений включили поддержку распознавания фразы «OK, Google» на русском языке.



Затем добавили распознавание фразы на любом экране (раньше было только на рабочем столе и в карточках Google Now), хотя официально работает пока только на Английском. На хабре уже была статья с доступными командами да и на YouTube есть много видео с примерами.
С помощью голоса можно набирать смс, звонить, создавать заметки и ставить таймер/будильник и т.д… Но что делать, если этого не достаточно и хочется добавить свои команды? Например «Выключи вайфай» до сих пор не работает даже на английском. Просто отправляет в настройки.
Если интересно как добавить практически любую голосовую команду для Google Now без наличия рут прав (сразу оговорюсь, только на поддерживаемых аппаратах), прошу под кат. Это добавит практически безграничные возможности домашней автоматизации да и просто поможет облегчить жизнь и высвободить время.

Итак, функция активного прослушивания команд на рабочем столе доступна для андроида начиная с версии 4.2. На более низких версиях необходимо нажимать на значок микрофона принудительно.
Если произнести «Ок, гугл. Выключи вайфай», то нам сначала покажут карточку и через пару секунд откроется окно с настройками вайфай, где надо нажать кнопку для выключения.



Далее на примере той же самой команды я покажу как сделать, чтобы вайфай выключился сам. По аналогии можно настроить выполнение любых команд, которые только могут прийти в голову… ну почти.

AutoVoice

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

Для начала нам необходимо установить две замечательные программы: Tasker и AutoVoice. Программы платные, но стоят не дорого и я призываю поддержать разработчиков.
Затем в AutoVoice необходимо включить интеграцию с Google Now, или зайти в настройки — спец.возможности и активировать там.



Далее заходим в таскер. Создаем новый профиль. Нажимаем +, для условия выбираем событие/event, плагин/plugin, далее выбираем AutoVoice Recognized.



Нажимаем карандаш в правом верхнем углу, нажимаем Speak Filter и диктуем фразу, на которую мы хотим реагировать. Например «выключи вайфай». На выбор распознавание выдаст 5 вариантов, нажимаем на более правильный. Нажимаем кнопку назад и должны увидеть такую картинку:



Нажимаем еще раз назад. Для самого действия/Task выбираем Сеть/Net — WiFi- и смотрим чтобы вверху стояло Выкл/Off. Нажимаем 2 раза назад и видим такую картину (4й сверху профиль).



Выходим из таскера кнопкой назад (рекомендуется это делать всегда, чтобы обновленные профили заработали) и пробуем.
Должно получиться так: (следите за значком вайфая, звука на видео нет).



Вот в принципе и все. По аналогии можно настроить на каждую фразу любое действие или последовательность действий.
AutoVoice поддерживает распознавание regex, то-есть можно диктовать длинные фразы, часть слов из которых может выступать переменными, но об этом как-нибудь в другой раз, если тема вызовет интерес.

Напоследок видео от создателя многих интересных плагинов к таскеру — Joao Dias:



UPD1:
Небольшое дополнение для рутованных телефонов.
Если поставить xposed framework и мод Ok Google for 3rd party activities, то можно настроить срабатывание ключевой фразы из любого приложения уже сейчас (на самом деле уж месяца 2 назад, до того как гугл выкатил обнову для англоговорящих).
UPD2:
У кого не обеспечивается интеграция с Google Now: если есть рут, то можно перехватывать команды через модуль к xposed framework — Google Search / Now API, который поддерживает плагин AutoVoice. Для работы необходимо его ставить первым, т.к. если AutoVoice уже установлен, то удалить и поставить заново. И так делать после каждого обновления модуля.
@BRADA
карма
18,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (23)

  • 0
    включили поддержку распознавания фразы «OK, Google» на русском языке.

    это вообще как понять?
    • +1
      Раньше работало только при системном языке English. На рабочем столе говоришь Ok, google и запускается голосовой поиск. Соостветственно команды при этом можно было говорить только английские. Потом с помощью рута и путем ковыряния в файлах, добавили и на русский. Потом вышло обновление и для системного языка «русский» и команды можно было произносить по русски.
      Скоро активируют срабатывание голосового поиска по ключевой фразе из любого места (при запущенных программах) на локскрине
  • +30
    Вопрос не в тему.
    А вам честно удобно с таким шрифтом жить?
    • 0
      Мне — да. Менял специально. В прошлый раз уже минусовали и я не понимаю кто. Дизайнеры? Перфекционисты? Объясните чем этот шрифт вызывает такое отталкивающее чувство у людей…
      • +13
        Да потому что читать его неудобно, как частокол разной высоты, особенно где «Select Plugin Event» — вообще ППЦ.
      • +4
        Глаза от него болят, извините…
      • 0
        Полезно почитать на досуге
        www.alivetypography.ru/
        :)
      • 0
        А я соригинальничаю.

        Шрифт вполне симпатичен и неплохо читабелен сам по себе. В отличие, скажем, от Corrida/Matador или от Betina Script.

        Вот что лично мне бьет по глазам — так это его визуально-стилистическое несоответствие интерфецсу. Все остальные линии должны быть такими же небрежными, а иконки — в «карандашно-штрихованном» стиле. А у вас стандартная аккуратная галочка уже с ним диссонирует.

        И ничего не поделаешь — нельзя интерфейс андроида переделать под этот шрифт, чтобы было хорошо.
    • +6
      Парни, вот только для вас… Накатил оригинальный шрифт, переснял и перезалил заново скрины…
      Ведь хабр — это большая дружная (почти всегда) семья =)
  • 0
    Вот интересное приложение, которое включает микрофон даже тогда, когда выключен экран.
    Open Mic+
    • 0
      Есть еще #Launchr for Google Now бывший Ok Google Now (beta), только батарейку все же отжирают ощутимо оба.
      А так да, можно настраивать вообще на любую фразу. Я делал на «слушай команду».
    • 0
      AutoVoice это тоже умеет. Проверил только что на умном доме. Fibaro API + Tasker.
  • 0
    AutoVoice поддерживает распознавание rejex, то-есть можно диктовать длинные фразы, часть слов из которых может выступать переменными, но об этом как-нибудь в другой раз, если тема вызовет интерес.

    Интересно. Полезно для того же умного дома при установке температуры, уровня освещения. Может, заодно, рассмотрите выполнение задания по таймеру.
    • 0
      Советую посмотреть видео на канале Armando Ferreira. В сети один из самых знаменитых по автоматизации. У него же в соседнем плейлисте куча обучающих видео. Плагин AutoVera много чего умеет. Ну и конечно видеоинструкции от самого Joao Dias. Про таймер не совсем понял.
      • 0
        Про таймер не совсем понял.

        Выполнить <что-либо> через ХХ секунд/минут и т.д.
        • 0
          Да, не сложно.
          Подставить в state — plugin — AutoVoice Recognized например

          выключить (?<device>.+) через (?<number>.+) минут
          поставить галочку на regex и потом забирать переменные %device и %number в само действие
          • 0
            Да, уже прикрутил regex-конструкцию. Пока заметил проблему, что устройство или название помещения, состоящие из двух слов иногда попадают то в одну, то в другую переменную, например, свет на кухне: (?.+) = свет на, (?.+) = кухне
            • 0
              Напиши полную команду. я говорю «выключи свет через 5 минут» и «выключи верхний свет через 5 минут», все норм попадает. и срабатывает «выключи свет на кухне через 5 минут». в первую переменную нормально забирает устройство, во вторую время.
              • 0
                (?<action>включить|выключить) (?<device>.+) (?<room>.+)
                Говорю: Включить теплый пол на кухне.

                На выходе выдается:
                (?<action>включить|выключить), (?<device>.+), (?<room>.+)
                включить, теплый пол на, кухне

                Следовательно, девайса «теплый пол на» не существует, как и комнаты «кухне».
                Возможно, я не так условия подстановки переменных организовал.
                • +1
                  Ну логично. Надо сделать 3 переменные action, device и room. Соответственно первое слово определяет, из 4х оставшихся слов «теплый пол на кухне» нужно выделить 2 переменные. последнее определяет и так как (.+) может быть от одного до бесконечности, то на вторую переменную как раз 3 слова остается.
                  Поставь (?<action>включить|выключить) (?<device>.+) (в|на) (?<room>.+) — тогда определит и «включить теплый пол на кухне» и «выключить теплый пол в большой комнате».
                  А вообще советую пользоваться онлайн тестерами типа такого
        • 0
          По аналогии с командами выше, правильная команда с таймером будет (?<action>включи|выключи) (?<device>.+) через (?<number>\d+) минут.
          Так так гугл по умолчанию для некоторых цифр выдает слова (пять, восемнадцать), надо в настройках AutoVoice прописать замены пять=5, шесть=6 и т.д.
  • +1
    Посмотрите на Ассистента Дусю, куча методов активации (настраиваемая фраза, поднести смартфон к уху, потрясти, на окне блокировки и т.п.) и даже собственные команды (правда я так надеялся на отдельный скриптовый язык с репозитарием или хотя бы возможностью загрузки 'этих плагинов' с сайтов по qr-коду, надеюсь эти идеи дойдут до разработчиков, правда тут есть и негативные последствия в плане злонамеренного кода).

    Но самое главное, оказывается уже какое то время, распознавание (а еще ранее и синтез) русскоязычной речи уже работает оффлайн (после загрузки XX-мегабайтного движка от гугла), т.е. буквально вчера установленное мной приложение спокойно работает без интернета (приложения открываются, контакты звонятся, sms-ки пишутся и шлются, калькулятор считает и озвучивает результат, а так же работа с календарем, задачами, и кучей чего я еще не пробовал).
  • 0
    Ориентируясь на количество просмотров и добавлений в избранное, решил немного подкорректировать название и саму статью. Надеюсь последующие статьи вызовут интерес.

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