packet:qttermtcp
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
packet:qttermtcp [2023/05/21 22:23] – created m0tzo | packet:qttermtcp [2024/05/14 07:10] (current) – m7fus | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ** PLEASE NOTE THAT THIS PAGE IS A WORK IN PROGRESS ** | + | ====== QtTermTCP ====== |
- | ===== Building Software from Source Code ===== | + | |
- | === Abstract == | + | Official Website: https://www.cantab.net/ |
- | How to use commonly accepted methods for building software from source code. This software may be from a developer' | + | |
- | The process | + | QtTermTCP |
- | === NOTE: the character " | + | The following Wiki page covers getting started with QtTermTCP. It assumes you've got a working Radio + TNC setup. |
- | ==== Kickin' | ||
- | **Background** | ||
- | Before git was a thing, developers who shared code commonly used the " | + | ===== Installation ===== |
- | **Unrolling the tarball** | + | ==== Windows ==== |
- | Download the tarball to the folder in which you wish to place the repository. | + | The instructions were tested on Windows 11 but presumably works on other versions. |
- | Now that the tarball is in the "src" | + | First off if it doesn' |
- | '' | + | Download [[https:// |
- | This will create the folder structure contained inside the tarball under the "src" | + | Extract it, and copy the "release" |
- | '' | + | To access if from the Start Menu, Find QTTermTCP.exe, |
- | Now the source " | + | Optionally if you want to create a desktop shortcut, you can also Right click the exe again, select '' |
- | ==== Giddyap with git ==== | + | This completes the installation. |
- | **Background** | + | |
- | Now that git //IS// a thing, most projects are offered to end users via Github, Gitlab and other online git repositories. | + | ==== Debian-ish operating systems ==== |
- | Each project commonly has a home page accessible via web browser. | + | If you have a Debian-like OS, such as Ubuntu, Raspberry Pi OS, or indeed Debian itself, please consider using the repository here: https:// |
- | === Cloning from a git repository | + | ==== MacOS with Brew ==== |
- | Copy the link provided by the web page or other source and use it to clone the repository. | + | |
- | '' | + | If you use MacOs with the [[https:// |
+ | < | ||
+ | brew install tomwardill/ | ||
+ | QtTermTCP | ||
+ | </ | ||
- | '' | + | This installs the QtTermTCP app as if it was a CLI app, so it must be started from the terminal. |
- | The source code now resides in the folder ~/ | ||
- | ===== Building from the Source Tree ===== | + | ==== Ubuntu 22.04 - manual installation |
- | === Background === | + | |
- | There are many ways to prepare the source code for building, including doing nothing at all. Commonly, the developer will include building instructions in the README file or another text file which is frequently called INSTALL. | + | |
- | === Commonly Used Steps for Building Source Code === | + | Tom M0LTE has kindly setup some Github actions |
- | Now that the source code tree is in the user's home folder area, follow the advice of the developer usually containted in the INSTALL or README text files included with the source code. Ways to prepare and build are usually detailed in one or more of these text files. | + | |
- | **Commonly Used Steps with the Tarball Repository** | + | First of all open a terminal, change to root, and install |
- | Linux make tools are frequently used in tarball repositories. | + | <code> |
+ | su root | ||
+ | apt-get update | ||
+ | apt-get | ||
- | From the top level of the source code tree: | + | Next download |
- | '' | + | < |
+ | wget -P / | ||
+ | chmod +x / | ||
+ | </code> | ||
- | '' | + | Then create a .desktop file so you can find QtTermTCP in your applications menu. |
- | '' | + | < |
+ | nano / | ||
+ | </ | ||
- | Evaluate | + | Enter the following: |
- | ** PLEASE NOTE THAT THIS PAGE IS A WORK IN PROGRESS ** | + | < |
+ | # | ||
+ | [Desktop Entry] | ||
+ | Version=1.0 | ||
+ | Type=Application | ||
+ | Terminal=false | ||
+ | Exec=/ | ||
+ | Name=QTTermTCP | ||
+ | Comment=QTTermTCP | ||
+ | </ | ||
+ | Then press '' | ||
+ | |||
+ | You should now be able to launch QtTermTCP from the " | ||
+ | |||
+ | ==== Raspbian Desktop - manual installation ==== | ||
+ | === NOTE: the following instructions work exactly the same for Ubuntu 22.04 === | ||
+ | |||
+ | QtTermTCP can be compiled for a Raspberry Pi. From a fresh install run the following commands: | ||
+ | |||
+ | < | ||
+ | # First let's install the support packages. | ||
+ | sudo apt-get install -y qt5-qmake qtbase5-dev libqt5serialport5-dev git | ||
+ | |||
+ | # Move to the user's home folder and create a source folder. | ||
+ | # If it already exists, it's ok. | ||
+ | cd | ||
+ | mkdir -p src | ||
+ | cd src | ||
+ | |||
+ | # Download the source code. | ||
+ | git clone git:// | ||
+ | cd QtTermTCP | ||
+ | |||
+ | # We want to do a shadow build so it's easy to update later | ||
+ | mkdir build | ||
+ | cd build | ||
+ | qmake .. | ||
+ | |||
+ | # NOTE: older Pi's like 2's and 3's will want to use a " | ||
+ | # but Pi 4/ | ||
+ | make -j4 | ||
+ | |||
+ | # Now the executable will reside in the build folder so let' | ||
+ | # make a tidy home for it as a folder in our home folder. | ||
+ | mkdir -p ~/QtTermTCP | ||
+ | cp QtTermTCP ~/QtTermTCP | ||
+ | cd ~/QtTermTCP | ||
+ | |||
+ | # Ensure the program is executable. | ||
+ | chmod +x QtTermTCP | ||
+ | |||
+ | # Now make a simple script to use for a desktop shortcut or manually starting the program. | ||
+ | touch QtTermTCP.sh | ||
+ | echo "# | ||
+ | echo "cd ~/ | ||
+ | echo " | ||
+ | echo "exit 0" >> QtTermTCP.sh | ||
+ | chmod +x QtTermTCP.sh | ||
+ | </ | ||
+ | |||
+ | The program may be run using the shell script found at / | ||
+ | |||
+ | This shell script may also be used to build a shortcut for the desktop. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Setup ===== | ||
+ | |||
+ | Setup should be similar for both Windows and Linux versions. Note of the 3 connection methods documented below, you'd generally only configure one - so pick the method most relevant to your setup. | ||
+ | |||
+ | ==== KISS via Serial ==== | ||
+ | |||
+ | KISS (Keep It Simple, Stupid) is a protocol for communicating with a serial terminal node controller (TNC) device used for amateur radio. An example of a modern TNC is the NinoTNC. | ||
+ | |||
+ | Open QTTermTCP, click '' | ||
+ | |||
+ | Tick Enable '' | ||
+ | |||
+ | In the Serial Setup section select the COM port of the attached TNC, and enter the desired baud rate (Note: This is the baud rate of the serial device itself, not the baud rate you wish to transmit at). The Baud Rate for the NinoTNC is 57600. | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | |||
+ | ==== KISS via TCP ==== | ||
+ | |||
+ | KISS Over TCP is useful if you're running QtTermTCP and want to connect to Dire Wolf, which is either running locally, or perhaps running on a Raspberry Pi and you want to connect from QtTermTCP running on your daily driver PC. | ||
+ | |||
+ | |||
+ | Open QTTermTCP, click '' | ||
+ | |||
+ | Tick Enable '' | ||
+ | |||
+ | In the Serial Setup section select " | ||
+ | |||
+ | In the TCP Setup section enter the IP and port of the KISS modem. If you're running Dire Wolf on your local machine the IP would be '' | ||
+ | |||
+ | It should look something like: | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | |||
+ | Press OK when finished to exit the setup. | ||
+ | |||
+ | ==== AGW ==== | ||
+ | |||
+ | AGW is a packet protocol used by in SV2AGW' | ||
+ | |||
+ | To configure it, open QTTermTCP, click '' | ||
+ | |||
+ | Enter your callsign, ignore the Beacon setup for now, and then in the TNC Setup section configure the Host, Port, and Paclen. If you're using QtSoundModem on the same machine, the host is 127.0.0.1 and the default port is 8000. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Usage ===== | ||
+ | |||
+ | Once you've configured QTTermTCP you can try to connect to something. | ||
+ | |||
+ | ==== KISS ==== | ||
+ | |||
+ | |||
+ | Open QTTermTCP. Assuming everything is setup correctly you should see "Kiss Connected" | ||
+ | |||
+ | By default, the windows is split into three. The top panel is monitoring any packets sent or received. If you're in range of another packet station you should see some activity here. The Middle panel is there terminal and will show any data sent from a node once connected. The bottom small text bar is for sending text to a connected node. | ||
+ | |||
+ | Monitor panel showing some activity from GB7WOD: | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | |||
+ | To attempt to Connect, in the top bar select '' | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | Press OK once finished to connect | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | You should then attempt to connect to the node. You can see the sent packets in the monitor window. | ||
+ | |||
+ | Once connected, you can start to interact with the node. | ||
+ | |||
+ | ==== AGW ==== | ||
+ | |||
+ | Open QTTermTCP. Assuming everything is setup correctly you should see "AGW Connected" | ||
+ | To attempt to Connect, in the top bar select '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Press OK once finished to connect. You should then attempt to connect to the node. You can see the sent packets in the monitor window. | ||
+ | |||
+ | Once connected, you can start to interact with the node. | ||
+ | |||
+ | ==== LISTEN ==== | ||
+ | QtTermTCP has a very nice feature that ties directly with the TALK command.\\ | ||
+ | When set up correctly if a remote user types " | ||
+ | For this configuration example (it is actually mine), I have the TNC connected to one machine running linBPQ and my main machine running QtTermTCP.\\ | ||
+ | \\ | ||
+ | I need to know my main machine' | ||
+ | ''// | ||
+ | I also need a port number on my main machine to listen on. I will use\\ | ||
+ | ''// | ||
+ | In QtTermTCP, click on the '' | ||
+ | {{: | ||
+ | Check the box '' | ||
+ | Fill in the port number (''// | ||
+ | Fill in the CText box with the information the end user will see when they use the " | ||
+ | Click the OK button.\\ | ||
+ | If you notice a mistake later you can Click on the " | ||
+ | \\ | ||
+ | On the node itself you need to add the TALK command to bpq32.cfg. | ||
+ | '' | ||
+ | Step by step:\\ | ||
+ | '' | ||
+ | This is the application number, you can have between 1 and 32. Ensure the number is unique (you can't have 2 application 4 lines).\\ | ||
+ | '' | ||
+ | This is the command the end user types to activate the command\\ | ||
+ | '' | ||
+ | Attach to port ''// | ||
+ | ''// | ||
+ | This is a direct connection to the TALK command. | ||
+ | ''// | ||
+ | This is the alias of ''// | ||
+ | \\ | ||
+ | Save the config file and restart bpq32.\\ | ||
+ | \\ | ||
+ | One thing I do in QtTermTCP is to enable tabbed windows which means I can have multiple connections in one app.\\ | ||
+ | Click on the '' | ||
+ | Also, tick '' | ||
+ | When the end user connects to '' | ||
+ | If you change the " | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ |
packet/qttermtcp.1684707823.txt.gz · Last modified: 2023/05/21 22:23 by m0tzo