0.01
No commit activity in last 3 years
No release in over 3 years
ruby bindings for librtlsdr -- realtek USB software defined radio devices
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.14

Runtime

~> 13.0
 Project Readme

Build Status turRTLshell

Overview

Turtleshell is a ruby wrapper around librtlsdr, a C library for interfacing with Realtek RTL2832 DVB USB devices. More information about librtlsdr can be found on their website.

Usage

Turtleshell is available on rubygems. You can install it with gem install turtleshell or by adding it to your Gemfile.

Most of the key functions in librtlsdr are available, more will be added as development continues.

Examples

Getting a reference to a device and reading from it could not be easier

require 'turtleshell'
sdr = TurtleShell::Device.new

# configure device properties
sdr.sample_rate = 2.4e6
sdr.center_frequency = 100e6
sdr.gain = 10

# read samples from the device
samples = sdr.read_samples
puts "signal mean:   #{samples.inject(:+)/samples.length}"

More examples are available in the examples directory.

Dependencies

  • ruby (version 1.9.2 or later)
  • librtlsdr

License

Turtleshell is released under the permissive MIT license.

Credit

The idea for this project came to me when I was watching @0xabad1dea's talk at Defcon 21. Without that initial idea and inspiration, this wouldn't exist!

Credit is due to @roger- for writing pyrtlsdr, which provided a great reference when working on Turtleshell.