Como a resposta da @ lenik diz, sua TV precisa suportar o CEC. Eu instalei uma versão compilada do libcec que incluía o utilitário de linha de comando cec-client
do SourceForge usando os seguintes comandos:
wget http://sourceforge.net/projects/selfprogramming/files/libCEC.deb/libcec_2.1.0-1_armhf.deb/download -O libcec_2.1.0-1_armhf.deb
sudo dpkg -i libcec_2.1.0-1_armhf.deb
ATUALIZAÇÃO: 27-02-2017
O link acima para o SourceForge não existe mais. De acordo com este artigo, você pode instalar cec-client
usando o seguinte comando:
sudo apt-get install cec-utils
O restante desta resposta ainda deve ser válido.
Aqui está um tópico no raspberrypi.org que discute o uso dos cec-client
comandos para emitir.
A discussão diz que o seguinte comando ativou com êxito uma TV Samsung:
echo "on 0" | cec-client -s
Os seguintes comandos alteram a fonte de sintonizador de TV para Raspi HDMI:
echo "as" | cec-client -s
ou
echo "tx 1f 82 30 00" | cec-client -s
Os seguintes comandos não tiveram êxito ao desligar a TV:
echo "tx 10 36" | cec-client -s
ou
echo "standby 0" | cec-client -s
standby 0
DEBUG: [ 56474] << putting 'TV' (0) in standby mode
TRAFFIC: [ 56476] << 10:36
DEBUG: [ 56477] sending data: len = 1, payload = 10:36
DEBUG: [ 56538] received data: header:00020001 p0:00003610 p1:00000000 p2:00000000 p3:00000000 reason:1
DEBUG: [ 56539] command transmitted
DEBUG: [ 56660] received data: header:00040002 p0:04360001 p1:00000000 p2:00000000 p3:00000000 reason:2
TRAFFIC: [ 56661] >> 01:00:36:04
NOTICE: [ 56661] >> TV (0) -> Recorder 1 (1): feature abort ( 0)
DEBUG: [ 56661] marking opcode 'standby' as unsupported feature for device 'TV'
echo "standby 0" | cec-client -s
funciona bem para minha TV Panasonic, embora o processo pare depois, e eu preciseikill -9
disso.cec-client
você precisa de um aparelho de TV compatível com o protocolo CEC (Consumer Electronics Control) sobre HDMI. pode ser uma boa ideia consultar o manual da TV ou o site da empresa para encontrar detalhes sobre o seu caso específico. Também a pesquisa rápida por "TV_model + CEC" pode fornecer algumas dicas.
basicamente, se o seu aparelho de TV for fabricado há apenas alguns anos, há uma boa chance de você descobrir como configurar e ativar o CEC, mas para modelos mais antigos as chances não são tão boas.
A implementação do Samsung CEC é chamada
Anynet+
, você pode tentar procurar por isso também.fonte
Você poderia criar algo como um controle remoto de TV com um LED IR . Há um tutorial sobre o Adafruit sobre o que você gostaria de fazer. Aqui está outro post de blog sobre o mesmo assunto.
Nota: Você precisará usar os pinos GPIO. Não tenho certeza se você estava procurando uma solução que os utilizasse ou não.
fonte
Depois de instalar o cec-client de acordo com a resposta acima da HeatfanJohn, posso ligar / desligar minha HDTV Vizio E390i-A1 LED. Eu escrevi um script para a comunidade:
Crie um novo arquivo via:
cole o seguinte:
Torne executável:
Em seguida, crie aliases:
adicione o seguinte:
Salve, saia, efetue logoff / logon (ou apenas obtenha seu .bashrc). Agora você pode ligar ou desligar a TV usando "tvon" e "tvoff".
Agora você pode agendar um trabalho noturno para desligar a TV, caso caia no sono:
Adicione o seguinte:
fonte
Também escrevi alguns scripts para ajudar nisso. Fui um pouco mais longe que o CaptainRewind, embora ele tenha feito um bom trabalho. Este é apenas um script de shell escrito para controlar minha TV, então não incluí nada que não seja compatível (como controles de volume e canal; ainda estou procurando uma maneira de fazer uma dessas opções sem comprar muito mais hardware) e inclui detalhes específicos da configuração, como "tv input raspi", sendo sinônimo de "tv input 3", mas eu os deixei para que você possa ver como fazer essas personalizações para si mesmo.
Você pode usá-lo facilmente Se você o colocar em / usr / local / bin / tv, emitindo comandos como "tv on" "tv off" ou "tv input 1" ou você pode simplesmente colocá-lo em seu diretório pessoal como tv. sh e use-o diretamente de lá.
Espero que isso ajude algumas pessoas.
fonte
Você pode querer tentar novamente com uma versão recente do XBMC (agora chamada Kodi '). Tive melhor sorte com minha TV Samsung UE46F6500 e a OpenELEC (versão oficial): 5.95.3 com Kodi, embora o controle CEC seja perdido depois de colocar minha TV. em espera ou ligando minha TV novamente:
Modo de espera:
Em:
Alterar fonte:
No entanto, essas funções retiram o controle exclusivo da interface CEC do Kodi; portanto, o Kodi perde o controle CEC após qualquer um desses comandos e o controle remoto para de funcionar. Você precisará reiniciar o Kodi para fazê-lo funcionar novamente:
O Kodi (> = 13) possui as funções integradas CECToggleState, CECActivateSource, CECStandby Algumas pessoas estão trabalhando para passar esses comandos cec via python usando essas funções internas ou procurando uma possibilidade de abrir o hardware cec no modo compartilhado: http://forum.kodi.tv/showthread.php?tid=207524 e https://discourse.osmc.tv/t/control-tv-on-standby-toggle-using-cec-kodi-built-in- funções / 3638/4
fonte