Rust ADS-B解码器及TUI雷达应用教程
1. 目录结构及介绍
adsb_deku
是一个基于Rust编写的ADS-B(自动依赖监视广播)解码库,它集成了一个终端用户界面(TUI)雷达应用。以下是其基本的目录结构概述:
adsb_deku/
├── apps # 应用程序示例目录,包括雷达客户端(radar)和协议数据展示(1090)
│ ├──雷达相关的代码和配置
│ └──1090相关的脚本或工具
├── cargo.lock # 项目依赖锁定文件
├── Cargo.toml # Rust项目的构建配置文件
├── gitignore # Git忽略文件列表
├── LICENSE # 许可证文件,遵循MIT协议
├── README.md # 项目说明文档
├── rsadsb_common # 共享的Rust模块,用于处理一些通用逻辑
├── src # 源代码目录
│ ├── lib.rs # 主库入口点,包含解码逻辑
│ ├── adsb_deku # 解码逻辑的具体实现
│ ├── deku.rs # 使用deku进行协议解析的部分
│ └── ... # 其他相关源文件
├── tests # 测试代码存放目录
└── ...
2. 项目启动文件介绍
主库启动(对于开发者)
开发过程中,主要关注的是src/lib.rs
,这是库的核心部分,提供了解码服务。
客户端应用启动
- 雷达应用 (
radar
): 若要运行雷达应用程序,需在项目根目录下执行cargo run --bin radar --release
。可以通过添加命令行参数来指定特定的配置,如地理位置(--lat
,--long
)和已知位置(--locations
)。 - 协议数据展示 (
1090
): 启动此工具以查看解码后的协议数据和跟踪的飞机,命令为cargo run --bin 1090 --release -- --debug
。
3. 配置文件介绍
该项目不直接提供传统意义上的配置文件,而是通过命令行参数来调整行为。这意味着配置是动态的,依据运行时提供的命令行选项。例如,在运行雷达应用时,通过--lat
, --long
来设置地理坐标,以及通过--locations
指定额外地点信息。此外,虽然没有独立的配置文件,但可以在应用程序的源代码中找到默认配置或者环境变量的使用,这可以视为一种间接配置方式。
为了自定义功能或扩展,开发者可能需要修改源代码中的某些常量或配置项,尤其是那些标记为可配置的或有默认值的变量。然而,对于日常使用,用户更多地是通过上述提到的命令行参数来进行定制。
示例命令行配置使用:
# 运行雷达应用,设定当前位置并显示周围飞机
cargo run --bin radar --release -- --lat=50.0 --long=50.0 --locations="(机场名,经度,纬度)"
# 运行解码工具,直接在终端显示解码信息
cargo run --bin 1090 --release -- --debug
请注意,具体参数应根据实际需求和最新版本的文档调整,因为这些指令可能随项目更新而变化。