Obtenez un Denon AVR pour mettre automatiquement sur / désactiver un projecteur Optima.
J'ai découvert que lorsque j'ai alimenté mon projecteur Denon AVR (x4500), le projecteur Optima (HD142X) auquel il était connecté ne s'allumerait pas automatiquement. Cela devrait fonctionner. Mais le protocole HDMI impliqué (appelé "CEC") n'est souvent pas fiable, en particulier lors de la combinaison de produits de différentes marques (Denon et Optima dans ce cas).
J'ai connecté un Raspberry Pi à l'une des entrées HDMI de Denon AVR. J'ai configuré la mise en réseau sur le Denon AVR et le Raspberry Pi afin que le Raspberry Pi puisse se connecter à l'adresse IP de Denon AVR.
L'exécution du code (main.cc) sur le Raspberry Pi signifie que le PI remarquera quand le Denon AVR est allumé et qu'il s'allume ensuite sur le projecteur Optima (via son câble HDMI). De même, lorsque le Denon AVR est éteint, le PI remarque et éteindra le projecteur Optima.
Vous devrez configurer certains paramètres sur le Denon AVR.
Assurez-vous que le Denon est connecté à votre réseau. Je l'ai fait en allant ito le menu de configuration-> réseau-> connexion et configurer la connexion WiFi. J'ai donné à l'unité une adresse IP statique (192.168.1.45) afin que le Pi ait une adresse IP prévisible à laquelle se connecter.
Je définis également le menu de configuration-> Network-> Contrôle réseau pour être "toujours allumé". Cela signifie que le PI peut se connecter à l'AVR même lorsqu'il est éteint.
Dans la configuration vidéo / hdmi, j'ai défini:
J'ai utilisé un Raspberry Pi Zero W. Je l'ai connecté à l'une des entrées HDMI Space à l'arrière de l'AVR. J'ai installé Raspbian 10 dessus. J'ai configuré la mise en réseau afin qu'il puisse se connecter à l'IP de Denon AVR.
Vous devez installer un complément C ++
sudo apt install g++
Aussi, la fabrication de l'utilitaire
sudo apt install make
Installer Git
sudo apt install git
et aussi certaines bibliothèques liées à HDMI / CEC
sudo apt install libraspberrypi-dev libraspberrypi0
sudo apt install cec-utils libcec4
Ajoutez le paramètre suivant dans le fichier /boot/config.txt
hdmi_ignore_cec_init=1
et redémarrer.
fix-cec git clone https://github.com/stuart-mclaren/fix-cec
fix-cec Tout d'abord, avant la compilation, vous devrez modifier le fichier main.cc pour saisir l'adresse IP de votre Denon AVR.
Changez cette ligne:
#define IPADDR "192.168.1.45"
Pour correspondre à l'adresse IP de votre Denon AVR. Par exemple, si l'adresse IP est 192.168.0.100 modifiez la ligne en:
#define IPADDR "192.168.0.100"
fix-cec Pour compiler le code, exécutez ce qui suit (à l'intérieur du répertoire fix-cec ):
make
Cela créera le fichier fix-cec .
fix-cec sudo make install
Cela copiera le binaire sur /usr/local/bin/fix-cec et configurera un service systemd appelé fix-cec pour exécuter le binaire automatiquement lorsque le PI est en bottes.
Vous pouvez vérifier que le service commence correctement sur le démarrage en redémarrant le PI
sudo reboot
Et puis, une fois que le Pi a démarré, en cours d'exécution:
systemctl status fix-cec
Si cela fonctionne, la sortie doit montrer:
● 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
Remarquez le message "connecté": cela signifie que le PI connecté à l'adresse IP de l'AVR a réussi. Les différents messages DP sont sortis de l'AVR. Les messages DPX sont de débogage.
Le code se connecte beaucoup . Vous devrez vous assurer que les journaux, par exemple dans / var / log sont tournés pour éviter de remplir le système de fichiers.
Alternativement, supprimez les différentes instructions printf de main.cc
Dans certains cas, par exemple lorsque vous utilisez une platine ou le tuner, vous ne voudrez peut-être pas que le projecteur s'allume lorsque vous allumez l'AVR.
Voir la note suivante dans le code pour changer ce comportement:
Note: For non-video sources
Ajoutez fondamentalement 100 à la source pour laquelle vous ne souhaitez pas alimenter sur le projecteur. Par exemple, pour empêcher le projecteur de s'allumer lorsque les enregistrements en vinyle changent cette ligne:
phono = 9,
à ce sujet
phono = 109,
Cela suppose que vous avez l'ensemble suivant sur l'AVR
RC Source Select = Power On + Source
Et vous alimentez l'AVR en appuyant sur le bouton Phono sur la télécommande de l'AVR.
Le code est basé sur https://github.com/glywood/cec-fix