LINUX FAIT LE CAFE

La plus énervante des remarques que l'on puisse entendre à propos d'un logiciel, est le fait qu'il ne sache pas faire le café. Georgatos Photis a donc écrit le Coffee HOWTO. A présent Linux sait faire le café, et de plus, il est excellent !
Depuis longtemps, le café est la matière première de l'informatique. Tout le monde le sait, la programmation est toujours plus facile de nuit et pour rester éveillé, il faut du café.

 

MATERIEL

Le problème principal est le contrôle de la machine à café par l'ordinateur. Il faut en effet que le PC puisse allumer et éteindre la cafetière.
Le port le plus facile à mettre en oeuvre pour ce genre de montage est le port parallèle. Le diagramme général de fonctionnement est donné en figure 1.
Pour une machine à café importante, il vaudra mieux utiliser un relais. En revanche, pour une simple cafetière, un montage à Triac suffira. Nous décrirons ici le montage à relais.
Les broches importantes du port parallèle sont les sorties numérotées de 2 à 9, et la masse sur les broches 18 et 25. C'est sur ces broches que sera connecté le montage.
Le schéma du montage est donné en figure 2. La broche 2 du port parallèle est reliée à la base du transistor NPN (2N2222A ou BC547A) via une résistance de 4,7 KOhm. L'émetteur du transistor sera relié à la masse et le collecteur sur le bobinage du relais. Il suffira ensuite de mettre le montage sous tension (Vcc) selon le type relais utilisé (5 ou 12 Volts). Notez la présence de la diode (1N4002) destinée à protéger le transistor du retour de courant. En l'absence de celui-ci, il y a de fortes chances que le transistor devienne sombre et malodorant.
Il vous suffira ensuite de connecter la sortie du relais entre la machine à café et son alimentation.

LOGICIEL

Pour écrire un programme qui accède au port parallèle de la machine, vous devez, dans l'ordre :
- obtenir la permission d'écrire sur le port par une instruction comme ioperm(BASE, largeur, 1);
- envoyer l'instruction sur le port par outb(1, BASE);
- attendre le temps nécessaire à la confection du café (passé par un paramètre, par exemple);
- eteindre la machine à café par outb(0, BASE);
- rendre les permissions par ioperm(BASE, largeur, 0).

La valeur le BASe est l'adresse du port parallèle où est connecté le montage, 0x3bc pou /dev/lp0, 0x378 pour /dev/lp1 et enfin 0x278 pour /lp2. La largeur est 8 dans tout les cas .

N'oubliez pas de rendre votre programme setuid afin que tous les utilisateurs puissent boire du café.

EXTENSIONS POSSIBLES

Parmi les extensions proposées par l'auteur du HOWTO, il y a :
- la création d'un script CGI pour faire du café via Internet;
- Etendre le montage pour faire des toasts ou des tartes aux pommes;
- Fabriquer un cluster de machines à café pour augmenter le rendement;
- Ajouter des capteurs pour connaître le niveau d'eau et de café;
- Créer un montage pour brancher une cafetière sur le port série à 115K/s.
 
 

 

 


© Copyright 2000 Diamond Editions/Linux magazine France - Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".