• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Hrátky s HDMI-CEC
#11
Cec-client aplikace

Tak jak jsme slíbil, pár úvodních slov k této aplikaci. Do řady systémů se dá nainstalovat, tady doporučuji obligátní https://command-not-found.com/cec-client. Pro ty, kdo své Kodi provozuje na *ELEC aplikacích dobrá zpráva, aplikace už je součástí běžné instalace.

Cec-client umožňuje poměrně zásadně pracovat se zařízeními, které spolu v rámci dané konfigurace komunikují po HDMI-CEC sběrnici (propojení). Typicky jde tedy o dvě (tři) zařízení:
  • vlastní HW na které je instalováno Kodi
  • TV
  • zesilovač/receiver
Aplikace se jmenuje cec-client, v *ELEC je instalována do /usr/bin/, je tedy ze systému spustitelná jako cec-client. V jiných systémech to bude podobné. Samozřejmě se doporučuje, pokud bude aplikace spouštěná v rámci nějakých scriptů, spouštět ji raději s celou cestou, tedy /usr/bin/cec-client. Rozhodně tím nic nepokazíte a vyhnete se případným problémům.

Cec-client má samozřejmě svůj help,
Kód:
cec-client -h
má ale také seznam vnitřních příkazů a jejich parametrů, ke kterému se dostanete zadáním sekvence:
Kód:
 
 echo h | cec-client -s -d 1
Z uvedeného je zřejné, že se vnitřní příkazy aplikaci cec-client předávají na stdio ve formě textového řetězce.

Aktuální seznam vnitřních příkazů aplikace, které je instalována na CoreELEC 9.2.5, vypadá následovně:
Kód:
[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.

V dané chvíli jsou pro nás klíčové příkazy:

scan - vypíší co na HDMI-CEC sběrnici spolu komunikuje a klíčové parametry všech zjištěných zařízení

Já například ve své testovací konfiguraci po zadání tohoto příkazu dostanu:
Kód:
STREAM:~ # echo "scan" | cec-client -s -d 1
opening a connection to the CEC adapter...
requesting CEC bus information ...
CEC bus information
===================
device #0: TV
address:       0.0.0.0
active source: no
vendor:        Samsung
osd string:    TV
CEC version:   unknown
power status:  on
language:      ???


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


currently active source: unknown (-1)

standby, on - chci-li tedy z prostředí CE vypínat (uspávat) a zapínat TV, používám dvojici příkazů:
Kód:
echo 'standby 0' | cec-client -s -d 1
echo 'on 0' | /usr/bin/cec-client -s -d 1

Tohle se zdá být celkem jednoduché. Pravá alchymie ale přijde v případě, chcete-li jít ve strukturře příkazů ještě dále. Cec-client umožnuje nejen posílat na definované adresy výše uvedené příkazy, které jsou více či méně standardní pro všechny zařízení (pozor ale, ne všechny typy akceptují všechny příkazy), ale také řetězce byte, které pak jednotlivá zařízení interpretují různě. V tomto ohledu jsem zatím na začátku, ani ne tak pokusů, jako spíše hledání po internetu, kde se dá většina informací najít. Vždy je ale třeba ověřovat, protože (a to asi není v oblasti HDMI-CEC nic nového), každý výrobce se k uvedené problematice staví po svém. Tohle si ale nechám zase napříště.
 
Citovat
  


Příspěvků v tématu
Hrátky s HDMI-CEC - od JiRo - 13.7.2021, 23:32
RE: Hrátky s HDMI-CEC - od JiRo - 14.7.2021, 6:46
RE: Hrátky s HDMI-CEC - od jkmh - 14.7.2021, 9:29
RE: Hrátky s HDMI-CEC - od meda - 14.7.2021, 11:45
RE: Hrátky s HDMI-CEC - od jkmh - 14.7.2021, 12:57
RE: Hrátky s HDMI-CEC - od meda - 14.7.2021, 14:18
RE: Hrátky s HDMI-CEC - od jkmh - 14.7.2021, 18:58
RE: Hrátky s HDMI-CEC - od JiRo - 15.7.2021, 9:47
RE: Hrátky s HDMI-CEC - od jkmh - 15.7.2021, 10:38
RE: Hrátky s HDMI-CEC - od JiRo - 15.7.2021, 11:57
RE: Hrátky s HDMI-CEC - od JiRo - 22.8.2021, 16:52
RE: Hrátky s HDMI-CEC - od Beam - 25.8.2021, 15:33
RE: Hrátky s HDMI-CEC - od JiRo - 26.8.2021, 0:36
RE: Hrátky s HDMI-CEC - od Saxel - 26.8.2021, 9:52
RE: Hrátky s HDMI-CEC - od JiRo - 26.8.2021, 11:00
RE: Hrátky s HDMI-CEC - od Saxel - 26.8.2021, 11:25
RE: Hrátky s HDMI-CEC - od JiRo - 26.8.2021, 20:43
RE: Hrátky s HDMI-CEC - od Beam - 27.8.2021, 15:11
RE: Hrátky s HDMI-CEC - od JiRo - 27.8.2021, 15:34

Přejít na fórum:


Prochází: 1 host(ů)