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
- Create a directory to store all CSSWE GS software (e.g. C:/CSSWE_GS)
- Extract rax_public_gs_dist.zip into the newly-created directory.
- 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.
- 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.
- Save run_serial_to_tcp.bat and exit the text editor.
- 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.
- If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory
- Navigate to the GS software directory in Windows Explorer. Then open the /CSSWE_GX_Client/ folder.
- 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)
- Save config.props and return to the parent directory
- 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
- Create a directory to store all CSSWE GS software (e.g. ~/CSSWE_GS)
- Extract rax_public_gs_dist.zip into the newly-created directory.
- 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 ~/CSSWE_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.
- 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.
- Save run_serial_to_tcp.sh and exit the text editor.
- 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.
Like Python, Java can also be installed as a package. Check your distribution's package manager for details on obtaining the JVM. Common packages are openjdk-6-jdk and sun-java6-jre.
- If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory
- Navigate to the GS software directory in Windows Explorer. Then open the ~/CSSWE_GS/CSSWE_GS_Client/ folder.
- Open the gs client properties file config.props in a text editor (gedit, vim, 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)
- Save config.props and return to the parent directory
- Type ./run_gs_client.sh. 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!