Comme je consacre l'essentiel de mes entrées de blog parlant de matériel informatique à dire à quel point tout est mal fait et pourri et impossible à trouver et cher et nul, bref, à me plaindre, je vais raconter pour une fois que je suis content.
Comme je l'ai raconté récemment,
j'ai un problème avec le watchdog matériel de ma nouvelle carte mère
(ou plutôt avec le BIOS), le composant qui est
censé redémarrer l'ordinateur automatiquement en cas de plantage : le
support technique d'Asus est prévenu, on verra s'il en ressort quelque
chose, mais en attendant, ou à défaut, histoire de pouvoir redémarrer
l'ordinateur à distance en cas de besoin, j'ai acheté une multiprise
commandable par USB,
la EnerGenie
EG-PMS2. J'avais entendu dire qu'elle était utilisable sous
Linux, et je peux confirmer que c'est le cas, et le programme qui le
fait (sispmctl
) est plutôt commode. Je n'ai pas encore
mis la multiprise en place (dans la position où elle servira), mais je
peux confirmer qu'elle fonctionne.
C'est une multiprise à 6 prises (numérotées de 0 à 5), protégée contre les surtensions (ce qui n'est pas plus mal), et donc quatre des six prises (les 1 à 4) sont programmables, et peuvent être allumées ou éteintes par la connexion USB. (Il y a aussi un bouton mécanique qui permet de tout couper, et une fois que tout est coupé, de tout réinitialiser sur la position marche.) L'allumage ou l'extinction des prises semble fonctionner par un relai électromécanique — enfin, je n'y connais rien, mais il y a un « clic » audible quand une prise passe de l'état allumé à l'état éteint ou vice versa.
Ce qui est particulièrement agréable, c'est que la multiprise a un
petit programmateur : on peut lui envoyer des commandes
comme éteindre la prise 3 dans 1 minute, et la rallumer 2 minutes
après
(sispmctl -A 3 --Aafter 1 --Ado off --Aafter 2 --Ado
on
; la granularité, au moins au niveau du
programme sispmctl
, semble être la minute). Une fois que
le programmateur a reçu les commandes, celles-ci ne nécessitent
ensuite plus d'intervention de l'ordinateur contrôleur, ni que la
connexion USB subsiste.
Ajout : Si on a un ordinateur non-Intel (par
exemple mes DreamPlugs ARM), il faudra prendre
garde au fait que la version de sispmctl
packagée par
Debian comporte un bug causant un comportement bizarre (au moins dans
l'affichage de la date, peut-être plus) sur à peu près toute
architecture non-Intel.
Voir ce
bug-report où je fournis un patch.
Du coup, même sans l'aide d'un autre ordinateur, cette multiprise
peut servir de watchdog primitif : il suffit qu'un programme s'exécute
toutes les minutes et envoie à la prise les commandes annuler
toutes les commandes précédentes, et, dans cinq minutes, éteindre la
prise numéro tant, puis la rallumer une minute après
: tant que
l'ordinateur ne plante pas, la commande sera sans cesse annulée et
reportée d'une minute, mais s'il plante, la commande s'exécutera cinq
minutes plus tard, et éteindra l'ordinateur pour une minute. (Les
cinq minutes de délai servent à ce que, si l'ordinateur redémarre
inopinément, indépendamment de l'action de la prise, il ait le temps
de redémarrer complètement et de relancer le programme qui annulera la
commande d'extinction. Ce n'est pas parfait, mais c'est raisonnable.)
Ceci fournit donc bien la fonctionnalité d'un watchdog, et
fonctionnera sur essentiellement n'importe quel ordinateur (sans
batterie autonome, bien sûr : sur un portable, ça ne marchera pas,
mais bon, un watchdog est rarement utile sur un portable). Je ne sais
pas si je procéderai de la sorte, mais c'est agréable, au moins, de
savoir que c'est possible.
Plus généralement, je suis sûr que ce genre de gadget peut trouver une grande utilité en domotique, donc je pense que ça peut intéresser des gens.
La prise existe aussi en version Ethernet : le protocole a l'air assez simple, ça a l'avantage de permettre de contrôler la prise depuis plusieurs ordinateurs plutôt qu'un seul, mais je n'aime pas trop l'idée qu'il y ait un serveur HTTP dans ma multiprise (j'aurais préféré une interface à bien plus bas niveau, où on doit envoyer un paquet à une certaine adresse MAC, sans empiler IP, TCP et HTTP dessus). Enfin, il y a une version wifi, mais là je trouve que ça devient vraiment n'importe quoi.
Mise à jour : La multiprise en question est morte tout à l'heure (), juste quand je venais de rentrer de vacances (il y a sans doute un lien, mais je ne vois pas quoi ; peut-être parce que j'ai tiré du courant ailleurs sur le réseau électrique de l'appartement) : elle a d'abord désalimenté deux ou trois des cinq prises, dont la lumière témoin était devenue très faible, et quand j'ai donné l'ordre de les couper (avec l'intention de les rallumer après pour voir si ça remarcherait), tout a complètement sauté. Je trouve que « même pas deux ans » (certes à fonctionner quasiment 24h/24 et 7j/7), ce n'est pas franchement terrible, comme bilan, donc je retire le bien que j'en ai dit.