RaspTTY: WEB to TTY Interface (old version)


Hardware

  • Schematic
  • Software

  • RPI0 config.txt
  • RPI0 cmdline.txt
  • RPI0 activityled.dts

  • RPI0 python code
  • RPI0 python code (new version)
  • RPI0 config
  • RPI0 sound files
  • Details

    I started this project with the idea of giving a new life to my good old teletype machines.
    The 'RTTY.com' site operates an interesting AFSK modulation streaming service which can demodulated by any TU (Terminal Unit).
    However this requires to connect the audio line of your computer to a TU equipment in order to be able to decode and print the news feed.
    Another way would be to directly connects to the telegraphic interface - RON signal - and use the teletype as a teleprinter.

    I wanted to find the best of breed with a stand alone unit that would able either to play the 'iTTY' stream or to process a WEB page.
    Small units ARM are now available of which the 'Rapsberry PI Zero' that can do the trick.

    It tooks roughly more than a week to devise such a stand alone unit:
    RaspTTY is able to connect to any Internet site on its own in order to process a ressource such as a Web site or a Twitter Feed.
    The extracted data is then converted to 'a ready to print' ITA2 encoded text.
    It can also get the iTTY stream and play it on its audio output.

    The very first test was to print President Trump tweets the old fashion way on a real Post & Telegraph 'TELEX SERVICE' paper.
    The sound of the mechanics and oil smell brought me back more than 35 years ago with my first TTY setup....

    Everything is contained in a small case which exposes:
    - a telegraphic interface,
    - an audio output,
    - a 5V power supply jack,
    - two LEDs for the trafic activity display,
    - one LED for the processing activity,
    - two buttons.

    A switch button allows for selecting one of the two configured services:
    • Getting last news from one of the four defined WEB services
    • Here the site text content is extracted, converted to ITA2 charset and then sent to the serial line as 5 bits words using the 50bds speed.
      The serial line output has to be connected to the RON teletype input. An opto-isolated interface is used.
      The site can be selected through the 'config.ini' file.

    • Reading the iTTY stream.
    • The 'iTTY' stream is played through the audio line. This can be used to feed an AFSK modem connected to the teletype.
      The RPI0 PWM0 and PWM1 outputs are used. They are filtered and connected to an audio amplifier.
      The site can be selected through the 'config.ini' file.
    With first code version, any change in the working mode needed a reboot with the current software version.
    But that's no more true with the latest python code version.

    A push-button generates an event that is linked to the raspbian 'halt' operation.

    Status or error information goes on the audio line as speech synthetised audio messages.

    Some comment on the installation:

    The python 'service.py' and the related sound files have to be copied into the installation directory.
    A service start file will have to be written in order to run the 'service.py' file after raspbian boot.
    Some python classes may have to be installed for the application being successfully ran.
    The audio PWM signal wiring routes are modified through the 'config.txt' file that will be installed under the '/boot' directory.
    The 'activityled.dts' has to be compiled and the resulting file installed under the '/boot/overlays' directory to allow the external wired LED to be used.
    Default parameters can be set inside the 'config.ini' file.
    And ... sorry for not using all the Python idioms, I'm a C++ programmer ;-)

    "Programs must be written for people to read, and only incidentally for machines to execute."
    Abelson & Sussman, Structure and Interpretation of Computer Programs

    Pictures

    Controler
    RPI Hat details
    Output Sample

    Vidéos

    Internet News - Sagem SPE5 printing

    Internet News - Sagem SPE5 printing


    iTTY Stream - Sound output

    iTTY Stream - MPC-1000 demodulation

    iTTY Stream - MPC-1000 demodulation, Sagem SPE5 printing



    Last revision: 06/10/2017