Страница 1 из 2

[Настройка] Управление телевизором через HDMI

Добавлено: Пн мар 27, 2017 11:44 pm
Vovix
нашел и смог использовать, как мне кажется, потрясающую вещь
И называется она HDMI-CEC!

HDMI-CEC это технология управления устройствами через кабель HDMI
кому интересно почитайте например тут: http://1fleshka.ru/vse-chto-vy-eshhe-ne ... i-cec.html
У разных производителей телевизоров она имеет свое воплощение,
например Samsung называет это Anynet+, и это как раз мой случай!

Как оказалась, технология может быть очень даже востребована в MajorDoMo, а именно:

Имеем:
- (ТВ) телевизор Samsung (не очень новый, но имеет Wi-Fi, smart и т.д.) позднее напишу модель, если нужно!
- (ПК) с Windows 7 и установленным MajorDoMo
- (RP) Raspberry Pi 2 (на нем у меня сеть 1-wire через OWFS)
- (HDMI) кабель HDMI соединяющий RP и ТВ
- (plink) установленный на ПК комплект программ putty

к ТВ у меня подключен спутниковый ресивер, DVD, и еще что-то, т.е. он для просмотра передач, видео и т.д.
а к RP он у меня оказался подключен случайно!

для управления ТВ у меня прекрасно работает этот код: http://majordomo.smartliving.ru/forum/v ... ?f=8&t=691
но понятно, что управление ТВ возможно только если он Онлайн, т.е. подключен к сети, и поскольку
в момент когда он выключен (ну в режиме standby) то его модуль Wi-Fi, естественно, отключен и, соответственно, через код его можно выключить, а вот Включить увы, нельзя!

а почему бы не использовать HDM-CEC подумал я! и вот:

1) не забудьте включить на ТВ функцию управления через HDMI-CEC
у меня это Anynet+

2)устанавливаем на RP:

Код: Выделить всё

sudo apt-get install cec-utils
3) можем проверить
включить ТВ

Код: Выделить всё

echo on 0 | cec-client -s -d 1
выключить ТВ

Код: Выделить всё

echo standby 0 | cec-client -s -d 1
узнать состояние ТВ

Код: Выделить всё

echo pow 0 | cec-client -s -d 1
если все работает - замечательно!

далее, как сделал я, добавляем в нужный нам сценарий или шаблон поведения
(но это в моем случае, у вас может быть по другому)

Код: Выделить всё

$WshShell = new COM("WScript.Shell"); 
$oExec = $WshShell->Run('cmd /C "D:\Bin\putty\plink.exe" -pw pasword pi@192.168.1.111 -m D:\Bin\putty\tvOn.txt', 0, false); 
при этом файл tvOn.txt содержит одну строку:

Код: Выделить всё

echo on 0 | cec-client -s -d 1
Особенности:
1) т.к. у меня MajorDoMo стоит на другом компьютере, то мне приходиться подключаться к нему через интерфейс командной строки putty
2) через использование BAT файлов у меня не получилось корректно передать команду, да и открывающееся окно
родного Виндовсовского cmd немного раздражает, поэтому VBScript!
3) выполнять команду, вернее выполнить plink с параметром - echo on 0 | cec-client -s -d 1 напрямую VBScript (да и Батник тоже) у меня, почему-то, отказался, поэтому подставляю файл txt с командой.

Вопросы к знатокам Linux:
1) $oExec всегда возвращает 0, как мне получить таким образом результат echo pow 0 | cec-client -s -d 1 ?
2) если бы Алиса была на этой RP, то без использования VBScript я думаю, что через $x = exec(....), я вероятно получил бы что нужно?

Самое интересное:
есть сайт http://www.cec-o-matic.com/ на котором можно взять коды разных команд для управления ТВ и не только!!! для этого полезно глянуть сюда: http://blog.endpoint.com/2012/11/using- ... vices.html

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 4:16 pm
slgeo
У разных производителей телевизоров она имеет свое воплощение,
например Samsung называет это Anynet+, и это как раз мой случай!
Вот именно из-за этой каши и забил на эту технологию, каждый производитель городит огород по-своему и адаптация превращается в танцы с бубном, если у вас техника разных фирм. Проще броадлинк поставить и не парится.

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 4:32 pm
Vovix
slgeo писал(а):...
Вот именно из-за этой каши и забил на эту технологию, каждый производитель городит огород по-своему и адаптация превращается в танцы с бубном, если у вас техника разных фирм. Проще броадлинк поставить и не парится.
На сколько я смог разобраться у большинства производителей разница заключается только в наименовании этой технологии в меню аппарата, например:

Код: Выделить всё

У Панасоника эта технология называется VIERA Link
У Sony называется BRAVIA Theatre Sync
У Toshiba называется Regza-link
У Samsung называется Anynet+
У Philips называется EasyLink
У JVC называется T-V Link
У Sharp называется AQUOS Link
У остальных так и называется HDMI-CEC совместимый.
а стандарт HDMI-CEC он и есть стандарт!!!

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 4:47 pm
slgeo
Vovix писал(а): HDMI-CEC он и есть стандарт!!!
Я тоже так думал, но практически оказалось не так. Ресивер с полноценной поддержкой HDMI-CEC не смог нормально управлять Samsung-ом через AnyNet. Часть важных функций не работала. И с филипсом та же беда была. Если у вас работает весь функционал, то повезло.
Пусть отпишутся люди у кого больше 1-2 разных устройств под ТВ, как у них дела обстоят с HDMI-CEC.

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 5:37 pm
Jager
slgeo писал(а):
Vovix писал(а):Я тоже так думал, но практически оказалось не так. Ресивер с полноценной поддержкой HDMI-CEC не смог нормально управлять Samsung-ом через AnyNet. Часть важных функций не работала. И с филипсом та же беда была. Если у вас работает весь функционал, то повезло.
Пусть отпишутся люди у кого больше 1-2 разных устройств под ТВ, как у них дела обстоят с HDMI-CEC.
Так и есть, стандарт условный. У меня спутниковый ресивер включает/выключает AV ресивер Pioneer, а ТВ Philips игнорирует его команды. Другая ТВ приставка на андроиде управляет ТВ Philips без проблем, но игнорирует ТВ LG.

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 9:49 pm
Vovix
ну значит мне повезло! да и технология меня интересует в связке ТВ и Raspberry Pi. А именно так у меня заработало без проблем!


Отправлено с моего iPhone используя Tapatalk

Re: управление телевизором через HDMI

Добавлено: Вт мар 28, 2017 10:28 pm
Denis_k
актуально при подключении той же малины к ТВ, при условии использования штатного пульта телевизора, но к сожалению далеко не все модели поддерживают hdmi cec

Re: управление телевизором через HDMI

Добавлено: Ср мар 29, 2017 2:33 pm
eygen
slgeo писал(а):
Vovix писал(а): HDMI-CEC он и есть стандарт!!!
Я тоже так думал, но практически оказалось не так. Ресивер с полноценной поддержкой HDMI-CEC не смог нормально управлять Samsung-ом через AnyNet. Часть важных функций не работала. И с филипсом та же беда была. Если у вас работает весь функционал, то повезло.
Пусть отпишутся люди у кого больше 1-2 разных устройств под ТВ, как у них дела обстоят с HDMI-CEC.
Тут еще дело в том что hdmi кабель нужен не ниже 1.4 с другими тоже то работает то нет.

Re: управление телевизором через HDMI

Добавлено: Ср мар 29, 2017 10:53 pm
Sas
У меня рес пионер, телевизор панасоник, приставка на андроиде. Все отлично рулится через ашдиэмай. Пульт от телека рулит приставкой через ресивер. Вырубаешь телек отключаются андроид и рес

Re: управление телевизором через HDMI

Добавлено: Сб мар 03, 2018 10:33 am
mattafixload
Кто то знает список команд по этой технологии, помимо вкл выкл и состояния? Нужно на телевизоре выбирать источник, от hdmi к др. hdmi + громкость.