ITADN
rsadsb/dump1090_rs
rsadsb/dump1090_rs · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

dump1090_rs

github build status

从调谐至 1090mhz 的软件定义无线电设备解调 ADS-B 信号, 并将字节转发到诸如 adsb_deku/radar 等应用程序。

已测试支持

通过使用 rust-soapysdr 项目, 我们支持 许多不同的 软件定义无线电设备。 如果您已在以下未列出的设备上测试过本项目,请告知我! (您需要向 config.toml 添加增益设置或使用 --custom-config

DeviceSupported/TestedRecommendargument
rtlsdrxx--driver rtlsdr
HackRFx--driver hackrf
uhd(USRP)x--driver uhd
bladeRF 2.0 micro xA4x--driver bladerf

用法

最低支持 Rust 版本:1.74.0

构建

安装 soapysdr 驱动程序和库以及 libclang-dev

注意

使用 debug 构建会导致 SDR 溢出,生产环境请始终使用 --release

Ubuntu

> apt install libsoapysdr-dev libclang-dev

交叉编译

使用 hub.docker.com/r/rsadsb 进行以下架构的交叉编译。 这些镜像已安装 soapysdr 并配置了正确的交叉编译器。 这使用了 cross-rs

> cargo install cross
> cross build --workspace --target x86_64-unknown-linux-gnu --relese

# Used for example in Raspberry Pi (raspios) 32 bit
> cross build --workspace --target armv7-unknown-linux-gnueabihf --release

# Used for example in Raspberry Pi (raspios) 64 bit
> cross build --workspace --target aarm64-unknown-linux-gnu --release

来自 CI 的发布构建

查看 最新 release 以获取从 CI 构建的二进制文件。

运行

使用默认的 rtlsdr 运行该软件。

> cargo r --release

help

有关详细信息,请参阅 --help

ADS-B Demodulator and Server

Usage: dump1090_rs [OPTIONS]

Options:
      --host <HOST>                    ip address to bind with for client connections [default: 127.0.0.1]
      --port <PORT>                    port to bind with for client connections [default: 30002]
      --driver <DRIVER>                soapysdr driver name (sdr device) from default `config.toml` or `--custom-config` [default: rtlsdr]
      --driver-extra <DRIVER_EXTRA>    specify extra values for soapysdr driver specification
      --custom-config <CUSTOM_CONFIG>  Filepath for config.toml file overriding or adding sdr config values for soapysdr
  -h, --help                           Print help (see more with '--help')
  -V, --version                        Print version

性能技巧

要启用最大性能,请指示 rustc 使用特定于您 CPU 的特性。

> RUSTFLAGS="-C target-cpu=native" cargo r --release

始终使用最新的 rust 版本,包括 nightly,目前这大约能带来 5-10% 的性能 提升。

测试

> cargo t --workspace --release

基准测试

从 512KB iq 样本读取到 ADS-B 字节大约需要 3.0 毫秒,但您可以自由地在自己的计算机上运行基准测试。

> RUSTFLAGS="-C target-cpu=native" cargo bench --workspace

Intel i7-7700K CPU @ 4.20GHz

01                      time:   [3.6691 ms 3.6950 ms 3.7264 ms]
02                      time:   [3.5941 ms 3.5987 ms 3.6040 ms]
03                      time:   [3.4930 ms 3.4961 ms 3.4994 ms]

变更

参见 CHANGELOG.md