我有一台不支持HDMI-CEC的电视,我一直试图在Raspberry Pi和我的ChromeCast之间架起一座桥梁,以便Raspberry Pi可以通过接收IR来暂停或停止播放遥控器。
使用Pi上的cec-client
我可以看到:
pi@raspberrypi:~/libcec/build $ echo "scan" | cec-client -s -d 1
opening a connection to the CEC adapter...
requesting CEC bus information ...
ERROR: [ 12174] failed to request the physical address
CEC bus information
===================
device #1: Recorder 1
address: 2.0.0.0
active source: no
vendor: Pulse Eight
osd string: CECTester
CEC version: 1.4
power status: on
language: eng
device #4: Playback 1
address: f.f.f.f
active source: no
vendor: Unknown
osd string: Chromecast
CEC version: 1.4
power status: on
language: ???
failure to request the physical address
消息是因为ChromeCast。
到目前为止,我已经把它作为活跃的来源,让Pi成为活跃的来源,当然,由于电视不关心,所有这些都没有做任何事情,但是在玩这些时,我一直都是这样做的。还发送了tx
命令,这些命令应该暂停,播放或停止。这些都不是ChromeCast的响应。
这些是我发送的一些命令:
echo "tx 14 44 46" | cec-client -s -d 1
echo "tx 14 44 61" | cec-client -s -d 1
echo "tx 14 44 45" | cec-client -s -d 1
echo "tx 14 41 25" | cec-client -s -d 1
# etc
其中没有人有任何回应。
ChromeCast 是否需要电视才能响应?我需要做些什么或发送以让媒体接收器做出回应?
修改:进一步研究显示Chromecast发送:
TRAFFIC: [ 47738] >> 4e:83
TRAFFIC: [ 47811] >> 4e:9f
上电时,这是对物理地址和CEC版本的请求。
我真的喜欢在我的电视机上投放$ CAN10 Pi Zero和几块红外接收器并桥接HDMI-CEC。
答案 0 :(得分:0)
该规范可在线获取并描述地址方法。它最终并不重要,因为我有cec-client的消息格式错误。
echo "tx 14:44:44" | cec-client -s -d 1
使用冒号,我的覆盆子pi可以控制我的chromecast。