Немного об управлении HTPC

в 13:47, , рубрики: Eventghost, HTPC, mediaportal, XBMC, Гаджеты. Устройства для гиков, Песочница, пульт ду, Электроника для начинающих, метки: , , , ,

Немного об управлении HTPC
Я — человек ленивый. И, как и всякий IT-шник, готов горы свернуть, лишь бы потакать своей лени. Поэтому, когда в моей квартире появился самосборный HTPC, я решил довести удобство управления им до идеала. Сразу скажу, что абсолютно удобного способа у меня не получилось. Но в своих попытках создать оный я перебрал множество вариантов, от обычной радиоклавиатуры до HDMI-CEC адаптера, и, думаю, рассказ о них будет многим небезынтересен.

Среда

Прежде всего, расскажу о своем «окружении», т.е. о том, чем именно нам предстоит управлять. На данный момент это всего 2 устройства: Телевизор Samsung 46C650, и HTPC (корпус GMC AVC S-1, оболочка –MediaPortal на Windows 7). Пару слов о том, почему было выбрано именно такое сочетание. Да, если в качестве проигрывателя использовать коробочный медиаплеер типа WDTV Live, то многих проблем с управлением можно было бы избежать. Но, во-первых, во время сбора моего HTPC подобных устройств (способных проигрывать любые кодеки вплоть до FullHD 60Hz) еще не было, а главное – хотелось именно HTPC. Чтобы можно было просматривать IPTV.Чтобы по утрам он показывал погоду и пробки по пути на работу. Чтобы список фильмов и сериалов выглядел именно так, как я этого хочу.
Почему именно MediaPortal + Windows? Из всего многообразия оболочек-медиацентров, под мои требования подходят лишь 2: MediaPortal и XBMC. Вообще-то XBMC нравится мне гораздо больше медиапортала, но у него есть проблемы совместимости с имеющимся у меня железом. Как показала практика, под Linux драйвера для моей видеокарты (Radeon HD6450) пока недостаточно стабильны — у меня под Ubuntu 12.10 довольно часто (раз в 2 недели) наблюдаются полные зависания системы во время проигрывания «тяжелых» рипов. А XBMC под Windows мне не удалось подружить со встроенным в корпус HTPC дисплеем iMon VFD. Но выбор программной оболочки не так уж и важен в нашем случае, ибо существует замечательная программа EventGhost (о которой стоит написать отдельную статью), с помощью которой можно подружить любой контроллер с любой программой.

Что значит «управление HTPC»?

Теперь о том, чего бы мне хотелось от идеального пульта управления. Ну естественно, он должен как минимум уметь запускать медиа-оболочку (почему она не стартует автоматом – отдельная тема, пока же просто скажу, что мне так гораздо удобнее), ходить по меню, проигрывать файлы. Обозначим этот набор как «базовое управление медиацентром».
В принципе, для многих этого будет достаточно. Но не для меня. Например, довольно часто при проигрывании фильмов требуется переключить аудиодорожку или включить субтитры. И хотя это можно сделать при помощи «базовых» контролов через контекстное меню, гораздо удобнее было бы делать это одной кнопкой. Потому данный список функций мы назовем «расширенное управление медиацентром».
Далее, не будем забывать о том, что у нас HTPC. Так что хотелось бы его использовать как минимум в качестве интернет-станции. А для интернет необходима мышь. Мне же мышь нужна чаще. Дело в архитектуре Mediaportal-а. Хотя все основные действия можно выполнять внутри оболочки, добавление в базу новых фильмов и сериалов приходится производить через сторонние утилиты (поскольку я использую плагины MPTVSeries и Moving Pictures). Вот в XBMC это сделано гораздо удобнее, но не будем о грустном. Так что третий пункт наших требований – «мышь».
Хотя в современные медиа-оболочки встроены достаточно интеллектуальные алгоритмы, позволяющие угадать название фильма по имени файла, иногда даже они оказываются бессильны, и приходится вводить название вручную. Так что неплохо бы иметь еще и алфавитно-цифровую клавиатуру. Так и обозначим следующий пункт.
До этого мы говорили только об управлении HTPC. Но ведь в состав нашего домашнего театра входит еще и телевизор. Искать для его управления постоянно теряющийся штатный пульт – это не наш путь. Замечу лишь, что, как и все модели телевизоров Samsung последних лет, мой может управляться не только через ИК, но и по сети. В телевизоре есть порт Ethernet, по которому им можно управлять с помощью проприетарного протокола, который уже давно вскрыт и в сети имеется достаточно его реализаций на всевозможных языках, от C# до PHP. Обозначим этот пункт как «управление телевизором».
Ну и в заключение, одно немаловажное замечание. Управление работающим устройством – это, конечно, хорошо. Но все потуги потворствовать своей лени будут бесполезны, если придется вставать и подходить к устройству для того, чтобы его включить. Так что двумя последними требованиями обозначим отдельно «включение HTPC» и «включение TV».

Критерии оценки

Кроме объективных технических параметров существуют еще и не менее важные субъективные. Я буду оценивать их по трехбалльной шкале (от плохо до хорошо). Таких параметров я насчитал два: удобство и доступность. Слово «удобство» говорит само за себя, поэтому расскажу о том, что я понимаю под доступностью. Доступность – это способность контроллера оказаться в моей руке (работающим!) в любой указанный мной момент времени. Сюда входит и способность контроллера не потеряться в нужный момент, и жизнь от батарей, и среднее расстояние от него до моей руки.

Не буду тянуть и сразу покажу таблицу функций и оценок:
Немного об управлении HTPC
Легенда:
Немного об управлении HTPC
Теперь подробнее по каждому устройству:

Передняя панель корпуса GMC AVC-S1

Немного об управлении HTPC
На передней панели моего корпуса расположились не только VFD-дисплей и лоток оптического привода, но и целых 7 кнопок управления. Помимо кнопки включения это четыре стрелки, Win, Enter и Esc. Поскольку функции их легко могут быть переопределены через EventGhost, то корпус вполне можно рассматривать как отдельный контроллер. В свое время, когда пультов в доме было не так много и искать штатный пульт корпуса было лень, я с успехом управлял с панели медиапорталом. Понятно, что с удобством тут не очень, зато панель никогда не потеряется, а батарейки у нее никогда не сядут.

Фирменный пульт от корпуса GMC AVC S-1

Немного об управлении HTPC
В комплекте с моим корпусом шел ИК пульт для встроенного контроллера SoundGraph iMon. Вроде бы все с ним неплохо: куча кнопок, эмуляция мыши, ИК сигнал (что значит долгая работа от батарей), обусловленная встроенностью приемника в корпус способность включать HTPC из полностью выключенного состояния, HID-совместимость, что позволяет работать со всеми оболочками из коробки, без дополнительных программ… Но увы. Все достоинства перечеркиваются недостатком, причину которого я так и не нашел. Дело в том, что пульт работает только на весьма близком расстоянии от корпуса. Даже те 2,5м которые разделяют мой диван и HTPC, оказались ему не под силу. Причем SoundGraph, известная максимальной закрытостью в своих решениях, применила в нем какой-то нестандартный протокол, в результате мне не удалось обучить его командам ни один универсальный пульт управления.

Пульт от материнской платы ASUS AT3IONT-I Deluxe

Немного об управлении HTPC
Когда в свое время я собирал домашний сервер, единственной материнкой, подходящей под мои требования, оказалась ASUS AT3IONT-I Deluxe (почему- отдельная тема). В комплекте с ней шел ИК-приемник и пульт управления. Так как серверу пульт ни к чему, контроллер был прицеплен к HTPC.
Со своей работой пульт справляется отлично, но для полного счастья на нем не хватает кнопок, а те что есть имеют странные и весьма не мнемоничные обозначения. Так как приемник HID-совместимый, повесить на него другой пульт управления не получится. Впрочем, имеющихся кнопок хватает почти под все задачи, а в EventGhost-е легко настраивается эмуляция мыши стрелками. В целом решение мне нравится, но (возможно, из-за того, что мать в HTPC не родная) включить его с пульта не удается. Нет и клавиатуры (а печатать через On-screen клавиатуру в Windows ну очень неудобно). Управление телевизором с помощью EventGhost я настроил, но ввиду малого количества пришлось ставить переключатель режимов мышь/комп/ТВ на одну кнопку, что не очень удобно.

OneForAll Kameleon 4 (URC 8204)

Немного об управлении HTPC
С давних пор, еще до HTPC, у меня работает универсальный ИК-пульт «4 в 1». Поскольку пульт от Asus работает по стандартному протоколу, все его команды легко распознались Камелеоном, и у меня образовался фактически полностью универсальный пульт. Конечно, он все так же не мог включить HTPC, да и клавиатуры не было, но до приобретения радиоклавиатуры он оставался любимым моим способом управления медиацентром. Ну а ввести время от времени парочку названий фильмов можно и спомощью…

Mouse Without Borders / Synergy

Немного об управлении HTPC
Как и у всякого айтишника, у меня дома много разных компьютеров, а вот мониторов и клавиатур меньше. Как раз эту проблему и призваны решать программы-«виртуальные KVM свитчи». Многие предпочитают Synergy за открытый код и кроссплатформенность, но мне больше подошла Mouse Without Borders. Она хоть и существует только под Windows, но гораздо легче в настройке, да и работает стабильней. Даже сейчас, имея радиоклавиатуру, мне часто бывает проще подойти к основному компу и легким движением мыши перенаправить управление на HTPC. Проблема включения HTPC легко решается при помощи WakeOnLan. Жаль только, что сам комп включен бывает не всегда. Да и вставать с дивана – сами понимаете…

Радиоклавиатура Genius LuxeMate T810

Немного об управлении HTPC
Именно поэтому в моем доме появилась радиоклавиатура Genius LuxeMate 810. После этого мне долго казалось, что мои поиски закончены, и я нашел свой Грааль. В этой клавиатуре мне нравилось почти все: и «ухватистость», и наличие мышиного трекпойнта, и многообразие мультимедийных клавиш. А после написания мной плагина под EventGhost для управления телевизором в моем сердце почти воцарилась гармония. Почти – потому что телевизор по сети, увы, не умеет включаться в принципе, а включение PC с клавиатуры возможно только через PS/2 разъем. Разумеется, есть WakeUp с USB клавиатуры из состояний S3/S4 (стендбай/ гибернация), но мне бы хотелось именно включения.
А потом случилось страшное. В моей клавиатуре перестали нажиматься несколько клавиш, и я решил заменить ее по гарантии. На замену мне дали вроде бы точно такое же устройство, но с незаметной буквой T перед номером модели 810. Оказалось, что буква эта означает отсутствие подсветки (что мне не сильно мешало, ибо в старой модели подсветка была чисто номинальной и в темноте не давала почти ничего рассмотреть) и оптический джойстик вместо трекпойнта – и вот это была катастрофа. Нет, само управление мышкой стало даже удобнее, но вот батарейки… Если раньше их хватало на 2-3 месяца, то теперь они расходовались за 2 недели. После 2 месяцев мне надоело постоянно менять комплекты аккумуляторов (у меня их 2, как и положено, ибо зарядка внутри устройства не предусмотрена), и клава отправилась в шкаф. Я даже подумывал о покупке Logitech DiNovo Mini, несмотря на её нереальный прайс, но прочитал в обзоре, что она тоже долго не живет, и успокоился.

Андроид-смартфон Samsung Galaxy Note II

Немного об управлении HTPC
Не так давно у меня появился смартфон на андроиде. Пока клавиатура была всегда наготове, проблема вечно теряющихся пультов ушла на второй план – такую дуру потерять сложно. Но теперь вновь часто бывает так, что ты сидишь на диване, а все пульты как на зло лежат под телевизором, и только смартфон на тумбочке рядом мигает диодом пропущенного звонка… Что ж, так тому и быть! SamyGo Remote прекрасно рулит телевизором по WiFi, aMPdroid довольно успешно управляет медиапорталом а Wake On Lan справляется с включением HTPC. В маркете полно программ для управления PC по WiFi, можете выбрать сами по вкусу.

HDMI-CEC адаптер Pulse-Eight

Немного об управлении HTPC
Ну это, конечно экстремальный случай. Чаще бывает, что один какой-то пульт все-таки доступен в непосредственной близости. И хорошо, если это Камелеон. А если штатный пульт от ТВ? И на этот случай есть решение! Дело в том, что все современные телевизоры умеют управлять подключенными к ним по HDMI устройствами по протоколу CEC. Жаль только, что ни одна из известных мне материнских плат с HDMI-выходом не подозревает о нем. Поэтому придется докупать стороннее устройство. В сети есть несколько контор, продающих CEC-адаптеры, все они стоят примерно $50+доставка. Я выбрал адаптер от Pulse Eight. Такое устройство включается в разрыв HDMI кабеля, а торчащий хвост втыкается в USB и представляется системе специальным контроллером. Достаточно на пульте от ТВ выбрать в качестве источника HDMI-CEC, и он переводится в режим управления подключенным устройством. Поддержка таких контроллеров встроена как в MediaPortala, так и в XBMC. К сожалению, на данный момент для этого устройства еще нет плагина под EventGhost, но, поскольку все бибилиотеки под него производитель публикует под открытыми лицензиями, это только дело времени. Я пишу свой плагин, но плохое владение boost::python и MSVS сильно сдерживает продвижение. В целом решение очень нравится. Из недостатков отмечу лишь невозможность включения HTPC и вполне понятное отсутствие клавиатуры.

Motorola Nyxboard Hybrid

Немного об управлении HTPC
Вместе с CEC-адаптером по случаю мне достался универсальный пульт Mototrola Nyxboard Hybrid. Устройство обещало бешеный функционал: с одной стороны обучаемый ИК-пульт с множеством кнопок, с другой – клавиатура и контроллер мыши, работающие по радиоканалу через прилагающийся USB-адаптер. Переключение между этими режимами происходит отдельной кнопкой. И оно действительно работает! Даже при простом перевороте пульта в комп уходит определенное сочетание клавиш. Только вот мышкой управлять неудобно — приходится постоянно держать зажатой кнопку. Ну и русские буквы на клаве не обозначены. Можно было бы напрячься и выгравировать их в мастерской, но увы, оно того не стоит. Ибо в очередной раз все достоинства перечеркиваются недостатком: устройство разработано для XBOX, и, видимо из-за этого с виндами не дружит: после каждой перезагрузки мой HTPC отказывается распознавать его USB-контроллер. Приходится его вынимать и втыкать заново. Причем такое происходит в любом USB-порту как на HTPC, так и на домашнем десктопе. Так что приходится признать этот пульт самым бесполезным устройством в нашем наборе.

КПК на Windows Mobile HP hx4700

Немного об управлении HTPC
После покупки андроид-смартфона мой старый КПК на WinMo, до того честно трудившийся навигатором, ушел на пенсию, и у меня возникла идея пристроить и его для управления медиацентром. А что? Штатный крэдл обеспечивает его почти бесконечным питанием (не так уж сложно раз в неделю поставить КПК на законное место для зарядки), встроенный ИК-порт отлично справится с управлением телевизором, а множество программ для управления PC по WiFI и Bluetooth позволит сделать с HTPC все, что нужно. Способ мне даже понравился, единственная проблема – резистивный тачскрин гораздо менее отзывчив, чем емкостной, и управлять мышкой приходится все-таки стилусом. Также я не нашел пока программы для включения HTPC через WakeOnLan. Но это пофигу, т.к. большинство времени КПК все равно проводит в крэдле рядом с HTPC, так что включить его можно и с передней панели. В ближайшее время я также собираюсь попробовать использовать экран КПК как external display для отображение инфы из медиаоболочки.

Заключение.

Как видно из таблицы, мне не удалось найти идеального устройства. Более всего для этого подходит радиоклавиатура, но и у нее есть недостатки. Также надо тщательнее подбирать железо для HTPC.
Кроме перечисленных выше существуют и другие гаджеты, предназначенные для управления техникой. Например, мною не упомянут целый класс устройств – универсальные ИК применики, втыкаемые в Com-порт (сейчас уже, как правило, со встроенным COM-to-USB переходником) и способные обучиться любому ИК-пульту (важно отличать их от обычных USB-шных HID-совместимых приемников, понимающих сигналы только с прилагающегося пульта). Также заслуживают интереса такие устройства, как Flying Mouse или IPazzPort, продающиеся на китайских барахолках за $20-$30 включая доставку. А может быть, есть возможность расширить функциональность и у описанных устройств. Буду рад, если хабр-сообщество укажет мне на них.

Автор: dmitryredkin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js