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

Модераторы: Bagir, Ivan, Vit, immortal, PAV

Аватара пользователя
Vovix
Сообщения: 1060
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 57 раз
Поблагодарили: 435 раз
Контактная информация:

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

Сообщение Vovix » Пн мар 27, 2017 11:44 pm

нашел и смог использовать, как мне кажется, потрясающую вещь
И называется она 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 он у меня оказался подключен случайно!

для управления ТВ у меня прекрасно работает этот код: viewtopic.php?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
За это сообщение автора Vovix поблагодарили (всего 4):
lanket (Вт мар 28, 2017 8:53 am) • sergejey (Вт мар 28, 2017 9:46 am) • warik (Вт мар 28, 2017 3:56 pm) • TrDA (Ср мар 14, 2018 9:17 am)
Рейтинг: 7.41%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
slgeo
Сообщения: 519
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 122 раза
Поблагодарили: 65 раз

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

Сообщение slgeo » Вт мар 28, 2017 4:16 pm

У разных производителей телевизоров она имеет свое воплощение,
например Samsung называет это Anynet+, и это как раз мой случай!
Вот именно из-за этой каши и забил на эту технологию, каждый производитель городит огород по-своему и адаптация превращается в танцы с бубном, если у вас техника разных фирм. Проще броадлинк поставить и не парится.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Аватара пользователя
Vovix
Сообщения: 1060
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 57 раз
Поблагодарили: 435 раз
Контактная информация:

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

Сообщение Vovix » Вт мар 28, 2017 4:32 pm

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 он и есть стандарт!!!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
slgeo
Сообщения: 519
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 122 раза
Поблагодарили: 65 раз

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

Сообщение slgeo » Вт мар 28, 2017 4:47 pm

Vovix писал(а): HDMI-CEC он и есть стандарт!!!
Я тоже так думал, но практически оказалось не так. Ресивер с полноценной поддержкой HDMI-CEC не смог нормально управлять Samsung-ом через AnyNet. Часть важных функций не работала. И с филипсом та же беда была. Если у вас работает весь функционал, то повезло.
Пусть отпишутся люди у кого больше 1-2 разных устройств под ТВ, как у них дела обстоят с HDMI-CEC.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Jager
Сообщения: 707
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 25 раз
Поблагодарили: 161 раз

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

Сообщение Jager » Вт мар 28, 2017 5:37 pm

slgeo писал(а):
Vovix писал(а):Я тоже так думал, но практически оказалось не так. Ресивер с полноценной поддержкой HDMI-CEC не смог нормально управлять Samsung-ом через AnyNet. Часть важных функций не работала. И с филипсом та же беда была. Если у вас работает весь функционал, то повезло.
Пусть отпишутся люди у кого больше 1-2 разных устройств под ТВ, как у них дела обстоят с HDMI-CEC.
Так и есть, стандарт условный. У меня спутниковый ресивер включает/выключает AV ресивер Pioneer, а ТВ Philips игнорирует его команды. Другая ТВ приставка на андроиде управляет ТВ Philips без проблем, но игнорирует ТВ LG.
Аватара пользователя
Vovix
Сообщения: 1060
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 57 раз
Поблагодарили: 435 раз
Контактная информация:

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

Сообщение Vovix » Вт мар 28, 2017 9:49 pm

ну значит мне повезло! да и технология меня интересует в связке ТВ и Raspberry Pi. А именно так у меня заработало без проблем!


Отправлено с моего iPhone используя Tapatalk
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Denis_k
Сообщения: 393
Зарегистрирован: Сб мар 19, 2016 7:24 pm
Благодарил (а): 172 раза
Поблагодарили: 16 раз

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

Сообщение Denis_k » Вт мар 28, 2017 10:28 pm

актуально при подключении той же малины к ТВ, при условии использования штатного пульта телевизора, но к сожалению далеко не все модели поддерживают hdmi cec
MD на raspberry pi2
eygen
Сообщения: 315
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 19 раз
Поблагодарили: 36 раз

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

Сообщение eygen » Ср мар 29, 2017 2:33 pm

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

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

Сообщение Sas » Ср мар 29, 2017 10:53 pm

У меня рес пионер, телевизор панасоник, приставка на андроиде. Все отлично рулится через ашдиэмай. Пульт от телека рулит приставкой через ресивер. Вырубаешь телек отключаются андроид и рес
mattafixload
Сообщения: 3
Зарегистрирован: Ср фев 21, 2018 8:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение mattafixload » Сб мар 03, 2018 10:33 am

Кто то знает список команд по этой технологии, помимо вкл выкл и состояния? Нужно на телевизоре выбирать источник, от hdmi к др. hdmi + громкость.
Ответить