← Back to Server Documentation

Once the RemoteRF server has been setup, along with any optional hosts, configuration and operation of the server can commence.


Starting the RemoteRF Server

Starting the Server

After logging into the computer acting as the RemoteRF server, the RemoteRF server can be started as follows.

First, open a new terminal and activate the remoterf environment via the following.

conda activate remoterf

Then, run serverrf to start the server, which should produce an output similar to the following.

Terminal
(remoterf) user@computer:~$ remoterf --login Welcome to the RemoteRF Platform Current version: 1.1.2 (LATEST) All times are in Pacific Time (Los Angeles) Please login or register to continue. (l/r): r Registering new account ... Enrollment Code: JFZU Username: ian Password (Hidden): Confirm Password: Email: email@ucla.edu

Restarting the Server

To restart the server, exit the interactive shell using the exit command and run remoterf again from the terminal.

Factory Resetting the Server

To perform a factory reset of the server’s data, run the db purge command to remove all database entries and hosts wipe to clear host registry states.


Essentials

Printing the Help Screen

Type help, h, or ? to display the full command menu and available operations.

Clearing the Terminal

Use the clear or cls command to clear the interactive shell and reprint the welcome banner.

Checking the Server Status

Run status or server status to view the server’s uptime and binding information for gRPC and certificate services.

Closing the RemoteRF Server

Enter quit, exit, or q to close the interactive shell and terminate the server process.


Managing Devices

Listing All Devices

Run devices list to print a list of all configured devices, including their IDs and names.

Checking Device Status

Use devices status to view real-time connection states, host routes, and last-seen timestamps for all devices.

Adding Devices

See the BLANK page for instructions on connecting new devices to the server.

Removing Devices??


Managing Hosts

Hosts are often lightweight computers, such as the Raspberry Pi, that are responsible for connecting one or more SDRs to the RemoteRF server over Wi-Fi, LAN, or VPN.

Adding a Host

See the BLANK page for instructions on connecting new hosts to the server.

Checking Host Status

Run hosts status to display live host data from the tunnel registry, including online flags, device counts, and last-seen timestamps.

Deleting All Hosts

Use hosts wipe to clear all persisted host/tunnel registry state files and in-memory data. To skip the confirmation prompt, use the -y or --yes flag.

DELETING A SINGLE HOST?


Managing Users

Users connect to the RemoteRF server over their local network or VPN to remotely run experiments on its SDRs.

Listing All Users

Run users list to display a complete list of all registered user accounts.

Managing Individual Users

Run users manage to change user permissions, delete accounts, or manage specific user reservations.

Deleting All Users

Run users purge to permanently remove all user accounts from the RemoteRF server.


Managing User Groups

User groups are used to provide users with certain permissions, such as access to certain SDRs or to certain reservation privileges. User groups can be used by instructors to provide varied access to RemoteRF, depending on what class they are enrolled in. A single student can be part of multiple user groups, with their permissions and priviliges defined by the superset across user groups.

Listing All User Groups

Use the groups list command to view all existing user groups.

Creating a User Group

Run groups create to start the process for setting up a new user group.

Editing a User Group

Use groups edit to modify the settings or members of an existing group.

Deleting a User Group

Run groups delete to select and remove a user group from the system.

Exporting User Groups to a CSV File

Use groups csv to export all user group data to a CSV file in your Downloads folder.


Managing Enrollment Codes

Enrollment codes are required for users to make an account on the RemoteRF server. They can be used by instructors to ensure only certain students have access to the RemoteRF server, such as those enrolled in a particular class, as opposed to anyone on campus. They may also be used to provide users access to certain SDRs and certain reservation privileges by assigning them to certain user groups upon account creation. An enrollment code can be made to be used one or more times and can be set to expire after a certain amount of time after generation.

Listing All Enrollment Codes

Run codes list to view a complete list of all currently active enrollment codes.

Creating Enrollment Codes

Use codes create to start the process of generating new enrollment codes.

Deleting Enrollment Codes

Run codes delete to enter an interactive mode where you can select and remove specific enrollment codes.

Exporting Enrollment Codes to a CSV File

Use codes csv to export the list of enrollment codes to a CSV file, which will be saved to your Downloads directory.


Managing Reservations

In order to access any of the SDRs connected to a RemoteRF server, users must place reservations through the command line interface of the RemoteRF client. A reservation is for a particular time slot (usually 30 minutes or 1 hour) and for a particular SDR. Upon making a reservation, the RemoteRF server issues the user a unique token (random string of characters) that can be used within Python code to access the SDR during the designated time slot. The RemoteRF server maintains a database of these reservations in order to grant access to its SDRs.

Listing All Reservations

Use reservations list to print all reservations ACTIVE OR ALL??

Deleting the Reservation Database

Use db purge to delete all reservations and clear the database.