Domotiser son PC v2.0

Introduction
Dans mon autre article sur le sujet,
j’ai utilisé le Wake on LAN pour démarrer mon PC.
Depuis, j’ai changé de carte réseau pour une 2,5 Gb/s
mais qui ne supporte plus le WoL.
J’ai donc cherché une solution qui simulait l’appuie sur le
bouton d’allumage/extinction et c’est ce que je vous partage ici.
Principe
Mon but est de pouvoir “appuyer” sur le bouton d’allumage de mon PC
via un équipement électronique. J’ai donc cherché un moyen de
déporter le bouton sans que ce dernier soit inutilisable.
J’ai trouvé la solution dans des accessoires de PiKVM.
Je ne saurai nommer ce produit dont
voici le lien.

Le module ATXA-B a ses pins qui s’interfacent entre la carte mère du PC et les connecteurs du panneau frontal (“front panel”). Il est monté sur une lame PCI afin d’être fixé sur un slot PCI.
L’autre partie est l’interface de contrôle externe. Relié à l’autre module par un câble réseau droit, elle permet de voir le status via des LEDs, d’actionner le power et reset par des boutons et expose ses fonctions par des GPIOs.
Avec ces GPIOs déportés, il me suffit de trouvé un système pour
s’interfacer a cela. Si vous êtes un lecteur de longue date,
vous connaissez déjà la solution : un ESP !
Je vais donc interfacer une carte de développement ESP32
programmée avec ESPHome.
Une fois la carte B installé dans le boitier, on peut déjà tester les boutons du module A (avec le câble réseau droit).

Sa fonctionne !
Câblage
Maintenant, plus qu’à relier cela à mon ESP, de flasher ce dernier
et le tour est joué.
J’ai donc relié les pins (sauf celui de l’activité du disque dur)
sur des GPIOs de mon ESP.
Mon association Module/ESP est la suivante :
Module A | ESP32 |
---|---|
GND | GND |
3V3 | 3V3 |
LED PWR | D5 |
SW PWR | D2 |
SW RST | D4 |

Code
Voici mon code ESPHome :
|
|
J’ai donc créé un interrupteur (switch) par bouton (“power” et “reset”) et un autre qui simule un appui de 10 secondes sur le bouton principal (pour faire un arrêt forcé).
Je remonte le status “Power” via la lecture de la LED dans un binary_sensor.
Home Assistant
Pour finir, on ajoute cela sur Home Assistant et le tour est joué ! Enfin presque…
Afin d’avoir un truc propre, j’ai créé un switch de type template afin de refléter au mieux le status de mon PC :
|
|

Pour l’action de hard reset (que j’espère ne pas utiliser souvent), j’appellerai simplement le service via les “Outils de développement”.
Conclusion
En vue du prix du module, cette solution coûte plutôt cher…
En étudiant ce dernier, j’ai compris le rôle des optocoupleurs.
Avec un peu plus de confiance, je pense pouvoir réduire le coût
de cette solution en réalisant moi-même ce module.
S’il y a une V3, vous voila déjà spoilé !