Minitel sur le port série
Le minitel est « mort » depuis le mois de juillet dernier, mais beaucoup se sont demandés comment le ressusciter.
Le minitel est un petit terminal, sans aucune logique, simplement capable d’afficher des caractères à l’écran. Ces caractères étaient envoyés depuis un serveur en utilisant les lignes téléphoniques et un protocole spécifique.
Depuis les minitels version « 1b », ils étaient équipés d’un port série et de fonctionnalités supplémentaires.
C’est par ce port série que l’on va réutiliser notre minitel.
Ce qu’il faut
- un minitel 1b (récupéré à la déchetterie pour ma part), j’ai la version avec le clavier fixe mais il y en a eu d’autres. On le reconnaît grâce à :
- la touche « Fnct »
- La prise DIN qui est en fait son port série
- un PC (Windows ou Linux) avec un port série. Une fois de plus, la déchetterie m’aura rendu service…
Le montage électronique
Il ne sert qu’à adapter les deux tensions utilisées : le minitel utilise des signaux en 12v et le PC en 5v.
Le montage est simple (2 transistors et 3 résistances), il est expliqué ici : http://furrtek.free.fr/?a=telinux
Test avec HyperTerminal sous Windows
(Sous Windows Vista et 7 il vous faudra télécharger un programme d’hyperterminal).
Mettez le minitel sous tension, puis appuyez sur Fnct et T, puis A (en lachant bien Fnct), puis Fnct + P et le chiffre 4.
Ces deux combinaisons vont :
- passer le minitel en mode « série »
- régler la vitesse du port à 4800 bauds.
Ouvrez l’hyperterminal, puis faites une nouvelle connexion :
Si vous voyez sur l’écran du minitel ce que vous tapez sur votre clavier et vice versa, vous avez réussi. Sinon, revoyez votre câble.
C’est bien gentil, mais pour le moment ça ne sert pas à grand-chose… passons à la suite.
Console Linux
C’est certainement le moyen le plus facile de faire quelque chose de rigolo. Vous n’avez qu’à paramétrer un terminal pour qu’il soit câblé sur le port série et le tour est joué.
Ca se passe toujours sur le site de FurrTek : http://furrtek.free.fr/?a=telinux
Un peu de programmation
Il existe une libraire spécifique pour gérer les communications sur le port série.
Il faut :
http://search.cpan.org/~bbirth/Win32-SerialPort-0.22/lib/Win32/SerialPort.pm (pour Windows)
ou
http://search.cpan.org/~cook/Device-SerialPort-1.002/SerialPort.pm (pour les autres OS)
Le principe est toujours le même, mais dans la suite de ce document je montrerai des exemples pour Windows.
(une très bonne page d’exemples pour utiliser la libraire perl : http://www.foo.be/docs/tpj/issues/vol4_1/tpj0401-0020.html)
Entête du fichier :
#! perl -w # Minitel Console # M. Passenaud # use strict; use Win32::SerialPort;
Mise en place de la configuration du port série :
# set serial port config
my $serialPort = new Win32::SerialPort("COM1");
$serialPort->databits(7);
$serialPort->baudrate(4800);
$serialPort->parity("even");
$serialPort->stopbits(1);
$serialPort->handshake("none");
$serialPort->write_settings || undef $serialPort;Ecrire sur le port série :
# Write to serial port
$serialPort->write("coucou\n");
sleep 1;Lire sur ce dernier :
# Read
$serialPort->read_interval(100);
while(1) {
my ($count, $result) = $serialPort->read(20);
print "count = $count, result = $result\n";
}
SynerGeek.fr Informatique & Veille Technologique






