Linux для всех

индекс
247,20

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


На хабре мелькала уже статья о такой программке, как 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.
+47
8 января 2010, 08:08
97

комментарии (42)

0
IGHOR #
хороший вариант для «Не смартфонов» ибо для них такого софта полно
жаль что «Linux only»…
+1
BupycNet #
Под Windows подобных программ много например Salling Clicker, под Mac OS не знаю.
Это возожность и для смартфонов тоже особенно если старая или умершая ос как у меня (UIQ3) и новых приложений нет.
Спасибо автор я слышал об этой программе, все руки не доходили.
–8
rdolgov #
«из обычного телефона для Linux'a»
А что специально для линукса выпускают телефоны? И как? Он по ним разговаривает? *сарказм*
Товарищ, поправьте заголовок чтобы он адекватно читался.
+1
AV_Zibarev #
Отчасти — да, отчасти нет =)
1) schoolptor.habrahabr.ru/blog/30502/#comment_821435
2) Ежели брать в рассчёт смартфоны — то для них есть куча других решений, которые не подойдут для «обычных» телефонов.

Но всё же истена есть в ваших словах, поэтому подкорректировал… =)
0
AV_Zibarev #
*истина
0
kAIST #
Через какой профиль bluetooth общается программа?
Делал для symbian нечто подобное. Работает через SERIAL PORT. Так и не получилось сделать работу через любые дрова windows.
Хочется сделать универсальную программку для всех win и linux.
0
AV_Zibarev #
Точно не знаю, и на оф.сайте информации этой тоже не нашёл =(
+3
Screatch #
Скажите а для Android есть что нибудь подобное?
0
lexich #
А для IPhone?
0
AV_Zibarev #
ХЗ, ибо андроида у меня пока нет…
Но зачем, если там есть полноценный ssh? Это же удобнее, гибче и возможностей управления через него куда больше…
0
Screatch #
Лёжа на диване мне легче нажать на кнопочку чем писать команду для увеличения / уменьшения громкости, GUI как никак удобней.
0
AV_Zibarev #
Ну. если говорить именно о готовом лёгком решении, то да… SSH не совсем подходит. =)
0
homya4ok #
0
mnemoLinux #
Отличная статья, давно мечтал о таком! За неимением bluetooth адаптера попробую настроить через HTTP, в таком случае можно будет управлять даже на огромном расстоянии.
+2
Kalpazan #
можно будет переключить канал за 1км и наблюдать в бинокль))
0
mnemoLinux #
Да тут идей масса может быть. Включаешь колонки погромче, идешь в город и запускаешь mpd, соседи будут наслаждаться музыкой :D
0
mnemoLinux #
Настроил соединение через Socket, все работает отлично :) Вспоминается цитата по этому поводу с баша.
+1
Kalpazan #
можно замок в дверях установить. И открывать с другого конца планеты его.
запускать в гости кого-нибудь, когда я не дома )
+3
Paxa #
Использую gmote для android, особенно нравится использовать его как тачпад :)
0
Screatch #
Крутая программа :)
Выполняет все свои функции на отлично, пускай через wifi а не bluetooth но не принципиально :)
0
litos #
Классно, а то мы все по старинке через IR-приемник и LIRC
А ведь можно вообще написать программку, которая будет по IP подключаться и управлять из любой точки мира!!! :-)
0
Agent_Smith #
ssh?
0
CycaHuH #
Из readme:
The overall goal of this project is to provide remote control service on Linux
through Bluetooth, InfraRed, Wi-Fi or TCP/IP connection.

Так что все есть
0
Nebulosa #
А парой ссылок не угостите?.. Понять хочу, хотябы как детектировать сигнал с пульта.
0
non7top #
в СЕ такая штука встроена. работает через HID профиль, конфиги есть и готовые и мона легко свой сделать.
+1
BupycNet #
Это кстати по идее решение для любой ОС. Главное поддержка HID, блютус. И можно к другу придти домой и треки переключать. Кстати искал аналоги на java или Symbian — нету) Все производители лезут со своими клиентами…
0
non7top #
кстати плюс в сторону СЕ, особенно с учетом того что в других «более продвинутых» трубках такого нет. жаль что не все решения у них были нацелены на потребителей (убогий дизайн, карточки МС, даже кнопки вызов\отбой не сразу сообразили как нужно делать)
0
cr0t #
2) Компьютер с Lunux’ом на борту? :) Исправьте, пожалуйста.
0
AV_Zibarev #
Спасибо, исправил.
0
Devix #
включить музыку с улицы, дабы отомстить соседям за ремонт в 7 утра в воскресенье

А что вы делаете на улице в 7 утра в воскресенье?
0
AV_Zibarev #
Это соседи сволочи в 7 утра ремонт начинали… А мстить можно в любое удобное для вас время ;) :-D
0
mask0t #
Спасибо за статью, Артём ) Сейчас буду пробовать через wi-fi настроить, а то блютуза нет)
0
mnemoLinux #
Есть кстати бот для Jabber, которому пишешь команду, он ее выполняет в консоли и выводит результат. Тоже может быть полезно.
0
Kamikaze #
Жаль адаптер bt забыл на прошлой работе, приходится извращаться, например при просмотре фильма в виде screen -S, мобильный ssh-клиент, screen -x. Вуаля, управляй. Главное не увлекаться, GPRS дорогой собака, а mplayer в консоль радостно выводит сжирая ненужные килобайты.
0
delaf #
c нокиа 3110 заработало? а то в списке его нет anyremote.sourceforge.net/devices.html
0
AV_Zibarev #
Собственно, у меня NOKIA 3110с =) Работает прекрасно ;)
0
zlll #
спасибо, благодаря этой статейке завершил работу над медиацентром… правда в ходе накатывания убунты снёс всю свою кино-мульто-сериалобазу ))) сейчас восстанавливаю )))
0
MealstroM #
если вам данная программа понравилась, советую еще глянуть в сторону BlueProximity
0
alexzzam #
Скажите, а нет ли такого пульта под WM?
0
kovyrlo #
Может я где-то не там ищу, но не могу найти скрипты вообще :( А при инсталляции ни одного скрипта у меня тоже не появилось
0
AV_Zibarev #
Под дебом дефолтные скрипты располагаются в /usr/share/anyRemote/cfg-data
0
kovyrlo #
спасибо! там и у меня

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