Déployer des serveurs modernes avec un MiniPC des années 80 ?

Le TRS-80 Model 102 est sorti en 1983, il a pourtant permis de piloter le déploiement de serveurs grâce à un Raspberry Pi.

Avec un Raspberry Pi servant d’interface, un TRS-80 Model 102 a permis à Darko Mesaros de piloter la solution Open-Source Kubernetes pour déployer l’installation de serveurs. Ce hack n’a rien de productif et il s’agit surtout pour son auteur de s’amuser. Même si cela prouve la souplesse du système, le moindre ordinateur un tant soit peu plus moderne aurait probablement été plus efficace pour la même tâche.

Mais l’opération est amusante et le fait de piloter un système avec Kubernetes en utilisant un matériel qui a presque 40 ans est étonnant. L’idée de base est de profiter de la présence sur cette machine d’un port série RS-232. Le même qui fait toujours ouvrir de grands yeux à certains lecteurs sur les machines industrielles présentées sur Minimachines. La force de cette interface est justement sa longévité et la possibilité de l’adapter à de multiples usages.

Vous remarquerez une date pas à l’heure…1

Ici le TRS-80 Model 102 n’a absolument pas les ressources nécessaires pour faire tourner un système de serveur moderne. On parle d’une machine pilotée par un Intel 80C85 en 8 bits et tournant à 3 Mhz. Il proposait de base 8 Ko de mémoire vive et de 32 Ko de ROM contenant l’entièreté du système. Son écran 8 lignes de 40 caractères et la possibilité de lui adapter un modem étaient pourtant recherchés par les plus baroudeurs pour pouvoir écrire et envoyer leurs documents à distance. Documents qui ne disposaient évidemment que d’une mise en page sommaire. Cette machine a fait le bonheur de pas mal de journalistes mais a également servi à écrire thèses et romans à son époque. La présence d’un bon clavier mécanique et d’un écran permettant de relire et retoucher son texte étant alors considéré comme miraculeux sur une machine de 1.33 Kg pour 30 cm de large, 21.5 cm de profondeur et 4 cm d’épaisseur. A noter que cet engin proposait une autonomie incroyable : 20 heures d’usage avec 4 piles AA standard.

Ici, le port RS-232 sert donc au dialogue avec une autre machine. Le clavier pilote un autre PC comme un clavier classique pendant que son écran à cristaux liquides affiche les informations en provenance du système externe. En d’autres termes, le TRS est exploité comme un simple terminal, connecté à un serveur. Cela tombe bien, l’engin dispose par défaut d’un outil Terminal permettant ce type de dialogue.

Tandy 102 est l’autre nom du TRS-80 Model 102

Le port RS-232 est connecté à un « WiModem32« . Un modem sur port série qui émule le fonctionnement des vieux modems téléphoniques mais qui envoie le signal en Wi-Fi en utilisant un ESP32. Ce dernier dialogue permet aux ordres de finir par atterrir sur un système Raspberry Pi qui fait tourner inetd. La carte de développement offre alors un contrôle vers une machine à distance de la même manière qu’au travers d’une liaison proposée avec un client logiciel Telnet comme Putty. Une pression sur une touche du MiniPC fait donc un bond vers le RS-232, est traduit par un ESP32 en Wi-Fi, est interceptée par un Raspberry Pi puis transférée vers le serveur à piloter. Celui-ci le prend en compte avant de renvoyer en sens inverse le résultat à afficher sur l’écran du TRS-80.

Ici, le TRS-80 a servi à piloter un déploiement Kubernetes mais il aurait aussi bien pu déployer n’importe quel système. J’imagine que tout l’intérêt est de laisser un magnifique TRS-80 sur  son bureau au lieu de se servir d’un terminal logiciel trop classique dans un coin de son écran. Une réalisation fort peu pratique, moins efficace, n’ayant aucun des conforts de gestion des logiciels modernes mais tellement classe.

A découvrir en détail ici. Merci à Michel pour l’info !

Notes :

  1. Le TRS-80 était réputé pour la faiblesse de son horloge interne.

Soutenez Minimachines avec un don mensuel : C'est la solution la plus souple et la plus intéressante pour moi. Vous pouvez participer via un abonnement mensuel en cliquant sur un lien ci dessous.
2,5€ par mois 5€ par mois 10€ par mois Le montant de votre choix

Gérez votre abonnement

13 commentaires sur ce sujet.
  • 1 mars 2023 - 16 h 55 min

    Et notre cultissime Minitel alors ?

    Répondre
  • Luc
    1 mars 2023 - 22 h 29 min

    Ce qui est beau, c’est de l’avoir utilisé tel quel. Aucun hack matériel hormis l’achat d’un WiModem32.
    La classe !

    Répondre
  • 2 mars 2023 - 1 h 31 min

    Pas moyen de communiquer directement avec le Rpi directement via RS-232 ?

    Répondre
  • bob
    2 mars 2023 - 2 h 52 min

    Merci beaucoup pour cet article !

    Répondre
  • 2 mars 2023 - 7 h 41 min

    @NyLan: Je n’ai pas essayé, mais la norme RS-232 utilisant neuf fils (sur une broche DB-9), il doit être possible de piloter neuf broches du GPIO pour ce faire. Malgré tout, beaucoup de machine envoyait leur signal avec une tension de -12 à +12 volts. Il faut sans doute prévoir un convertisseur avant le GPIO du Raspberry (si on ne peut pas piloter la tension côté TRS-80). Le reste est juste affaire de protocole.

    Répondre
  • 2 mars 2023 - 7 h 44 min

    Quand je parle de réguler la tension côté TRS-80, je parle de régulation fiable. J’ai déjà vu un driver répondre ok à une demande de tension… et ne rien faire. Je suppose que dans un tel cas, le Pi est mort.

    Répondre
  • 2 mars 2023 - 10 h 21 min

    A la tension près, le RS232 c’est le RX/TX de nos contrôleur , donc la connexion a un raspberry pi en filaire n’est pas un gros soucis. Mais après l’aurais fallu un émulateur de modem car ce Tandy 102 semble avoir besoin de voir un modem sur port rs232.

    Répondre
  • 2 mars 2023 - 10 h 36 min

    @Kikimoo & @Nylan : Bien sur que si ca doit etre faisable. Il y a un UART sur les GPIO des Raspberry, et c’est bien à ca que ca sert un UART : gérer des communication sériel asynchrone. Autrement dit pile poil du RS-232.
    Pas besoin des 9 fils. En vrai avec 3 fils (GND, TxD, RxD) on est bon… et si vraiment il faut le contrôle de flux matériel on ajoute 2 fils en plus (RTS, CTS).
    Alors en effet il y a surement des levels shifter à prévoir parce que historiquement les niveaux électriques du RS-232 c’est théoriquement +12v / -12v.
    Théoriquement parce que dans la pratique, la plupart des machin RS-232 « simple » se contentait plutot de +VCC / OV, ce qui n’etait pas trop conforme avec la spec mais tellement plus facile à réaliser. J doute que le Tandy 102 fonctionnant sur 4 piles 1,5v face exception.. mais comme de toute facon pour les GPI du raspberry on est plutot en 0v /3,3v…

    Répondre
  • 2 mars 2023 - 10 h 52 min

    Impressionnant, mais il y a un truc que je ne comprends pas…
    Quel est l’OS qui tourne sur le Tandy ? un FreeDOS ou équivalent ?

    Répondre
  • 2 mars 2023 - 12 h 07 min

    @eeegr: Tu devrais regarder ici : http://www.trs-80.org/multidos/

    @Kikimoo et @Ledidou et @Jean: Je crois que la réponse à la question « Raspberry Pi en direct ou non » est liée au fait qu’il s’agit d’un « hack » de développeur et pas d’électronicienµ. Il s’agit surtout ici de compiler des éléments déjà existant comme des briques matérielles les unes à la suite des autres. Ce n’est pas pour remettre en question la pertinence du projet mais bien pour montrer la volonté de l’auteur de ne pas toucher au reste. J’ai même l’impression qu’il s’agit d’une sorte de déduction logique suite à la vision de divers éléments. Comme si en voyant la solution ESP32 du WiModem32 l’auteur s’était dit : « hé ! si ce truc peut lire les signaux d’un RS232 et communiquer ensuite vers une autre solution, alors je peux en faire un terminal !? ». L’apparition du RPi dans la boucle n’est pas accidentelle mais c’est généralement l’ordinateur le plus accessible et le moins cher qu’on a sous la main. Qui peut tourner sous Linux et faire a peu près ce que l’on veut.

    C’est une théorie hein, j’en sais rien. Mais c’est ce vers quoi penche mon rasoir d’Ockham perso.

    Répondre
  • Xo7
    2 mars 2023 - 14 h 53 min

    « Le TRS-80 était réputé pour la faiblesse de son horloge interne » Ici c’est doute une horloge dépassée par le temps qui passe.

    Problème qui, fin des années 90, a fait le bonheur des journaux, des catastrophistes, des vendeurs d’équipements et de diagnostiqueurs de tous poils !

    LE BUG DE L’AN 2000 faisait écho aux films de science fiction de l’époque (dérapages informatiques en tout genre de fin du monde) et aux premières avancées du mouvement survivaliste (après la crise de Cuba).

    Mais, comme pour la coupe du monde de 1998 on a survécus !

    Répondre
  • 3 mars 2023 - 10 h 20 min

    @Pierre Lecourt: Merci de l’info Pierre, incroyable de voir un si vieil OS toujours maintenu !

    Répondre
  • 3 mars 2023 - 15 h 34 min

    @aka_mgr: Un minitel est très bien, mais déjà trop haut de gamme par rapport à un TRS-80 :) Toute la place d’un minitel est parfaite pour plutôt intégrer une Raspi dedans (espace, alimentation, …). Je l’ai fait il y a une dizaine d’années… pour me rendre compte, une fois le terminal lancé, qu’il manque plein de touches cruciales sur le clavier (le tilde, le slash, etc). Bref, ça rendait l’expérience plus pénible, tout d’un coup.
    Mais bon, lancer youtube sur un vieux crt noir et blanc dans une caisse défraichie, ça valait le coup !

    Répondre
  • LAISSER UN COMMENTAIRE

    *

    *