J'ai un Raspberry Pi connecté au port USB d'un TP-Link Archer C7 pour son alimentation.
Ce Raspberry me sert de media center et j'aurai bien aimé avoir un interrupteur pour l'éteindre.
Heureusement, SSH et Linux sont là.
Depuis l'Archer C7, grâce à OpenWrt, on peut contrôler l'alimentation du port USB en changeant la valeur des entrées /sys/class/gpio/gpio21/value et /sys/class/gpio/gpio22/value (chacune correspondant à un des ports USB du routeur Wi-Fi).
Ainsi, pour allumer le Raspeberry Pi, il suffit de faire :
ssh root@routeurwifi echo 1 > /sys/class/gpio/gpio22/value
Pour l'éteindre proprement, il faut d'abord faire un shutdown :
ssh root@media shutdown -h now
puis pour l'éteindre électriquement :
ssh root@routeurwifi echo 0 > /sys/class/gpio/gpio22/value
Depuis une tablette sous Android, on peut automatiser ça grâce à Mercury SSH qui permet d'envoyer des commandes pré-définies par SSH.
Avec un Raspberry Pi et une TV connectée en HDMI, il peut-être nécessaire de toujours allumer la TV avant le Raspberry Pi pour éviter d'avoir une image en 640x480 et la non prise en compte du protocole CEC, le Raspberry Pi ne détectant pas correctement la TV.
Afin d'éviter ces désagréments, il est possible de générer un fichier contenant les propriétés de la TV, fichier qui sera chargé au démarrage du Raspberry Pi.
Voici comment procéder :
hdmi_edid_file=1
hdmi_force_hotplug=1