Skip to main content

RemoteRF host-side control package

Project description

RemoteRF Host (hostrf) — Linux Setup

HostRF Installation

The guide is done/verified for Ubuntu Server/Desktop 24.04 LTS.

0) If Raspberry Pi

Raspberry Pi Imager → Install Ubuntu Server 24.04 LTS → Boot Raspberry Pi from SD card.

1) System Prerequisites (APT)

sudo apt update
sudo apt install -y curl ca-certificates bzip2 git build-essential
sudo apt install -y libusb-1.0-0 udev

Optional: confirm architecture:

uname -m
  • x86_64 → Intel/AMD
  • aarch64 → ARM64 (Raspberry Pi 64-bit, some servers)

2) Install Miniconda

2.1 Download the installer

x86_64

cd /tmp
curl -fsSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

ARM64 (aarch64)

cd /tmp
curl -fsSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh

2.2 Install (non-interactive, recommended)

x86_64

bash Miniconda3-latest-Linux-x86_64.sh -b -p "$HOME/miniconda3"

ARM64 (aarch64)

bash Miniconda3-latest-Linux-aarch64.sh -b -p "$HOME/miniconda3"

2.3 Enable conda in your current shell

source "$HOME/miniconda3/etc/profile.d/conda.sh"
conda --version

If you want conda available automatically in new terminals:

"$HOME/miniconda3/bin/conda" init bash
source ~/.bashrc

2.4 Install mamba (default solver)

conda install -n base -c conda-forge -y mamba
mamba --version

Might have to accept anaconda TOS.

conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main

conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r

3) Create the Environment (with mamba (faster))

mamba create -n hostrf -y -c conda-forge -c defaults  python=3.10 pip setuptools wheel grpcio protobuf python-dotenv numpy scipy libiio pylibiio libusb

conda activate hostrf
python -m pip install -U pip
python -m pip install pyadi-iio remoterf-host
sudo reboot now

HostRF Config

Run the below for a comprehensive overview:

hostrf --help

To get hostrf up and running:

1) Point to a RemoteRF server

HostRF requires a RemoteRF Server already setup. See RemoteRF-Server for additional details.

hostrf stores its config repo-locally under: ./.config/

hostrf --config --addr <host:port>
# example:
hostrf -c -a 164.97.201.67:5000
hostrf -c -a --show

2) Set host parameters

Set hostname:

hostrf --config --host <hostname>
#example:
hostrf -c -h host_0

3) Connect devices (Adalm Pluto)

iio_info -s #if this doesn't work, try the below
iio_info -u ip:192.168.2.1

Look for a 'hw_serial: 104473'. Keep note of said serial per device.

Add pluto to device list. Understand that the device_id (int) needs to be GLOBALLY unique!

hostrf --device --add --pluto <id>:<device_name>:<hw_serial>

#Example
hostrf -d -a --pluto 10:hostrf_pluto_0:104473

Remove device:

hostrf -d -remove <id>

Show devices:

hostrf -d --show

Clear all device config:

hostrf -d --wipe

todo: confirm connecting to pluto devices

todo: hostrf side show devices, etc.

todo: Punching list of devices through the tunnel

todo: ServerRF side routing & reservation pipeline. (Fetching hostname and devices on 'read/pull' information)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remoterf_host-0.1.8.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remoterf_host-0.1.8-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file remoterf_host-0.1.8.tar.gz.

File metadata

  • Download URL: remoterf_host-0.1.8.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for remoterf_host-0.1.8.tar.gz
Algorithm Hash digest
SHA256 babfe3608f125b05d464dad1e82ea7b14253e0c3fba6f592487247638d2ed49a
MD5 32371fece151d88cac018116552ce0a6
BLAKE2b-256 29f12167a8bc30339c0d1dbc9c7dd0e7bc38adce5d93ccb2ff79a01ebb86cb6d

See more details on using hashes here.

File details

Details for the file remoterf_host-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: remoterf_host-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for remoterf_host-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 921d549b8d0844de5c010deedd73a4feec2516a4d6f8584c0a29a6851423cfac
MD5 622dbc4cb35c1a8bc2b96e3e15c5cea8
BLAKE2b-256 61abc568bbc05a58feb7a04bae629583e167a354e16113b576b372c687d72580

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page