Skip to content

muzihuaner/dump1090

 
 

Repository files navigation

Dump1090 项目

Dump1090 是一款专为 RTLSDR 接收机设计的 Mode S 解码器。

注意事项

本项目仅用于学习和研究目的,请遵守所在地无线电管理条例和相关法律法规,切勿用于非法目的。
如果您的所在地为中华人民共和国,请勿将相关数据传输至FR24、RadarBox、FA等境外平台,这将严重违反无线电管理条例和国家安全法。
中华人民共和国无线电管理条例

主要特性:

  • 强力解码: 能够解码微弱信号,相比其他解码器具有更好的接收范围。
  • 网络支持: 支持 TCP30003 流(MSG5...)、原始数据包(Raw)以及 HTTP。
  • 内置 Web 服务: 可直接在谷歌地图(Google Maps)上显示检测到的飞机。
  • 单比特纠错: 使用 24 位 CRC 进行错误修复。
  • 支持多种协议: 可解码 DF11、DF17 消息,并能通过暴力破解校验场来解码 DF0、DF4 等格式。
  • 交互模式: 实时刷新的命令行列表界面。
  • 坐标计算: 支持 CPR 坐标解码和基于速度的轨迹计算。
  • 地面位置解码: 支持对跑道滑行或停靠飞机的定位。

ADSB.png


编译与安装指南

Dump1090 是一个轻量级的 C 语言程序,安装过程非常简单,但首先需要确保你的 Linux 系统安装了必要的依赖库。

1. 安装依赖

在编译之前,你需要安装 librtlsdr 库(用于驱动接收棒)和 pkg-config

在 Ubuntu / Debian / Raspberry Pi OS 上:

sudo apt update
sudo apt install git build-essential librtlsdr-dev pkg-config

2. 获取源码与编译

# 克隆仓库(或者进入你已下载的目录)
git clone https://github.com/muzihuaner/dump1090.git
cd dump1090

# 执行编译
make

编译完成后,你会在当前目录下看到一个名为 dump1090 的可执行文件。

3. 如何在 Linux 上“安装”

Dump1090 默认没有提供 make install 命令将文件拷贝到系统目录。你可以通过以下步骤手动完成安装,以便在任何地方通过命令行调用它。

方案 A:手动安装到系统路径(推荐)

# 将二进制文件移动到 /usr/local/bin
sudo cp dump1090 /usr/local/bin/

# (可选) 如果你想运行 Web 服务,需要保留网页文件
sudo mkdir -p /usr/share/dump1090
sudo cp gmap.html /usr/share/dump1090/

方案 B:直接运行

如果你不想移动文件,可以直接在源码目录下执行:

./dump1090 --interactive --net

Docker 部署

解决内核驱动冲突

Linux 内核通常会默认将 RTL2832U 识别为电视调谐卡(dvb_usb_rtl2832u),这会占用设备导致 SDR 软件无法访问。

我们需要将这些模块加入黑名单:

创建黑名单文件:

sudo nano /etc/modprobe.d/blacklist-rtlsdr.conf

在文件中粘贴以下内容:

blacklist dvb_usb_rtl2832u
blacklist dvb_usb_v2
blacklist rtl2832

保存退出,然后拔掉并重新插上你的 RTL-SDR 硬件。

1. 构建 Docker 镜像

docker build -t dump1090 .

2. 启动 Docker 容器

docker run -d \
  --name dump1090 \
  --restart unless-stopped \
  --device /dev/bus/usb \
  --privileged \
  -p 8080:8080 \
  -p 30003:30003 \
  dump1090:latest

访问服务 Web 地图界面: http://ip:8080 原始数据流: tcp://ip:30003

常用运行命令汇总

场景 命令
标准模式 ./dump1090
交互式列表(推荐) ./dump1090 --interactive
开启 Web 地图服务 ./dump1090 --interactive --net
开启网络并启用“激进模式” ./dump1090 --interactive --net --aggressive

注意: 开启 --net 后,你可以打开浏览器访问 http://localhost:8080 查看到动态地图。


关于天线的小提示

Mode S 信号运行在 1090 MHz

  • 如果你使用自带的小天线,建议将其拉伸至约 6.9 厘米(1/4 波长)以获得最佳共振。
  • 尽量将天线放置在窗边或户外开阔地带,以获得超过 200 公里的接收距离。

希望这个指南能帮你顺利开启“上帝视角”观察空中交通!如果编译报错,请检查是否正确安装了 librtlsdr-dev

改动

  • 更新了 README.md 文件,添加了更详细的安装和使用指南。
  • 优化了UI界面,主体使用Tailwind CSS,添加了航班查询功能。
  • 添加了定位,夜间模式切换。
  • 支持Docker部署
  • 地图修改为高德地图

About

Dump1090 是一款适用于 RTLSDR 设备的简单 Mode S 解码器

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages