树莓派支持uvi协议吗_树莓派如何控制电视机,在RaspberryPi上安装HD...
sudo apt update
sudo apt upgrade
第⼀条命令将更新软件包列表。第⼆条命令将升级已安装的软件包。
2. 下⼀步是安装cec-utils软件包。这个软件包包含了本教程中稍后要⽤到的cec-client软件。
可以通过运⾏以下命令将这个软件包安装到Raspberry Pi上。
sudo apt install cec-utils
使⽤这个软件包提供的⼯具,能够使⽤CEC给连接到Raspberry Pi的HDMI电缆发送命令。
使⽤树莓派通过HDMI-CEC与电视进⾏交互。
学习励志文章在本节中,我将展⽰使⽤ cec-client 软件与其他设备交互的各种⽅法。
第⼀个是使⽤echo和管道(|)。使⽤这两样东西将命令直接传递给 cec-client 软件,⽽不需要启动它。此外,在cec-client软件中同时使⽤-s和-d选项。顺丰快递单号
选项告诉软件,发出⼀条命令,软件启动,发出命令,然后⽴即退出。
选项 -d 1 设置了软件的调试级别。将其设置为1,cec-client软件将只显⽰错误。
此设置可减少没控制台的⽇志量。
树莓派扫描HDMI-CEC设备。
1. ⾸先,需要做的是扫描现有的设备,这些设备要具有CEC功能。
通过在Raspberry Pi上运⾏以下命令来扫描⽀持HDMI-CEC的设备。
echo 'scan' | cec-client -s -d 1
2. 从这个命令中,应该看到Raspberry Pi现在可以访问的设备列表。
需要识别想与之交互的设备。通常,"os string: "和 "vendor: "字段可以识别想与之交互的设备。
⼀旦确定了正确的设备,请记下 "address:"或设备编号。
opening a connection to the
requesting CEC bus information ...
CEC bus information
===================
device #0: TV
address: 0.0.0.0
active source: no
vendor: Sony
osd string: TV
wifi电视怎么看电视台
CEC version: 1.4小学升初中
power status: standby
language: eng
device #1: Recorder 1
address: 1.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: 3.0.0.0
active source: no
vendor: Sony
osd string: PlayStation 4
CEC version: 1.3a
power status: standby
language: ???
请注意,本例中的 "device #1: Recorder 1 "是Raspberry Pi⾃⼰的CEC连接,所以可以忽略它。
3. 例如,如果想控制 "索尼电视",可以看到,设备号是 "0",设备的地址是 "0.0.0.0"。
有了设备号或设备地址,就可以向它发送命令。
通过HDMI-CEC发送 "开启 "命令。
使⽤ cec-client 开启设备是⼀个相对简单的过程。
echo 'on ' | cec-client -s d 1
从上⾯可以看出,需要做的就是发送on命令,后⾯跟着设备地址或设备号。
通过HDMI-CEC打开设备的例⼦
例如,如果想打开地址为 "0.0.0.0 "的索尼电视,使⽤下⾯的命令。
echo 'on 0.0.0.0' | cec-client -s -d 1
通过HDMI-CEC发送 "待机 "命令
如果想⽤Raspberry Pi关闭电视(使其进⼊待机状态),也可以使⽤HDMI-CEC轻松完成。
echo 'standby ' | cec-client -s d 1
要让电视进⼊待机状态,只需要发送 "待机 "命令,然后是设备的地址或号码。
通过HDMI-CEC关闭设备⽰例
使⽤这个命令是⽐较简单。
要让索尼电视进⼊待机状态,需要做的就是发送 "standby",后⾯跟着设备地址 "0.0.0.0"。
echo 'standby 0.0.0.0 | cec-client -s -d 1
通过HDMI-CEC获取电源状态
甚⾄可以利⽤树莓派上的HDMI-CEC来检索设备的电源状态。
echo 'pow ' | cec-client -s d 1
使⽤pow命令,可以了解所连接的设备⽬前是处于开机状态还是待机状态。
这个命令可以决定是否需要打开或关闭电视的电源,特别是在远程管理设备时。
通过HDMI-CEC获取电源状态⽰例
和⼤多数HDMI-CEC命令⼀样,利⽤这个命令⽐较容易。需要做的就是参考pow后⾯的设备地址。
echo 'pow 0.0.0.0' | cec-client -s -d 1
如果设备处于待机状态,会看到在终端上出现类似下⾯的东西。
opening a connection to the
power status: standby
检索其他的CEC-客户端命令
如果想检查可以使⽤HDMI-CEC从Raspberry Pi向电视发出的其他命令,可以使⽤以下命令。
echo 'h' | cec-client -s -d 1
这个命令的作⽤是检索cec-client软件知道如何处理的可⽤命令。
从这个命令中,你应该得到⼀个命令列表,如下图所⽰。
================================================================================ 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.
================================================================================到这⾥,你应该已经知道了如何在Raspberry Pi上使⽤cec-client来控制⽀持HDMI-CEC协议的设备。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。