Skip to main content

A software defined radio capture library in python

Project description

SDRCAP

A software defined radio recording library in python.

Organized as a Python Pip Poetry project. Currently only limited support for RTL-SDR via pyrtlsdr package with others to be added.

Setup

Installing

  1. Obtain pyproject.toml & poetry.lock
  2. in root of project, run
poetry install

Both toml and lock files are currently version controlled

Running

Try out the example!

poetry run python examples/example_usage.py

In general, the library is organized around you calling the library -> hardware device interface -> functions We define the hardware device interface in the python file and class name:

For RTLSDRv4 devices:

from sdrcap import rtl_interface 

Output

Currently the recording output supports CSV and HDF5 filetypes.

Dependencies

setuptool is needed for MACOS to import packages

A environment setting script is set to bind the poetry environments rtlsdrlib but shouldn't be necessary if you are explicitly doing:

poetry run python ${target}

instead of:

poetry shell
python ${target}

due to differences in potential python environments. If you want to use it run:

source set_env.sh

then run:

sudo -E python ${target}

where -E attached to sudo retains the environment variable you sourced from the shell script.

TODO's

For RTLSDR: 0. Support multiple devices

  1. Support all rtlsdr.rtlsdr.BaseRtlSdr API options
  2. Support asyncio streaming
  3. Support/ expand TCP server client functions -> rtlsdr.rtlsdrtcp
  4. Add compliant encryption for data at rest, data in air
  5. Add on more advanced data transformation, interpolation, sniffing and analysis features

In general: 0. Solid support for receive only functionality cross SDR's

  1. GNU Radio integration/ experimentation
  2. GUI client app?

SDR devices to add (not in order): 0.

  1. USRP B200mini: https://www.ettus.com/all-products/usrp-b200mini/
  2. USRP B205mini-i:
  3. hackRF One: https://www.amazon.com/dp/B0BKH7Z2NJ/
  4. ADALM Pluto

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

sdrcap-0.0.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

sdrcap-0.0.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file sdrcap-0.0.1.tar.gz.

File metadata

  • Download URL: sdrcap-0.0.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5+ Linux/6.9.3-76060903-generic

File hashes

Hashes for sdrcap-0.0.1.tar.gz
Algorithm Hash digest
SHA256 408e8074003b7fc7b249d30d76b39dfb0643da11c11058489dd6d066f4f87e44
MD5 7d01888a71cb2950b850e54ffd13e637
BLAKE2b-256 8865d4dde6b7f28f35f396d485eaa71074ff17ce94fafb13877ba0f6ff646680

See more details on using hashes here.

File details

Details for the file sdrcap-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: sdrcap-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5+ Linux/6.9.3-76060903-generic

File hashes

Hashes for sdrcap-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 795a74f2a8fb5d44010506f2f99628567d34f0613b2f3bb37797bd8d20c51c67
MD5 afff1d243592ed7ffd61d7ffda7b8652
BLAKE2b-256 692456211f98027aab163ceec5a18284ef3ab72a167d7e13e5efb9b122e31f26

See more details on using hashes here.

Supported by

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