<!-- title: 自建空中雷达：8个看飞机开源宝 -->

# 自建空中雷达：8 个让你“看见天上每一架飞机”的开源宝

用一根 30 美元的电视棒接收器，就能把你家屋顶变成一座空中交通管制雷达——附近每一架客机的航班号、高度、航速、爬升率，全部实时显示在你自己的地图上。这期我们把整个「个人航空观测站」技术栈从底到顶拆开：信号解码、网页雷达、开箱即用镜像、Docker 全家桶、性能监控，再到两个学术界出品的航迹分析库和模拟飞行玩家的桌面航图。它们几乎都不上 Trending，却是一个运行了十余年、纯靠爱好者社区驱动的成熟生态——而且这个生态的“货币”很特别：你贡献数据，聚合站回馈你免费的专业账号。

---

## 1. wiedehopf/readsb —— 空中雷达的“发动机”

**仓库**：[github.com/wiedehopf/readsb](https://github.com/wiedehopf/readsb) | 热度：数千星级 | 维护：持续活跃

一切的起点是信号。民航客机每秒都在 1090MHz 频段广播自己的位置、呼号、高度（这就是 ADS-B 协议），早年本没有民用解码器，直到 Redis 作者 antirez 写了一个百来行的实验性程序 dump1090——顺手证明了“一根电视棒能收到飞机”。此后项目几经分叉：mutability 分支精修信号处理，FlightAware 分支加入企业级功能，而 **readsb** 是目前社区公认的集大成活跃分支。它用 C 语言实现了高度优化的 Mode-S 报文解码：多接收源汇聚（USB 电视棒、网络 Beast 协议流）、自适应增益、高密度环境下的报文去重与时间戳对齐，普通树莓派能同时跟踪数百个目标毫无压力。装完它，你的 SDR 电视棒就成了雷达头。

- **上手难度**：⭐⭐（wiedehopf 提供了一键安装脚本，但要理解 SDR 参数需读文档）
- **适用人群**：软件无线电玩家、想理解 ADS-B 协议底层的工程师
- **二次开发方向**：解码输出是标准 JSON/Beast 流，可以做异常航班检测、空中交通密度热力图等上层应用

## 2. wiedehopf/tar1090 —— 每个人都能看懂的那张雷达图

**仓库**：[github.com/wiedehopf/tar1090](https://github.com/wiedehopf/tar1090) | 热度：数千星级 | 维护：持续活跃

readsb 解出来的数据是死板的表格，tar1090 负责让它变成让朋友圈惊叹的那张图。它是事实标准的 ADS-B 网页雷达界面：基于 Leaflet + 开放地图瓦片，实时渲染所有目标——飞机按高度着色、显示航迹线与速度矢量、带真实机型剪影，点击任意目标展开呼号、注册号、爬升率、应答机代码的完整档案。它还内置数据统计页面，你的接收站今天收到多少条报文、最远收到过 400 公里外哪架飞机，一目了然。安装依旧是一条命令挂到 readsb 后面，浏览器打开即用。多数人第一次跑通 tar1090 的反应是：原来天上这么“挤”。

- **上手难度**：⭐（前端直接跑在本地，零配置可视化）
- **适用人群**：所有建站的飞友；亲子科普神器
- **变现思路**：为本地航展、飞行俱乐部部署定制观测大屏，属于典型的“即装即用”小型交付项目

## 3. dirkhh/adsb-feeder-image（ADSB.im）—— 把整座雷达装进一张 SD 卡

**仓库**：[github.com/dirkhh/adsb-feeder-image](https://github.com/dirkhh/adsb-feeder-image) | 官网：[adsb.im](https://adsb.im) | 热度：近年快速增长 | 维护：非常活跃

这个项目的作者 Dirk Hohndel 是开源界老兵（Linux 内核圈出身，也是知名潜水日志软件 Subsurface 的维护者），他做的事一句话能讲清：**把上面所有软件打包成一张烧录即用的系统镜像**。你把 ADSB.im 镜像写进树莓派或迷你主机的 SD 卡，开机后浏览器访问设备 IP，一个 Web 向导带你完成全部流程——检测 SDR 硬件、定位天线经纬度、选择把数据“喂”给哪些社区聚合站（ADSB Exchange、adsb.fi、FlightAware、Flightradar24 等），几十分钟后你的观测站就上线了。它同时是个状态总控台：各 feeder 的报文速率、喂站健康度集中展示。整个项目的工程质量（自动构建、多硬件镜像、活跃的 issue 响应）在爱好者项目里属于第一梯队。

- **上手难度**：⭐（本生态里的“小白救星”）
- **适用人群**：想入坑但被命令行劝退的普通玩家；给朋友代装机的人
- **变现思路**：**喂站换权益**是本生态最有趣的模式——聚合站用你的数据换取给你免费高级账号，而“预装好的树莓派雷达套件”在电商上有成熟市场，ADSB.im 是这类硬件产品的天然底座

## 4. sdr-enthusiasts/docker-adsb-ultrafeeder —— 玩家社区的 Docker 全家桶

**仓库**：[github.com/sdr-enthusiasts/docker-adsb-ultrafeeder](https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder) | 热度：小众精品（数百星级） | 维护：活跃

ADSB.im 面向新手，ultrafeeder 则面向愿意用 Docker 管理一切的进阶玩家。它是 sdr-enthusiasts 社区多年经验的结晶：把 readsb 解码、tar1090 界面、MLAT 多点定位客户端、以及 dozens 个聚合站 feeder 的配置，全部收敛进**一个容器 + 一组环境变量**。你用一份 docker-compose 文件就能声明“从哪读数据、喂给谁、开不开 MLAT”，升级回滚不动配置。仓库 README 本身就是一份 ADS-B 建站百科，从天线选型到增益调优全覆盖。对想把自己的 NAS、软路由“顺便”变成雷达站的 homelab 玩家来说，这是最优雅的形态。

- **上手难度**：⭐⭐（需要 Docker 基础）
- **适用人群**：homelab 玩家、运维工程师
- **二次开发方向**：容器化的配置即代码形态，非常适合改造成企业内私有航班监控节点（如园区、机场周边运营方）

## 5. wiedehopf/graphs1090 —— 给雷达站装一块“仪表盘”

**仓库**：[github.com/wiedehopf/graphs1090](https://github.com/wiedehopf/graphs1090) | 热度：小众精品（数百至千星级） | 维护：长期稳定

建站一周后你一定会问：我的接收率怎么比昨天低了？是天线问题、增益问题，还是邻居装了干扰源？graphs1090 用 rrdtool 给你的站画出全套历史曲线：每日报文量、位置报文占比、信号强度分布、CPU 温度、MLAT 覆盖率，一眼定位退化原因。它没有什么炫技架构，价值全在“把社区十几年调参经验浓缩成几条默认阈值”上——装上后你立刻知道自己的站处于什么水平。这也是这个生态的典型气质：每个小工具都解决一个真实存在的运维痛点，组合起来就是完整产品。

- **上手难度**：⭐（脚本安装，自动采集）
- **适用人群**：所有已建站的玩家
- **变现思路**：单独变现价值有限，但它是“付费装机 + 远程运维服务”里交付专业感的关键一环

## 6. xoolive/traffic —— 把航迹数据变成 pandas DataFrame 的研究利器

**仓库**：[github.com/xoolive/traffic](https://github.com/xoolive/traffic) | 官网：[traffic-viz.github.io](https://traffic-viz.github.io) | 热度：小众精品（千星级） | 维护：活跃

视角从硬件切换到数据科学。**traffic** 是欧洲航空航天研究者维护的 Python 库，把“一段航班航迹”建模成 pandas 生态里的一等公民：从 OpenSky Network 等开放数据源拉取实时或历史数据，一行代码完成航迹去噪、聚类分簇、与机场航线库对齐，再无缝接上 matplotlib 可视化。它有正式学术论文发表，被用于机场周边噪声研究、航路优化分析等真实课题。如果你拿到一个 ADS-B 观测站攒下的海量数据却只会看地图，traffic 就是把它们变成论文、报告、商业分析的那座桥。

- **上手难度**：⭐⭐⭐（需要 Python 与 pandas 基础）
- **适用人群**：数据分析者、交通运输方向学生、航空咨询从业者
- **变现思路**：航线数据分析服务、机场环境评估报告、给物流/包机公司做航迹审计

## 7. junzis/pyModeS —— 直接用代码逐字节读懂飞机的“心跳”

**仓库**：[github.com/junzis/pyModeS](https://github.com/junzis/pyModeS) | 热度：小众精品（千星级） | 维护：低频、功能稳定

这是本期最“硬核也最安静”的项目。pyModeS 由代尔夫特理工的研究者开发，是一个纯 Python 的 Mode-S/ADS-B 报文解码库——不碰硬件、不画地图，只做一件事：把一段 112 位的原始报文逐字段拆解成呼号、经纬度（包括经典的 CPR 位置编码还原）、空速、滚转角。它甚至能处理 BDS 寄存器这类连多数建站软件都跳过的深水区报文。因为足够底层，它成了这个领域的教学标准：配套的公开课教程让“用 SDR 录一段 IQ 数据、再离线解码出完整航班故事”成为一门完整实验。想真正理解你在 tar1090 上看到的每个数字从哪来，读它比读协议文档快得多。

- **上手难度**：⭐⭐⭐⭐（需理解报文格式与 SDR 原始数据）
- **适用人群**：通信/电子专业学生、安全研究者、教学者
- **二次开发方向**：ADS-B 报文本无加密，基于它做异常报文检测或认证协议研究，是学术界活跃方向

## 8. albar965/littlenavmap —— 模拟飞行玩家的免费专业航图台

**仓库**：[github.com/albar965/littlenavmap](https://github.com/albar965/littlenavmap) | 官网：[albar965.github.io/littlenavmap](https://albar965.github.io/littlenavmap) | 热度：万星级级别的模拟飞行圈标杆 | 维护：持续活跃

收完真飞机，再看虚拟飞行。Little Navmap 是个人开发者维护多年的开源飞行计划与移动地图软件，长期是 X-Plane / MSFS / Prepar3D 玩家社区的标配。它能加载真实世界导航数据库，规划带进离场程序的完整航路，显示地形剖面与最低安全高度，油耗、备降场、风修正一并算清；飞行中作为第二屏幕实时显示你在虚拟天区的位置与航迹。C++/Qt 打造的桌面体验相当扎实，文档多语言齐全。它与本文其他项目的连接点在于同一份 ADS-B 数据源体系——真实航路与虚拟航图在这里共享同一个生态。

- **上手难度**：⭐⭐（图形界面，功能多但向导完善）
- **适用人群**：模拟飞行玩家、真飞前的地面准备、航空地理爱好者
- **变现思路**：本体免费，但其插件与数据格式生态适合开发者做付费航图包、定制化工具

---

## 本期横向对比

| 仓库 | 类型 | 技术栈 | 热度 | 上手难度 | 适用场景 |
|---|---|---|---|---|---|
| readsb | 信号解码核心 | C | 数千星 | ⭐⭐ | 雷达站引擎 |
| tar1090 | Web 可视化 | JS | 数千星 | ⭐ | 实时雷达图 |
| ADSB.im | 开箱镜像 | Shell/容器 | 快速增长 | ⭐ | 零基础建站 |
| ultrafeeder | Docker 全家桶 | Shell/Docker | 数百星 | ⭐⭐ | homelab 集成 |
| graphs1090 | 监控图表 | rrdtool | 数百星 | ⭐ | 站点运维 |
| traffic | 数据分析库 | Python | 千星级 | ⭐⭐⭐ | 航迹研究 |
| pyModeS | 协议解码库 | Python | 千星级 | ⭐⭐⭐⭐ | 教学/研究 |
| Little Navmap | 桌面航图 | C++/Qt | 圈内标杆 | ⭐⭐ | 模拟飞行 |

> 注：Star 数为撰写时的量级估计，请以仓库页面实时数据为准。

```mermaid
quadrantChart
    title 本期仓库定位图（x=上手门槛，y=热度/影响力）
    x-axis "低门槛" --> "高门槛"
    y-axis "小众" --> "热门"
    quadrant-1 "热门且专业"
    quadrant-2 "流量明星"
    quadrant-3 "低调工具"
    quadrant-4 "深度硬核"
    "ADSB.im": [0.1, 0.72]
    "tar1090": [0.15, 0.65]
    "readsb": [0.3, 0.6]
    "ultrafeeder": [0.4, 0.35]
    "graphs1090": [0.2, 0.3]
    "Little Navmap": [0.35, 0.8]
    "traffic": [0.65, 0.4]
    "pyModeS": [0.85, 0.45]
```

## 本期之最

- **最值得立即尝试：ADSB.im** —— 一张 SD 卡 + 一根天线，今晚就能看到头顶的飞机，是这个生态给新人的最大诚意。
- **最有商业潜力：docker-adsb-ultrafeeder** —— “预装雷达套件 + 喂站换会员权益”已经有成熟市场，容器化底座让小型装机服务几乎零边际成本。
- **最被低估：pyModeS** —— 所有人都在看地图，它让你读懂 1090MHz 上每一个字节的来龙去脉；把玩它一周，你对这个协议的理解会超过绝大多数建站老玩家。

## 参考来源

1. [wiedehopf/readsb](https://github.com/wiedehopf/readsb) — 高性能 ADS-B 解码器仓库及 README
2. [dirkhh/adsb-feeder-image / ADSB.im](https://adsb.im) — 开箱即用 feeder 镜像官网
3. [sdr-enthusiasts/docker-adsb-ultrafeeder](https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder) — Docker 全家桶与建站文档
4. [xoolive/traffic](https://traffic-viz.github.io) — Python 航迹分析库官方文档
5. [junzis/pyModeS](https://github.com/junzis/pyModeS) — Mode-S/ADS-B 报文解码库
6. [albar965/littlenavmap](https://albar965.github.io/littlenavmap) — Little Navmap 官方主页

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
