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
- Obtain pyproject.toml & poetry.lock
- 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
- Support all rtlsdr.rtlsdr.BaseRtlSdr API options
- Support asyncio streaming
- Support/ expand TCP server client functions -> rtlsdr.rtlsdrtcp
- Add compliant encryption for data at rest, data in air
- Add on more advanced data transformation, interpolation, sniffing and analysis features
In general: 0. Solid support for receive only functionality cross SDR's
- GNU Radio integration/ experimentation
- GUI client app?
SDR devices to add (not in order): 0.
- USRP B200mini: https://www.ettus.com/all-products/usrp-b200mini/
- USRP B205mini-i:
- hackRF One: https://www.amazon.com/dp/B0BKH7Z2NJ/
- ADALM Pluto
Metadata
Release files for sdrcap 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sdrcap-0.0.1.tar.gz | 18.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sdrcap-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.5 kB
Release files / sdrcap-0.0.1.tar.gz
| Download URL | sdrcap-0.0.1.tar.gz |
|---|---|
| Size | 18.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
408e8074003b7fc7b249d30d76b39dfb0643da11c11058489dd6d066f4f87e44
|
|
BLAKE2b-256 checksum How to use checksums |
8865d4dde6b7f28f35f396d485eaa71074ff17ce94fafb13877ba0f6ff646680
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5+ Linux/6.9.3-76060903-generic
|
Release files / sdrcap-0.0.1-py3-none-any.whl
| Download URL | sdrcap-0.0.1-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
795a74f2a8fb5d44010506f2f99628567d34f0613b2f3bb37797bd8d20c51c67
|
|
BLAKE2b-256 checksum How to use checksums |
692456211f98027aab163ceec5a18284ef3ab72a167d7e13e5efb9b122e31f26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5+ Linux/6.9.3-76060903-generic
|