The RF Survey GUI is the most convenient way of kicking off surveys as it does not require terminal knowledge. The GUI is available on the server branch of the RF_survey repository and is currently only compatible with Mac and Linux OS. This section will first describe how to run the GUI locally on Linux and Mac and then describe the steps necessary to use the GUI remotely.

<aside> ⚠️ One of the main libraries used in the GUI, pexpect, is not supported on Windows. While alternatives such as paramiko have been tested, they require considerable changes not only to the code, but to the RPi configuration as well. Due to the fact that the interface can be used remotely on the RPi from any system, there are currently no plans to add Windows compatibility.

</aside>

Local GUI access

The steps to run the GUI locally are very similar for Linux and Mac installations and largely depend on already installed Python packages. While not absolutely necessary, using Python environments can make it a bit easier, especially using software such as Anaconda. Using Anaconda for example, a new environment can be created in the Anaconda terminal with conda create -n GUI. Then, activate the newly created environment and install the necessary Python libraries:

conda activate GUI
conda install pexpect
conda install tk
conda install requests
conda install git
git clone --branch server --single-branch <https://github.com/NSFCUSWIFTPASS/rf_survey.git>

Open the cloned repository and run python rf_survey_gui_v4.py in your terminal.

<aside> 💡 If you run into any import errors when trying to run the GUI, check the error and install the missing libraries. It can be very system and method dependent which libraries need to be installed in addition to the ones above.

</aside>

Remote GUI Access

If you don’t have access to a Linux or Mac computer, you can install the GUI on the RPi itself and forward the interface to your local machine. First, install the necessary libraries listed here and download the server branch from the rf_survey repository. Then, make sure that X11 forwarding is activated on the Raspberry Pi. Open /etc/ssh/sshd_config and uncomment or add the following two lines:

X11Forwarding yes
X11UseForwarding yes

For X11 forwarding to work, you’ll then need to restart the SSH server with sudo service sshd restart. How to connect to and use the forwarded X11 session depends on your local operating system:

GUI Guide

RF Survey GUI with example Organization, GCS, and IP address.

RF Survey GUI with example Organization, GCS, and IP address.

While some parameters in the GUI need to be specified by the user, many will be calculated automatically. The GUI attempts to detect the geographic coordinate system (GCS) coordinates associated with the automatically detected IP address. These values should only be used for testing or as a guideline for the format as they do not represent your actual location or the target device’s IP address.

<aside> 💡 The function used to provide an organization name and GCS template shows an ISP’s node.

</aside>

The IP address shown in the IP address field is the address for the device currently running the GUI, i.e. if you’re using X11 forward, it is the address of the device hosting the code. To execute a survey on the device hosting the GUI code, change the IP address to 127.0.0.1. The “Organization” field is a flexible use field and meant to help organize a variety of data collection locations. For ease of use, a data collection end time is assumed 20 minutes from the time the GUI has been opened. The survey end time is however not required in case of a continuous survey without end. Instead, check the “Loop Forever” box to create a survey that has no set end time.