Управляем Андроид смартфоном и Андроид-ТВ

Материал из База знаний
Перейти к навигации Перейти к поиску



Вступление

Рассмотрим простой способ управления любым Android-смартфоном или ТВ-приставкой на Android, с которым справится даже рядовой пользователь. А перечисленные приложения помогут расширить возможности данных устройств, и настроить автоматизацию под любые задачи.

Для работы нам потребуются:

  1. AutoRemoteLite - программа-плагин для отправки вебхуков на устройство.
  2. MacroDroid - мощное, удобное и простое приложение для автоматизации Андроид-устройств.
  3. Навык УДЯ "Домовенок Кузя"
  4. Умный дом Яндекса
Советую использовать MacroDroid Pro, которая имеет больше функций и позволяет создать более 5 макросов, но на первое время сойдет и бесплатная версия.


Настраиваем AutoRemoteLite

  1. Загрузим и установим AutoRemoteLite из GooglePlay.
  2. При первом запуске приложение предложит задать имя устройства. Укажем.
  3. После ввода имени нажимаем "Оk", попадаем на главный экран (остальные диалоговые окна можно пропустить).
  4. Видим ссылку на страницу отправки сообщений через наш плагин, переходим:
То есть, для отправки сообщения "свет" через наш плагин мы просто меняем &message=Привет на &message=light
Судя по всему, Autoremote-Lite понимает сообщения в 2 символа, и лучше отправлять короткие &message=lt

Настройка AutoRemoteLite закончена. Проверяем работу, перейдя по ссылке вебхука. На устройстве появится уведомление о том, что сообщение дошло (это можно отключить стандартными средствами Андроид).


Самое интересное, или MacroDroid

Переходим к самому вкусному - приложению Macrodroid, и сделаем из нашего смартфона или другого смарт-устройства что-то действительно умное. Для этого загрузим MacroDroid и попробуем создать макрос (так называются сценарии в Macrodroid) поиска телефона.

Для начала немного теории, чтобы понять принцип работы. В программе Macrodroid есть 3 раздела:

  • Триггеры - события, на которые можно установить реакцию (например, поступил звонок, SMS, или сообщение по нашему вебхуку).
  • Действие - набор этих реакций на триггеры. Т.е. что нужно сделать?
  • Ограничения - например, выполнять наши действия с 6:00 до 22:00, или только если включен Wi-Fi (в этом случае ночью и при выключенной связи Wi-Fi действия не будут выполняться).


После установки и прохождения небольшой презентации попадаем в основной экран программы, где видим несколько кнопок.

  1. Жмём "Добавить макрос". Попадаем в раздел "Триггеры".
  2. Выбираем "Плагин Locale/Tasker" из списка "Приложения".
  3. Из списка доступных плагинов выбираем "AutoRemote".
  4. Из списка внутри плагина выбираем "AutoRemote Событие".
  5. Попадаем в окно, где выбираем пункт "" и вводим сообщение-якорь, которое мы будем отлавливать после вебхука (что будет стоять в конце ссылки нашего вебхука после &message=).
  6. Нажимаем "Оk".
  7. Выходим из настройки плагина кнопкой "Назад".
  8. Появится окно настройки переменных. Нас оно не интересует, просто нажимаем "Оk".
Мы создали триггер, который сработает при проверке приходящего сообщения, если там окажется наш якорь (&message=). 
Теперь настроим для триггера нужные действия.
  1. Выбираем вкладку "Действия".
  2. Создадим действие, устанавливающее громкость телефона на 100%: в списке "Громкость" выбираем "Установить громкость".
  3. Ставим все галочки и выводим все каналы на 100%. Отлично, громкость на максимуме!
  4. Теперь проиграем любой звук:
    • В списке "Медиа" выбираем "Воспроизвести/Остановить звук".
    • В следующем окне в пункте "Выбрать файл" - файл с нужным звуком.
    • Из списка "Действия устройства" выберем пункт "Вибрация" (для пущего эффекта), и что-нибудь на свой вкус.
    • Сохраним макрос, нажав плавающую кнопку с галочкой внизу экрана (попутно задав имя действия).
 Теперь при переходе по ссылке вебхука с нужным сообщением в конце (которое мы задали в процессе создания триггера в п.7), например:
 https://autoremotejoaomgcd.appspot.com/sendmessage?key=ey7Nh7xwdGc:APA91bEW8uUIUHLKhkjhkkhjkklu8977878tyuicRXdVQ2ijcK598Dj17q69zS-QylATWFjBxoXhPK8Nu3kVp3WcA7a5QR3gHvZrVNNlHrUUzvaLjVcbJdyOh7RM-VDea7fGkMcYy_5N&message=sp
 наше устройство выведет громкость на 100%, проиграет выбранный нами звук и провибрирует. 

Но что, если этого недостаточно, чтоб найти устройство? Например мы хотим, чтобы действие продолжалось, пока мы не разблокируем экран.

  1. Заходим в "Макросы" и открываем наш макрос.
  2. В разделе "Действия" найдем и нажмём "+".
  3. В появившемся списке "Циклы/Условия" выберем "Цикл действий".
  4. В открывшемся окне выберем "Пока выполняется Условие".
  5. С помощью "+" добавим условие, при котором созданное действие будет выполняться циклично.
  6. В списке "Состояние устройства" выбираем "Блокировка устройства".
В списке действий появились два блока, обозначающие начало и конец цикла. 
Действия, которые будут выполняться в цикле, нужно передвинуть между началом и концом. 

Для этого выбираем соответствующую кнопку и перетягиваем действия за символ "=". Наш новый макрос будет повторять свои действия, пока мы не разблокируем экран.

Осталась небольшая проблема: если экран изначально не заблокирован - макрос не сработает. 
Поэтому добавим перед циклом те же действия плюс принудительную блокировку экрана. Сохраним макрос.

Готово! Теперь наш макрос повысит громкость до 100%, проиграет звук, провибрирует, выключит экран, и... начнёт вибрировать и играть звук до тех пор, пока мы не разблокируем экран.

Вот ещё несколько примеров, какими могут быть макросы (их можно скачать здесь и импортировать в Macrodroid).


Добавляем макросы в УДЯ

Пришёл черёд навыка УДЯ "Домовенок Кузя". Добавляем в Кузю макросы вида:

https://autoremotejoaomgcd.appspot.com/sendmessage?key=ey7Nh7xwdGc:APA91bEW8uUIUHLKhkjhkkhjkklu8977878tyuicRXdVQ2ijcK598Dj17q69zS-QylATWFjBxoXhPK8Nu3kVp3WcA7a5QR3gHvZrVNNlHrUUzvaLjVcbJdyOh7RM-VDea7fGkMcYy_5N&message=ss
https://autoremotejoaomgcd.appspot.com/sendmessage?key=ey7Nh7xwdGc:APA91bEW8uUIUHLKhkjhkkhjkklu8977878tyuicRXdVQ2ijcK598Dj17q69zS-QylATWFjBxoXhPK8Nu3kVp3WcA7a5QR3gHvZrVNNlHrUUzvaLjVcbJdyOh7RM-VDea7fGkMcYy_5N&message=sp

Подробнее тут.

Теперь добавляем устройства в УДЯ.

При этом можно создать сценарии с удобными названиями для вызова готовых устройств. 
Например, сценарий "Вызови скорую" с действием "Включи вызов Скорой".


Идеи для макросов

Несколько примеров, какими могут быть макросы в Macrodroid:

Выполняемые из УДЯ (по триггеру якорь-сообщения):

  • Запустить приложение с ТВ-каналами, или видеоплеер.
  • Позвонить на любой номер.
  • Отправить подготовленное SMS.
  • Сделать фото, и сразу отправить его по почте.
  • Сделать фото/селфи по команде.
  • Отправить местоположение телефона (на заданный номер другого телефона, или на e-mail).
  • Включить Wi-Fi передачу данных.
  • Отклонить входящий вызов.
  • Ответить на входящий вызов.
  • Произнести заготовленную фразу (с помощью речевого движка по умолчанию в смартфоне).
  • Запустить голосовой поиск.
  • Записать звук на Android-устройстве - и даже отправить его Вам по почте.
  • Принудительно закрыть определенные приложения.
  • Включить BlueTooth, подключиться к устройству и включить музыку.


Не связанные с УДЯ, которые я использую

  • По времени менять обои рабочего стола (утром - утренний пейзаж, днём - полдень, вечером - закат, ночью - звёзды).
  • Макрос "Светобудильник" - незаменимая вещь (без него я уже не просыпаюсь). Если дома имеется устройство освещения, управляемое с помощью вебхуков (через blynk, IFTTT, ИК-пульт на NodeMCU итд), можно задать следующее: в 7:00 - включить свет на 20% - задержка 5 минут - включить свет на 50% - задержка 5 минут - включить свет на 100%.
  • Если подключена точка доступа Wi-Fi - выключить передачу мобильных данных, и наоборот.
  • Если запущено одно из приложений, требующих выхода в Интернет - включить Wi-Fi, задержка 10 сек; если не подключились ни к какой точке доступа - то включить мобильную передачу данных.
  • Если закрыты все приложения, использующие Интернет - выключить передачу данных и Wi-Fi (аналогично и BlueTooth).
  • Проговорить полученное SMS/уведомление голосом.
  • При подключении наушников (в том числе BT) запустить плеер и музыку.
  • Используя триггер "Активность "Бег", включить музыку (с ограничением - если при этом подключены наушники).
  • При входе в геозону "Работа" выполнить список действий (выключить звук, подключиться к местной сети Wi-Fi, отправить пакеты для включения рабочего ПК по WOL или HTTP-get).
  • То же самое - с зоной "Дом" (или любой другой зоной).
  • При выходе из зоны "Дом" выключить все умные устройства (по вебхукам).
  • Проговаривать погоду в определенное время.
  • Запускать приложения или отправлять веб-хуки по времени.
  • Делать фото при неудачной разблокировке экрана после определённого количества раз.
  • Отправлять местоположение смартфона, после получения SMS с определенным текстом, или по времени.
  • Сообщать о полной зарядке или почти полной разрядке смартфона.
  • Включать тревогу при отключении от определенного BT-устройства или точки доступа, одновременно отправляя местоположение, SMS с ограничением по времени (или при запуске макроса "режим охраны" по ярлыку).
  • Запускать набор действий по ярлыку.
  • Проговаривать время каждый час (этим не пользуюсь, но тоже можно).

...и многое-многое другое. Это далеко не полный список, а лишь то, что вспомнилось "на лету".


Послесловие

Для автоматизации Android-устройств есть много приложений (Tasker, AutomateIt, Automate и другие) - но Macrodroid, пожалуй, самое лаконичное из всех; при этом функционал не уступает аналогам. Но это уже на ваш вкус и выбор =)

В статье представлена лишь малая часть того, что и как можно настроить. Всё ограничивается лишь вашей фантазией.

Удачи вам в создании действительно умных из казалось бы, умных устройств.=)

'Альтернативные варианты, в т.ч. с отправкой триггеров на Яндекс колонки.'

Источник — https://wiki.yaboard.com/index.php?title=Управляем_Андроид_смартфоном_и_Андроид-ТВ&oldid=5869 // MOD ext links // End MOD