3 个版本
0.0.3 | 2023年5月22日 |
---|---|
0.0.2 | 2023年5月16日 |
0.0.1 | 2023年1月30日 |
#1301 在 硬件支持
34 每月下载量
在 2 个crates中使用(通过 seify)
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