Перейти к содержанию

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

Материал из Wiki yaboard

Вступление

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

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

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

Для начала загрузим AutoRemoteLite из GooglePlay и установим.

  1. При первом запуске приложение предложит задать имя устройства.
  2. После ввода имени нажимаем "ОК" и попадаем на главный экран (остальные диалоговые окна можно пропустить). Где увидим ссылку на страницу отправки сообщений через наш плагин.
  3. Переходим по данной ссылке, где в поле Message вводим любой текст и справа, под кнопкой Send Message Now! получаем заветную ссылку вебхука вида: https://autoremotejoaomgcd.appspot.com/sendmessage?key=ey7Nh7xwdGc:APA91bEW8uUIUHLKhkjhkkhjkklu8977878tyuicRXdVQ2ijcK598Dj17q69zS-QylATWFjBxoXhPK8Nu3kVp3WcA7a5QR3gHvZrVNNlHrUUzvaLjVcbJdyOh7RM-VDea7fGkMcYy_5N&message=Привет. В конце ссылки видим следующее &message=Привет. Именно эту часть мы и будем менять в дальнейшем, сама ссылка всегда будет неизменна. Т.е. для отправки сообщения "свет" через наш плагин мы просто меняем &message=Привет на &message=light (хотя, судя по всему, Lite-версия Autoremote понимает сообщения ограниченные 2-мя символами &message=lt).

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

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

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

  • Триггеры - События, на которые будет происходить определенная реакция. Например, если поступил звонок, пришло смс, или как в нашем случае поступило сообщение по нашему вебхуку.
  • Действие - Набор действий (реакций) на наш триггер. Т.е. что нужно сделать?
  • Ограничения - Ограничения действий. Например, выполнять определенные действия, но с ограничением по времени (только с 6 утра до 22 вечера) или если включен Wifi. В таком случае ночью или при выключенной Wifi действия выполняться не будут.
  1. После установки и прохождения небольшой презентации попадаем в основной экран программы, где видим несколько кнопок. Нажмем "Добавить макрос".
  2. Попадаем в раздел "Триггеры". Выбираем "Плагин Locale/Tasker" из списка "Приложения".
  3. Из списка доступных плагинов выбираем "AutoRemote".
  4. Из списка выбираем "AutoRemote Событие".
  5. Попадаем в окно плагина, где мы выбираем пункт "" и вводим сообщение-якорь, которое мы будем отлавливать после вебхука, т.е. то что будет стоять в конце ссылки нашего вебхука после &message=. Нажимаем "ОК". Далее нужно выйти из окна плагина, т.е. нажать кнопку "Назад".
  6. Перед нами появится окно настройки переменных. Нас оно не интересует, нажимаем "ОК".

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

  1. Выбираем вкладку "Действия" и для начала создадим действие, которое выведет всю громкость телефона на 100%. Для этого, в списке "Громкость" выбираем "Установить громкость".
  2. Ставим все галочки и выводим все каналы на 100%.
  3. Отлично. Звук полный. Теперь подаем сигналы, а именно - проиграем какой либо звук. Для этого в списке "Медиа" выбираем "Воспроизвести/Остановить звук".
  4. В следующем окне пункт "Выбрать файл" и выбираем звуковой файл, который будем воспроизводить.
  5. Осталось добавить вибрацию для пущего эффекта из списка "Действия устройства", пункт "Вибрация" выберем, что-нибудь на свой вкус.
  6. Осталось сохранить наш макрос, нажав на плавающую кнопку с галочкой внизу экрана и задав имя.

Теперь при переходе по ссылке нашего вебхука с указанным в конце сообщением, которое мы задали в процессе создания триггера в п.7 (например: https://autoremotejoaomgcd.appspot.com/sendmessage?key=ey7Nh7xwdGc:APA91bEW8uUIUHLKhkjhkkhjkklu8977878tyuicRXdVQ2ijcK598Dj17q69zS-QylATWFjBxoXhPK8Nu3kVp3WcA7a5QR3gHvZrVNNlHrUUzvaLjVcbJdyOh7RM-VDea7fGkMcYy_5N&message=sp) наше устройство выведет весь звук на 100%, проиграет выбранный нами звук и провибрирует. Но, что если этого мало, чтобы найти устройство. Например мы бы хотели, чтобы указанные действия продолжались пока мы не разблокируем экран.

  1. Откроем "Макросы" и откроем макрос созданный нами. В разделе "Действия" найдем "+".
  2. В появившемся теперь списке "Циклы/Условия" выберем "Цикл действий". В открывшемся окне выберем "Пока выполняется Условия" и с помощью "+" добавим условие, при котором действия будут выполняться циклично.
  3. В списке "Состояние устройства" выбираем "Блокировка устройства".
  4. Теперь в списке действий у нас появилось два блока обозначающие начало и конец цикла. Действия, которые будут выполняться в цикле нам нужно передвинуть между началом и концом. Для этого выбираем соответствующую кнопку и перетягиваем действия за символ "=".
  5. Получаем готовый макрос, который при запросе выведет весь звук на 100% и будет проигрывать звук и вибрировать пока мы не разблокируем экран.
  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:
Выполняемые из УДЯ (выполняемые по триггеру якорь-сообщения):

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

И это далеко не полный список а лишь то, что пришло на ум на данный момент. Не связанные с УДЯ, но которые использую я

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

И многое многое другое.