2013-03-09 3 views
2

Мой генеральный план - это возможность отправлять команды CEC из моей малины pi, чтобы делать такие вещи, как включение/выключение телевизора, а также другие устройства, подключенные к телевизору. Затем я добавлю голосовое распознавание, чтобы отправить эти команды ... это на другой день. Я прочитал CEC, но из того, что я собрал, кажется, что вы не можете отправлять команды CEC напрямую через командную строку без адаптера usb CEC? Я установил библиотеку cec-client и libCEC на моем пи, но когда я запускаю cec-client -l, он не показывает никаких устройств.Отправка команд CEC через командную строку через HDMI

Мой вопрос: как я могу отправлять команды CEC через командную строку на мой телевизор из pi без адаптера? Я пропустил какой-то базовый элемент о ЦИК?

UPDATE

В дополнение к столбам ниже здесь ссылка, которая спросила в PI части StackOverflow, который имеет несколько более CEC команды, которые я положил в моей .bashrc, чтобы включить телевизор вкл/выкл и изменить входной

https://raspberrypi.stackexchange.com/questions/5345/raspmbc-send-cec-commands-without-cec-adapter

+1

Я не знаю, если это использования для вас, но может быть, это является отправной точка. [libCEC] (https://github.com/Pulse-Eight/libcec) – ManuelSchneid3r

ответ

3

Последние версии libcec распознает аппаратные Raspberry Pi в качестве адаптера ЦИК.
Для передачи команд управления через командную строку, в основном:

echo "on 0" | cec-client -s 

включится на устройство 0 (т.е. телевизора)
Заканчивать CEC-клиент интерактивной оболочки для более сложных команд

+1

В настоящее время cec-client отменяет регистрацию всех активных слушателей CEC. После выполнения этой команды Kodi потеряет соединение с сетью HDMI. –

1

Вы можете трубы команды для CEC-клиента бинарного

echo "on 0"  | cec-client -s # turn on the television 
echo "standby 0" | cec-client -s # turn it off (standby) 

для полноты, вот некоторые другие вещи, которые вы можете сделать

Список подключенных устройств

tv# cec-client -l 
libCEC version: 3.1.0, git revision: libcec-3.1.0+5-6d68d21, compiled on Fri 8 Apr 15:44:58 UTC 2016 by [email protected] on Linux 4.1.19-v7+ (armv7l), features: P8_USB, DRM, P8_detect, randr, RPi 
Found devices: 1 

device:    1 
com port:   RPI 
vendor id:   2708 
product id:   1001 
firmware version: 1 
type:    Raspberry Pi 

Проверить все доступные ЦИК команд

tv# echo h | cec-client -s -d 1 
opening a connection to the CEC adapter... 

================================================================================ 
Available commands: 

[tx] {bytes}    transfer bytes over the CEC line. 
[txn] {bytes}    transfer bytes but don't wait for transmission ACK. 
[on] {address}   power on the device with the given logical address. 
[standby] {address}  put the device with the given address in standby mode. 
[la] {logical address} change the logical address of the CEC adapter. 
[p] {device} {port}  change the HDMI port number of the CEC adapter. 
[pa] {physical address} change the physical address of the CEC adapter. 
[as]      make the CEC adapter the active source. 
[is]      mark the CEC adapter as inactive source. 
[osd] {addr} {string}  set OSD message on the specified device. 
[ver] {addr}    get the CEC version of the specified device. 
[ven] {addr}    get the vendor ID of the specified device. 
[lang] {addr}    get the menu language of the specified device. 
[pow] {addr}    get the power status of the specified device. 
[name] {addr}    get the OSD name of the specified device. 
[poll] {addr}    poll the specified device. 
[lad]      lists active devices on the bus 
[ad] {addr}    checks whether the specified device is active. 
[at] {type}    checks whether the specified device type is active. 
[sp] {addr}    makes the specified physical address active. 
[spl] {addr}    makes the specified logical address active. 
[volup]     send a volume up command to the amp if present 
[voldown]     send a volume down command to the amp if present 
[mute]     send a mute/unmute command to the amp if present 
[self]     show the list of addresses controlled by libCEC 
[scan]     scan the CEC bus and display device info 
[mon] {1|0}    enable or disable CEC bus monitoring. 
[log] {1 - 31}   change the log level. see cectypes.h for values. 
[ping]     send a ping command to the CEC adapter. 
[bl]      to let the adapter enter the bootloader, to upgrade 
          the flash rom. 
[r]      reconnect to the CEC adapter. 
[h] or [help]    show this help. 
[q] or [quit]    to quit the CEC test client and switch off all 
          connected CEC devices. 
================================================================================ 

Выдержки из

https://ownyourbits.com/2017/02/02/control-your-raspberry-pi-with-your-tv-remote/