M-Cubed

 

 

Beacon Decoding Software

_________________________________________________________________

General

This package encapsulates all the software necessary to capture, display, and upload telemetry data from MCubed in real time! The software package consists of two parts:

1. Serial Port to TCP Socket Forwarding

This program forwards all serial data to an internet-enabled TCP socket. This software should reside on the computer physically connected to the TNC. All incoming data is stored locally if an internet connection is not available.

This program is based on example code provided by the pySerial project. It is released under the free Python License.

Supported Operating Systems: Windows, Mac OS X, Linux

2. Beacon Decoding Client

This program listens to the serial socket and displays interesting telemetry from any received beacons. Data points include: voltage levels, input power, satellite state, temperature, and many more....

Supported Operating Systems: Windows, Mac OS X, Linux

______________________________________________________________________________________________________

Requirements

All software has cross-platform capability. All that is required is a computer running Windows, Mac OS X, or Linux with serial port access to a TNC.

The following installation instructions assume that the connected TNC has already been configured to run in KISS mode with the proper serial baud rate and port set.

NOTE: The following software does not automatically configure the connected TNC for KISS mode. Please refer to your TNC’s user manual for instructions on configuring it to run in KISS mode.

______________________________________________________________________________________________________

Installation

Install Python

The serial port forwarding software requires Python 2.5 or later. Python is free to download: Python.org.

Python is also available for many Linux distributions, check your Linux package manager for details on installing Python (e.g. sudo apt-get install python for Ubuntu).

Windows Installation

Although installation is essentially the same, there are some minor differences between installing on Windows and Linux-based platforms.

GS Computer Connected to TNC

1. Create a directory to store all MCubed GS software (e.g. C:/MCubed_GS)

2. Extract mcubed_public_gs_dist.zip into the newly-created directory.

3. Navigate to the GS software directory in Windows Explorer and double-click on setup_pyserial.bat. This installs serial drivers so that Python can connect to the serial-based TNC. A command prompt will appear. Verify that no errors have occurred.

4. Open run_serial_to_tcp.bat in a text editor (Notepad, WordPad, etc.) and enter the serial port parameters specific to the connected TNC:

tcp_serial_redirect.py -q -p COM1 -b 9600 ----rtscts -P 12500 -i 0 -n mygs_radio

  • -q suppresses non-error messages
  • -p COM1 specifies the serial port the TNC is on (e.g COM1, /dev/ttyS0, etc.)
  • -b 9600 specifies the serial port baudrate the TNC is configured to (e.g. 9600, 38400, etc.)
  • ----rtscts enables hardware flow control. Most TNCs use this, but if yours does not, don't include this parameter
  • -P 12500 specifies the TCP port to open communications with either a local or remote client. This will be referenced when configuring the beacon decoding client.
  • -i 0 provides a radio identifier in the log files. Rarely needs to be changed from zero
  • -n mygroundstation_radio specifies a radio-specific identification for this radio in the log files. Please change to describe your radio.

 

5. Save run_serial_to_tcp.bat and exit the text editor.

6. Double-click on run_serial_to_tcp.bat. A new window will appear. If everything is working correctly, it should display "Waiting for connection on 12500...".

Beacon Decoding Client

The beacon decoding client software requires Java. Java is also free to download: Java.com.

1. If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory

2. Navigate to the GS software directory in Windows Explorer. Then open the /MCubed_GS_Client/ folder.

3. Open the gs client properties file config.props in a text editor (Notepad, WordPad, etc.) and change the following properties:

  • radio.1.name radio-specific identification
  • radio.1.address IP or address of the machine connected to the TNC (e.g. localhost - the same machine, xxx.xxx.xxx.xxx - IP only (no domain name), gscomp.mystation.com - domain name)
  • radio.1.port specifies the TCP port set in earlier setup
  • radio.1.type specifies either RAW or KISS (most TNCs will be in KISS mode)
  • client.callsign specifies the callsign of the ground-station's amateur radio operator
  • client.id specifies a station-specific identifier (e.g. mygroundstation)
  • client.port specifies an uplink port to relay data on to our servers (e.g. 12501). If you would not like to open a port for uplink, set this to 0.

 

4. Save config.props and return to the parent directory

5. Double-click on run_gs_client.bat. A summary window should pop up displaying all of the relevant datapoints.

Now you are ready to start receiving beacons! When the TNC receives a valid packet, it should be relayed to the beacon decoding client, displaying live telemetry points to your screen!

______________________________________________________________________________________________________

Linux Installation

Although installation is essentially the same, there are some minor differences between installing on Windows and Linux-based platforms.

GS Computer Connected to TNC

1. Create a directory to store all MCubed GS software (e.g. ~/MCubed_GS)

2. Extract mcubed_public_gs_dist.zip into the newly-created directory.

3. Navigate to the GS software directory in an open terminal and perform the following operations to set up scripts for execution and install the Python serial libraries:

cd ~/MCubed_GS
chmod +x *.sh
sudo ./setup_pyserial.sh

This installs serial drivers so that Python can connect to the serial-based TNC. Verify that no errors have occurred.

4. Open run_serial_to_tcp.sh in a text editor (gedit, vim, etc.) and enter the serial port parameters specific to the connected TNC:

./tcp_serial_redirect.py -q -p /dev/ttyS0 -b 9600 ----rtscts -P 12500 -i 0 -n mygs_radio

  • -q suppresses non-error messages
  • -p /dev/ttyS0 specifies the serial port the TNC is on (e.g COM1, /dev/ttyS0, etc.)
  • -b 9600 specifies the serial port baudrate the TNC is configured to (e.g. 9600, 38400, etc.)
  • ----rtscts enables hardware flow control. Most TNCs use this, but if yours does not, don't include this parameter
  • -P 12500 specifies the TCP port to open communications with either a local or remote client. This will be referenced when configuring the beacon decoding client.
  • -i 0 provides a radio identifier in the log files. Rarely needs to be changed from zero
  • -n mygroundstation_radio specifies a radio-specific identification for this radio in the log files. Please change to describe your radio.

 

5. Save run_serial_to_tcp.sh and exit the text editor.

6. Type ./run_serial_to_tcp.sh. If everything is working correctly, it should display "Waiting for connection on 12500...".

Beacon Decoding Client

The beacon decoding client software requires Java. Java is also free to download: Java.com.

1. If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory

2. Navigate to the GS software directory in Windows Explorer. Then open the /MCubed_GS_Client/ folder.

3. Open the gs client properties file config.props in a text editor (Notepad, WordPad, etc.) and change the following properties:

  • radio.1.name radio-specific identification
  • radio.1.address IP or address of the machine connected to the TNC (e.g. localhost - the same machine, xxx.xxx.xxx.xxx - IP only (no domain name), gscomp.mystation.com - domain name)
  • radio.1.port specifies the TCP port set in earlier setup
  • radio.1.type specifies either RAW or KISS (most TNCs will be in KISS mode)
  • client.callsign specifies the callsign of the ground-station's amateur radio operator
  • client.id specifies a station-specific identifier (e.g. mygroundstation)
  • client.port specifies an uplink port to relay data on to our servers (e.g. 12501). If you would not like to open a port for uplink, set this to 0.

 

4. Save config.props and return to the parent directory

5. Double-click on run_gs_client.bat. A summary window should pop up displaying all of the relevant datapoints.

Now you are ready to start receiving beacons! When the TNC receives a valid packet, it should be relayed to the beacon decoding client, displaying live telemetry points to your screen!

______________________________________________________________________________________________________

Disclaimer

The MCubed beacon decoding software package is provided by the University of Michigan “as is” and “with all faults.” The University of Michigan makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of this beacon decoding software package. There are inherent dangers in the use of any software, and you are solely responsible for determining whether this beacon decoding software is compatible with your equipment and other software installed on your equipment. You are also solely responsible for the protection of your equipment and backup of your data, and the Univerty of Michigan will not be liable for any damages you may suffer in connection with using, modifying, or distributing this beacon decoding software package. In downloading and running this software, you agree to accept the risks outlined in this disclaimer.

M-Cubed s3flJPLESTO