mardi 22 avril 2025

RaspTTY: Mise à jour

'RaspTTY' est un gadget que j'ai développé en décembre 2016 afin de disposer d'un terminal multi-modes pour mes télétypes. S'appuyant sur une carte Raspberry PI0, ce gadget embarque un serveur WEB pouvant piloter un télétype 50 bauds mais aussi une application permettant de recevoir des news depuis différents serveurs WEB. Ceci en mode série (raccordement direct en simple courant) ou en audio (AFSK générée par le gadget), nécessitant alors un démodulateur, un Dovetron ici.


J'avais rencontré quelques problèmes de gestion des différentes tâches avec, assez régulièrement, un SegFault lors d'un changement de mode. Il faut dire qu'il est possible de changer de source par le biais d'un simple inverseur dont l'état est supervisé par le logiciel du serveur écrit en Python. La génération s'effectuant via 'aplay' pour les sources locales et via 'omxplayer' pour les streams, il est nécessaire de mettre en place un mécanisme robuste permettant d'assurer la terminaison correcte d'un processus fils. Avec donc l'utilisateur de mécanismes de verrouillage, de lock, d'attente.... Le passage à une version bien plus récente de Raspbian et de python a permis de mieux cerner le problème et de le corriger. 

La carte initiale Raspberry Pi0 a été remplacée avec succès par une Pi0W me permettant d'éliminer le dongle USB Wifi. Je craignais que le module Wifi utilise le port série LP011 comme le module Bluetooth (obligatoirement désactivé) mais ce n'est, heureusement, pas le cas.

Quatre modes de fonctionnement sont ainsi disponibles:

Télétype raccordé:
1) Streaming d'une source texte WEB telle que les news de la BBC, les données étant mises au format et transcodées en ITA2 puis transmise sur la liaison série 50bds,
2) Interfaçage sur un terminal accessible depuis l'interface WEB permettant d'émettre des messages vers le télétype et de recevoir des réponses.


Télétype non raccordé:
3) Streaming d'une source texte WEB telle que les news de la BBC, les données étant mises au format, transcodées en ITA2 puis modulées localement en FSK sur une sortie dédiée et sur le haut-parleur,
4) Streaming d'une source audio FSK, en l'occurrence 'http://internet-tty.net:8040/EUROPE', avec copie du signal audio sur une sortie dédiée et sur le haut-parleur.



Aucun commentaire: