Как стать автором
Обновить

Создаём медиа-пульт из телефона для Linux'a

Время на прочтение5 мин
Количество просмотров8.1K

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

BluePad использовать у меня не получилось, ибо она рассчитана на более-менее не маленькие экраны. В связи с чем, в мой экранчик на Nokia 3110c она тупо не влазила… Поэтому, я начал искать дальше. И в в процессе поисков наткнулся на такую замечательную программу, как anyRemote. Именно о ней и пойдёт речь.

Всё, что нам понадобится:
1) Телефон с bluetooth
2) Компьютер с Linux’ом на борту 
3) Bluetooth адаптер для компа.


1) Настраиваем bluetooth на компе.
По идее, вполне достаточно для работы anyremote поставить себе bluez-utils (если ставить anyremote из репозиториев в Debian'e, всё, что нужно, само вытянется с зависимостями.) Раньше, многие советовали настраивать автозапрос пина для избавления от проблем, но как это не странно (баг/фича?), приложение на мобилке при подключении к компу ничего не спрашивает (исключение, если задать самой anyremote запрос пароля, но это уже другая история). Т.е. по сути, на этом настройка bluetooth на компьютере и закончена =)

2) Ставим anyRemote.
В Debian'e она есть в репозитории. Репозитории для остальных дистрибутивов и ссылки на скачивание можно найти на оф.сайте. Проблем с установкой надеюсь тоже ни у кого не возникнет.

3) Выбираем скрипт управления.
В комплекте с самой программой вам поставится ещё и куча готовых скриптов управления — cfg файлов. Каждый для своей задачи: управление amarok’ом (1.4 и 2), управление mplayer’ом, файловый менеджер, управление курсором и многое другое. Более того, на оф.сайте есть ещё вагон и маленькая тележка пользовательских скриптов… НО! anyRemote может работать одновременно только с одним конкретным скриптом.
Но эта маленькая досадная неприятность исправляется наличием скрипта All-In-One, который пробегается по папке со скриптами и даёт возможность доступа до любого из них (точнее, до тех, в которых есть записи для работы с All-In-one, но таких довольно много среди готовых решений).
По началу использования, я сам писал пару своих скриптов и переписывал готовые… Но теперь, когда руки перестали чесаться, вполне хватает функционала стандартных скриптов…
Подробная документация на англ. по написанию скриптов доступна на оф.сайте проекта… Поэтому, если кому-то чего-то не хватает — вперёд и с песней писать свои скрипты, благо, это довольно просто;)

4) Запускаем.
Для запуска, нам необходимо указать, какой именно скрипт мы хотим запустить вместе с программой. Ежели ничего не указанно, программа ищет файл скрипта сначала ~/.anyremote.cfg, и если не находит то ./.anyremote.cfg
Так же, можно с помощью флага -f указать путь до файла конфига. Что я всегда благополучно и делаю.
Вторая полезная опция: -s, для указания типа подключения… В нашем случае, это -s bluetooth:19 (дефолтная строка для bluetooth'a).
Третья вполне полезная опция: -password. При наличии этой опции, программа будет запрашивать пароль у java client'a и сравнивать его с указанным в файле ~/.anyRemote/password. Это довольно полезная опция, т.к. как я уже говорил выше, при попытке подключиться к компу java client’ом пин не запрашивается. (к сожалению, у меня с этой опцией подключиться не удалось, т.к. java client тупо вис при попытке подключиться =()
Таким образом, запуск у меня происходит примерно следущей строкой:
  1. $anyremote -f ~/.anyRemote/All-In-One.cfg -s bluetooth:19
Команда прописана в автозагрузке, поэтому, после того, как я её один раз давным давно прописал, я о ней больше и не вспоминаю…

5) Скидываем java client на телефон.
Взять его можно на оф.сайте. Есть с различными размерами иконок, поэтому, подобрать под свою мобилку — не проблема.

6) Запускаем java client на телефоне.
После запуска, всё, что нам нужно сделать — это запустить поиск нашего компьютера. Если поиск завершился удачно — выбираем в списке найденного наш компьютер, и жмём «Connect». Если же поиск ничего не дал, можно просто ввести свой адрес адаптера в виде btspp://00028892D175:19.

7) Пользуемся!
Вот и всё. Теперь, у нас полноценный пульт управления различным медиа-софтом и не только. По сути — можно сделать что угодно, с единственным ограничением — кол-во клавиш на телефоне и ваша фантазия при написании собственных скриптов =)

P.S. Для любителей GUI — есть 2 фронтенда для anyRemote: kanyRemote и ganyRemote. Они позволяют выбирать и менять налету скрипты (сомнительное счастье, при наличии All-In-One), редактировать скрипты (тоже сомнительное удовольствие, ибо есть редакторы куда получше встроенного) и загружать java client'a на телефон (наверное единственное, что действительно может пригодиться, если лень самим кидать его на телефон.)

P.P.S. Как я уже говорил, утилитка очень мощная. Помимо bluetooth она обладает возможностью управления через ИК, Wi-Fi и через HTTP. Поэтому, всё описанное выше — лишь малая часть её возможностей.

P.P.P.S. Надеюсь, эта статья кому-нибудь поможет обрести счастье и возможность лёжа на диване переключать серии сериала или же включить музыку с улицы, дабы отомстить соседям за ремонт в 7 утра в воскресенье ;)
Мне же, эта статья уже принесла счастье в виде приглашения на Хабр ( за что большое спасибо пользователю skobkin.
Теги:
Хабы:
Всего голосов 61: ↑54 и ↓7+47
Комментарии42

Публикации

Истории

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область