Aetheric logo

We have provided some computer software to make the Message Machine useful. Some familiarity with Python usage is assumed.

BaudotRSS

Installation instructions

  1. Download and install Python 2.6 if not already installed. (Python 2.6 is required; "pyserial" will not work correctly on older versions, and "feedparser" is not supported in 3.x versions.)
  2. Install the Python module "feedparser"
  3. Install the Python module "pyserial" from SourceForge
  4. Install the Python module "pygooglevoice" from Google Code.
  5. Download "BaudotRSS" from SourceForge.
  6. Extract source files from downloaded .zip/.tar file.
  7. Run: python userinterface.py --help

This will check the installation and display the available options.

Command line format:

python userinterface.py [options] [RSS feed URLs]

Short option
Long option
Meaning
-h --help Show this help message and exit.
-v --verbose Verbose mode
-k --keyboard Keyboard present, Omit for "Receive Only" Teletypes.
-x --halfduplex Half-duplex ("loop"). Stops echoing of typed input.
-l --lf Send line feed at end of line. Use if Teletype does not have LF on CR feature.
-c COMMAND --cmd=COMMAND Initial command as if typed from keyboard. "N" for news, "W" for weather.
-b BAUD --baud=BAUD Baud rate
-p PORT --port=PORT Port number or name (0=COM1 on Windows, device name such as "/dev/serUSB0" on Linux)
-u GUSER --username=GUSER Google Voice user name. Enables SMS sending and receiving.
-w GPASS --password=GPASS Google Voice password
-d WORKDIR --workdir=WORKDIR Directory for persistent state. A file will be created there to keep track of SMS messages already read.

It's helpful to make a ".sh" or ".bat" file with the appropriate command line and options for your situation.

With no options, on a Windows machine with standard serial ports the program will send Reuters news to a receive-only Teletype at 45 baud on COM1.

Any RSS feed, including Twitter feeds and news feeds, can be followed by putting the appropriate URL on the command line. Multiple URLs are allowed. Each feed will be polled every 90 seconds and new items will be printed. If no RSS feeds are specified, the Reuters World News feed will be used.

The program runs until killed.

The program will start and stop the Teletype motor only if the DTR signal from the serial port controls the motor. Our hardware interface does this, but this is not a standard Teletype feature.

Operating instructions

If "--keyboard" has not been specified on the command line, keyboard input will do nothing, and the program will print news.

With "--keyboard", the program is interactive. At startup, the program will print

N, W, S, O, OR CR:

"N": print news, then wait for traffic and stop motor.
"W": print weather (currently, for San Francisco only.)
"S" : Send SMS message
"O" Off - stop polling for traffic and stop motor.
"CR": Wait for traffic and stop motor.

Anything else produces a long prompt as a hint:
TYPE N FOR NEWS, W FOR WEATHER, S TO SEND, O FOR OFF, CR TO WAIT:

The last message printed before the machine goes idle will be either "WAITING..." or "OFF." When "waiting", the program is polling its RSS and SMS feeds for new traffic, and will turn on the machine and print.

Sending and receiving SMS messages requires a Google Voice account. The passwords for the account must be specified on the command line as above. It is suggested that the Google Voice account used for this purpose not be used for other purposes, as the program will delete received SMS messages once they have been printed.

Typing "S" at the prompt will produce the prompt:

TO NO:

and a phone number of a cell phone should be typed in. The next prompt is simply

:

at which text can be typed. Text can be multiple lines, and there is no length limit. The Teletype's "blank key" can be used as a backspace; the Teletype will print "\" followed by the character deleted. The machine itself, of course, cannot backspace. A blank line terminates and sends the message, and "DONE" will be printed.

Typing "." at the TO NO: prompt will use the phone number from the last SMS message received, to make conversation easier.

Messages sent to yourself are ignored; only incoming messages from other phone numbers will be printed.

Sending a BREAK will interrupt whatever is going on and return to the N, W, S, O, OR CR: prompt.

May 20, 2011