Obtenha um Denon AVR para ligar/desligar automaticamente um projetor Optima.
Descobri que, quando ligei meu Denon AVR (x4500), o projetor Optima (HD142X) ao qual ele estava conectado não ligaria automaticamente. Isso deve funcionar. Mas o protocolo HDMI envolvido (chamado "CEC") geralmente não é confiável, especialmente ao combinar produtos de diferentes marcas (Denon e Optima neste caso).
Conectei um Raspberry Pi a uma das entradas HDMI do Denon AVR. Configurei as redes no Denon AVR e no Raspberry Pi para que o Raspberry Pi pudesse se conectar ao endereço IP do Denon AVR.
Executando o código (main.cc) no Raspberry Pi significa que o PI notará quando o Denon AVR estiver ligado e liga o projetor Optima (através do cabo HDMI). Da mesma forma, quando o Denon AVR é desligado, o PI notará e desligará o projetor Optima.
Você precisará definir algumas configurações no Denon AVR.
Verifique se o Denon está conectado à sua rede. Eu fiz isso indo para o menu de configuração-> rede-> conexão e configurando a conexão WiFi. Dei à unidade um endereço IP estático (192.168.1.45) para que o PI tivesse um endereço IP previsível para se conectar.
Eu também configurei o menu de configuração-> Rede-> Controle de rede para estar "sempre on". Isso significa que o PI pode se conectar ao AVR, mesmo quando é desligado.
Na configuração de vídeo/HDMI, eu defini:
Usei um Raspberry Pi Zero W. Eu o conectei a uma das entradas HDMI do espaço na parte traseira do AVR. Eu instalei o Raspbian 10 nele. Configurei a rede para que ela fosse capaz de conectar -se ao IP do Denon AVR.
Você precisa ter um complier C ++ instalado
sudo apt install g++
Além disso, a utilidade Make
sudo apt install make
Instale o git
sudo apt install git
e também algumas bibliotecas relacionadas ao HDMI/CEC
sudo apt install libraspberrypi-dev libraspberrypi0
sudo apt install cec-utils libcec4
Adicione a seguinte configuração ao arquivo /boot/config.txt
hdmi_ignore_cec_init=1
e reiniciar.
fix-cec git clone https://github.com/stuart-mclaren/fix-cec
fix-cec Primeiro, antes de compilar, você precisará editar o arquivo main.cc para inserir o endereço IP do seu Denon AVR.
Altere esta linha:
#define IPADDR "192.168.1.45"
Para corresponder ao endereço IP do seu Denon AVR. Por exemplo, se o endereço IP for 192.168.0.100 altere a linha para:
#define IPADDR "192.168.0.100"
fix-cec Para compilar o código, execute o seguinte (de dentro do diretório fix-cec ):
make
Isso criará o arquivo fix-cec .
fix-cec sudo make install
Isso copiará o binário para /usr/local/bin/fix-cec e configurará um serviço Systemd chamado fix-cec para executar o binário automaticamente quando as botas PI.
Você pode verificar se o serviço está iniciando corretamente na inicialização reiniciando o PI
sudo reboot
E então, uma vez que o PI for inicializado, correndo:
systemctl status fix-cec
Se estiver funcionando, a saída deve mostrar:
● fix-cec.service - fix-cec service
Loaded: loaded (/etc/systemd/system/fix-cec.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-01-16 15:57:53 GMT; 6min ago
Main PID: 394 (fix-cec)
Tasks: 5 (limit: 421)
CGroup: /system.slice/fix-cec.service
└─394 /usr/local/bin/fix-cec
Jan 16 16:03:03 piston fix-cec[394]: Connected
Jan 16 16:03:03 piston fix-cec[394]: DPX: SKIP
Jan 16 16:03:03 piston fix-cec[394]: DPSI: SI=5
Jan 16 16:03:03 piston fix-cec[394]: DP: PSTRE 50
Jan 16 16:03:03 piston fix-cec[394]: DPX: SKIP
Jan 16 16:03:03 piston fix-cec[394]: DPSI: SI=5
Jan 16 16:03:03 piston fix-cec[394]: DP: PSTONE CTRL OFF
Jan 16 16:03:03 piston fix-cec[394]: DPX: SKIP
Jan 16 16:03:03 piston fix-cec[394]: DPSI: SI=5
Jan 16 16:03:03 piston fix-cec[394]: DP: SSSMG MOV
Jan 16 16:03:03 piston fix-cec[394]: DPX: SKIP
Observe a mensagem "conectada": isso significa que o PI conectado ao endereço IP do AVR com sucesso. As várias mensagens DP são emitidas do AVR. As mensagens DPX são depuração.
O código registra muito . Você precisará garantir que os logs, por exemplo, /var /log /sejam girados para evitar o preenchimento do sistema de arquivos.
Como alternativa, remova as várias instruções printf do main.cc
Em alguns casos, por exemplo, ao usar uma plataforma giratória ou o sintonizador, você pode não querer que o projetor acenda quando ligar o AVR.
Veja a seguinte nota no código para alterar esse comportamento:
Note: For non-video sources
Basicamente, adicione 100 à fonte para a qual você não deseja acionar o projetor. Por exemplo, para impedir que o projetor seja ativado ao reproduzir registros de vinil alterar esta linha:
phono = 9,
para isso
phono = 109,
Isso pressupõe que você tem o seguinte conjunto no AVR
RC Source Select = Power On + Source
E você liga o AVR pressionando o botão Phono no controle remoto do AVR.
O código é baseado em https://github.com/glywood/cec-fix