Sommaire Carte Index Recherche Nouvelles Archives Liens A propos
[Barre Superieure]
[Barre Inferieure]
Ce document est disponible en: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  Korean  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
par Guido Socher

L´auteur:

Guido est un adepte de Linux de longue date. La plupart du temps il développe des logiciels ou travaille pour LinuxFocus, mais de temps en temps il aime bien concevoir du matériel.


Sommaire:

Un bouton d'arrêt sur le port série

[Illustration]

Résumé:

Dans cet article nous construirons un petit bouton poussoir à connecter à votre serveur sur le port série. Vous pouvez l'utiliser pour éteindre la machine quand c'est nécessaire.



 

Introduction

Un vrai serveur n'a normalement pas besoin de clavier, d'écran ni de souris. Il lui faut un bon système d'exploitation, comme Linux, et une carte réseau. Les périphériques externes comme une souris ou un clavier ne sont qu'une gêne. Avec Linux tournant sur la machine, l'administration à distance est la solution la meilleure et la plus pratique.

Quand j'achète un ordinateur, je vérifie toujours qu'il a une option BIOS permettant de ne pas vérifier la présence du clavier au démarrage. Tous les bons fabricants de cartes mères proposent cette option aujourd'hui. Quelques-uns qui pensent encore que les gens ne font fonctionner que Windows sur leurs machines exigent un clavier au démarrage mais c'est une autre histoire et je ne recommande pas d'acheter ce type de matériel.

Un ordinateur ainsi dépourvu de clavier et d'écran est la machine idéale pour un pare-feu, un serveur web, un serveur de fichiers NFS, un serveur de courrier, une passerelle ADSL, etc. Nul besoin d'une machine puissante. Un vieux Pentium 100Mhz avec suffisamment de RAM tiendra facilement le rôle de serveur pour une centaine d'autres machines ou plus.

C'est bien de ne pas avoir de clavier connecté, et c'est pratique car le serveur n'est alors qu'une petite boîte qui se loge facilement dans un coin ou sur une étagère à la cave. Parfois vous aimeriez cependant disposer d'un bouton permettant de l'éteindre proprement sans avoir d'abord à se connecter pour lancer la commande shutdown. Peut-être parce que vous êtes déjà dans la pièce du serveur et que la plus proche station de travail est à 100 m de là, ou bien parce que quelqu'un a l'accès physique au serveur mais ne connait pas le mot de passe root alors qu'il a besoin d'éteindre l'ordinateur avant de couper l'alimentation électrique.

Couper simplement le courant n'est pas une bonne idée car vous risquez de perdre des données et la vérification du disque au redémarrage prend ensuite beaucoup de temps.

La solution est le petit et peu coûteux appareil série présenté dans cet article.

 

L'appareil

Nous allons contruire un petit appareil avec 2 DELs et un bouton-poussoir. Une DEL verte indique que le bouton-poussoir est actif et une DEL jaune clignotant lentement indique que le serveur est en service ou encore en cours d'extinction. Pour éteindre le serveur il faut presser le bouton pendant 3 secondes.

Quand vous appuyez sur le bouton, la DEL verte s'éteint indiquant ainsi que le processus d'arrêt est en cours. La commande /sbin/shutdown -t2 -h now s'exécute alors. La DEL jaune continue à clignoter tant que le serveur est en phase d'arrêt. Quand la DEL jaune arrête de clignoter, alors vous devez attendre encore 10 secondes avant d'éteindre l'ordinateur. La DEL jaune s'éteint quand tous les processus sont tués et que les disques durs sont en cours de "démountage"
Si votre ordinateur supporte l'extinction automatique, alors ne vous préoccupez pas des 10 secondes. Attendez simplement qu'il s'arrête tout seul.  

Le port série

Ce qui est intéressant avec l'interface série, c'est qu'elle a certaines broches qu'il est possible de contrôler via des appels système ioctl. Cela signifie qu'il est inutile de modifier quoi que ce soit dans le noyau pour contrôler une DEL connectée au port série ou pour lire l'état d'un bouton-poussoir. Le port série dispose de juste assez de puissance pour deux DELs basse tension. Nous utiliserons les broches RTS et DTR pour connecter les DELs et la broche Carrier Detect sera utilisée pour lire l'état du bouton-poussoir.
9 broches D-SUB Mâle

9 broches D-SUB Mâle sur l'ordinateur.
connecteur 9 broches connecteur 25 broches Nom Dir Description
1 8 CD entrée Carrier Detect
2 3 RXD entrée Réception de données
3 2 TXD sortie Transmission de données
4 20 DTR sortie Data Terminal prêt
5 7 GND -- Masse
6 6 DSR entrée Data Set Ready
7 4 RTS sortie Request to Send
8 5 CTS entrée Clear to Send
9 22 RI entrée Ring Indicator

 

Le circuit

Vous avez besoin des pièces suivantes pour construire ce bouton d'arrêt avec des DELs.

schéma du circuit Les pièces sont interconnectées comme indiqué sur le schéma. Niveaux de voltage sur les ports série : +/- 10 Volts. Les résistors de 1,5K Ohm sont exactement ce qu'il faut pour des DELs basse puissance mais des DELs normales fonctionneront également. Je ne recommande pas de changer les résistors ou d'utiliser une alimentation extérieure car les puces de contrôle du port série font partie de la carte-mère et si vous les grillez vous devrez changer la carte-mère entière.


pcb

L'image ci-dessus montre le circuit gravé sur la carte. Je n'ai pas de plan précis à vous fournir parce que je préfère dessiner de petits circuits directement à la main sur la carte avec de l'encre résistante à la gravure.

Le circuit final avec toutes les pièces est montré sur l'image du haut de l'article. Vous pouvez percer avec soin trois trous dans le panneau de façade de votre serveur. Deux trous de 3 mm pour les DELs et un pour visser dans le bouton-poussoir. Le circuit entier est très léger et la vis du bouton-poussoir sera suffisante pour le maintenir.

 

Le logiciel

Le logiciel est un petit daemon qui peut être lancé par un script depuis /etc/rc.d/rc3.d/.
Il utilise le ioctl (fd, TIOCMSET,...) et les fonctions ioctl (fd, TIOCMGET, ...) pour lire et écrire sur le port série.
Vous pouvez télécharger sled-0.1.tar.gz. Un makefile et des instructions pour l'installation sont incluses.

Bonne soudure !

 

Discussion sur cet article

Chaque article possède sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d´autres lecteurs:
 page de discussion 

Site Web maintenu par l´équipe d´édition LinuxFocus
© Guido Socher, FDL
LinuxFocus.org

Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus
Translation information:
en -> -- Guido Socher
en -> fr Jean Peyratout

2001-03-18, generated by lfparser version 2.8