3 个版本

0.0.3 2023年5月22日
0.0.2 2023年5月16日
0.0.1 2023年1月30日

#1301硬件支持

34 每月下载量
2 个crates中使用(通过 seify

GPL-3.0 许可证

85KB
2K SLoC

RTL-SDR

用 Rust 编写的 RTL-SDR 库!

什么是 RTL-SDR?

RTL-SDR 是一种低成本的 (~$30) USB 软件定义无线电 (SDR) 接收器系列,它可以调整广泛频率,然后通过软件进行处理(因此 SDR 中的“软件”)。

它们可以接收各种信号,如 FM 广播(参见此项目中 simple_fm 示例),飞机无线电和位置数据(如你在 adsb-exchange 上看到的),气象卫星图像等等!

rtl-sdr.com 有一个很好的页面,包含更多解释。

入门

你可以在 Mac 上使用以下命令运行示例 FM 收音机接收器

cargo run --example simple_fm | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

在 Linux 上类似地

cargo run --example simple_fm | aplay -r 32k -f S16_LE

卸载内核模块

如果已安装 RTL 内核模块,则在使用此库之前需要暂时卸载它们,如下所示

sudo rmmod rtl2832_sdr
sudo rmmod dvb_usb_rtl28xxu
sudo rmmod rtl2832
sudo rmmod rtl8xxxu

未执行此操作将导致以下 USB 错误

thread 'main' panicked at 'Unable to open SDR device!: Usb(Busy)'

该示例经过详细文档说明,以清楚地展示如何使用此库,并希望使 FM 解调过程易于理解!

构建选项

此库包括对原始 Osmocom 库的 RTL-SDR Blog 修改 作为功能。在 cargo 中使用 --features rtl_sdr_blog 标志启用它。

贡献

欢迎对此项目做出贡献!查看 问题页面 了解你可以帮助的路线图,或创建一个新的 Issue。

致谢

此库最初是从 Osmocom rtl-sdr 库 转移过来的,并对 RTL-SDR Blog 分支 进行了修改。

依赖关系

~5–12MB
~129K SLoC