
在2026年6月初的GitHub Trending上,一个名为Skylight的TypeScript项目以惊人的速度蹿红,短时间内获得超过2000颗星标。这个由cpaczek开发的开源项目,能够将你头顶实时飞过的飞机投射到天花板上,打造一个沉浸式的"天窗"体验。想象一下,躺在床上仰望天花板,看到一架架飞机拖着尾迹缓缓划过星空——这不是科幻电影,而是Skylight带给你的现实。
什么是Skylight?
Skylight是一个革命性的实时航空可视化系统。它通过廉价的RTL-SDR无线电设备解码ADS-B信号,获取你头顶上方飞机的实时位置数据,然后通过投影仪将这些飞机渲染到你的天花板上。纯黑色背景让投影区域隐形,只有飞机和星空在发光——仿佛你的天花板变成了一扇真正的天窗。
与传统的航班追踪应用不同,Skylight不是在手机屏幕或电脑显示器上显示飞机,而是将整个天花板变成一块巨大的"天空画布"。飞机从天花板的一端飞到另一端,高度变化通过亮度和大小来表现,航线尾迹在暗色天花板上留下淡淡的光芒。这种沉浸式体验是任何屏幕应用都无法比拟的。
ADS-B技术原理详解
要理解Skylight的工作原理,首先需要了解ADS-B技术。ADS-B全称为Automatic Dependent Surveillance-Broadcast(广播式自动相关监视),是现代民航飞机的标准广播协议。

ADS-B系统的工作机制如下:
信号发射:每架配备ADS-B设备的飞机会自动广播自身信息,包括精确的GPS位置、飞行高度、地速、航向、航班号和飞机型号。广播频率约为每秒一次,使用1090MHz频段。
信号接收:地面接收站通过1090MHz天线接收这些广播信号。传统的ADS-B接收站造价不菲,但RTL-SDR的出现彻底改变了这一局面。一块RTL-SDR USB电视棒售价仅约20美元,配合一根1090MHz专用天线,就能覆盖方圆200-400公里范围内的所有ADS-B信号。
数据解码:接收到的原始射频信号需要经过解码才能提取出有用的航班数据。这个过程包括信号滤波、帧同步、CRC校验和数据解析等多个步骤。Skylight内置了完整的解码管线,无需依赖外部解码软件,开箱即用。
Skylight的技术架构

Skylight的技术栈精心设计,分为三个核心模块:
ADS-B信号接收与解码层
这一层负责从RTL-SDR硬件读取原始I/Q数据流,进行1090MHz信号的解调和解码。Skylight采用了高效的C语言解码器,能够实时处理每秒数千条ADS-B消息,包括位置消息(DF17 Extended Squitter)、速度消息、识别消息等多种消息类型。解码后的结构化数据包含飞机的ICAO地址、经纬度坐标、飞行高度(气压高度和GPS高度)、地速、航向角、垂直速率等关键参数。
实时位置计算与插值引擎
ADS-B数据大约每秒更新一次,但要实现流畅的60fps动画渲染,直接使用原始数据会导致飞机出现明显的"瞬移"现象。Skylight采用了一套智能插值算法来解决这个问题:
首先,系统维护一个飞机位置缓冲区,存储每架飞机最近几个采样点的位置数据。然后,渲染引擎引入约1秒的延迟——这个延迟使得系统总是在两个已知位置之间进行平滑过渡(tweening),而不是在最后一个已知位置和一个尚未到达的位置之间猜测。插值算法根据飞机的航向和速度自动选择最优的过渡曲线,确保运动轨迹自然流畅。
投影渲染引擎

渲染引擎使用React和TypeScript构建的Web应用,运行在Chromium浏览器的全屏模式下,输出到连接投影仪的显示器。这个引擎包含丰富的视觉细节:
类型感知飞机图标:不同的飞机类型有不同的外观表现。宽体客机(如波音777、空客A350)的图标比支线客机(如ATR-72)大得多,直升机的旋翼会持续旋转,螺旋桨飞机的螺旋桨也有动态效果。这些细节让天花板上的飞机世界更加生动真实。
彗星尾迹系统:每架飞机都会留下一条渐隐的尾迹,模拟真实飞机在天空中留下的凝结尾迹。尾迹的颜色和长度会根据飞机高度动态变化——高空飞行的飞机尾迹更亮更长,低空飞机的尾迹则短而暗淡。
真实天空背景:引擎渲染了一个完整的夜空环境,包括太阳位置、月亮相位、明亮的恒星和星座标注。更令人惊叹的是,系统还整合了实时卫星轨道数据,国际空间站(ISS)和其他明亮卫星也会出现在天花板上,与飞机共同演绎一场天空盛宴。

硬件需求与成本分析
搭建一套Skylight系统所需的硬件出乎意料地简单且经济:
RTL-SDR接收器:推荐RTL-SDR Blog V4,售价约25美元(约合人民币180元)。这是目前性价比最高的ADS-B接收方案,支持1090MHz频段,灵敏度足以覆盖200公里以上的航空信号。其他品牌的RTL-SDR设备也可以使用,但V4在ADS-B接收方面表现最为出色。
1090MHz天线:可以购买专用的1090MHz天线(约15美元),也可以DIY一根简易天线。一根1090MHz的偶极子天线成本不到5美元,性能已经足够日常使用。天线应放置在靠近窗户或户外的位置以获得最佳接收效果。
投影仪:任意支持HDMI输入的投影仪即可。入门级家用投影仪价格在200-500美元之间。亮度方面,由于Skylight使用纯黑背景,对投影仪亮度要求不高,即使是1000流明的入门型号也能获得不错的效果。分辨率建议至少720p,1080p更佳。
运行设备:任何能够运行Node.js的设备都可以,包括树莓派4/5、旧笔记本电脑或迷你PC。推荐使用至少4GB内存的设备以确保渲染流畅。

总计硬件成本:约50-100美元(不含投影仪),含投影仪约250-600美元。相比FlightRadar24等商业服务每年数百美元的订阅费,Skylight的一次性投入更加经济。
安装与配置指南
安装Skylight的过程相当直观:
第一步:硬件连接。将RTL-SDR USB接收器插入运行设备的USB端口,连接1090MHz天线,将HDMI投影仪连接到设备的显示输出端口。
第二步:软件安装。克隆Skylight的GitHub仓库,运行npm install安装依赖,然后运行npm start启动服务。系统会自动检测RTL-SDR设备并开始接收ADS-B信号。
第三步:坐标配置。在配置文件中精确设置你的经纬度坐标。这个坐标至关重要——它决定了Skylight如何将3D空间中的飞机位置映射到你的天花板平面上。你还需要配置当地机场的跑道方向数据,以便系统正确渲染进近和起飞的飞机。
第四步:投影校准。将投影仪对准天花板,调整画面大小和位置,确保覆盖你想要的区域。Skylight提供了校准工具来帮助你精确调整投影范围。
无硬件模式:没有RTL-SDR硬件?Skylight支持免费的Web API模式,通过连接在线的ADS-B数据源(如ADS-B Exchange的公共API)来获取航班数据,零硬件也能体验完整功能。这非常适合初次体验或在无法安装天线的公寓中使用。
与主流航班追踪服务的对比

在航班追踪领域,Skylight与FlightRadar24、ADS-B Exchange等服务有着本质的不同:
| 特性 | Skylight | FlightRadar24 | ADS-B Exchange | dump1090 |
|---|---|---|---|---|
| 交互方式 | 天花板投影 | Web/App | Web数据 | 命令行 |
| 沉浸感 | 极强 | 一般 | 无 | 无 |
| 数据来源 | 本地接收 | 全球网络 | 社区共享 | 本地接收 |
| 成本 | 硬件+免费软件 | 免费/订阅制 | 免费 | 免费 |
| 可定制性 | 完全开源 | 闭源 | 部分开源 | 开源 |
| 隐私性 | 完全本地 | 数据上传 | 数据共享 | 完全本地 |
Skylight的独特价值在于它创造了全新的体验维度。FlightRadar24虽然数据最全面、覆盖全球,但它本质上是一个平面化的信息展示工具。Skylight则是将你的物理空间变成了一个互动装置——飞机在你头顶的真实空间中飞过,这种体验是任何屏幕应用都无法复制的。
应用场景与创意玩法
Skylight的应用远不止于个人娱乐:
航空爱好者的终极装备:实时追踪头顶航班,了解航班号、机型和目的地。配合ADS-B数据中的ICAO地址,你甚至可以追踪特定飞机的历史航线。
沉浸式艺术装置:Skylight本身就是一件交互式艺术作品。咖啡馆、展览空间、候机楼都可以用它来创造独特的空间氛围。天花板上流动的飞机会让每个走进空间的人都忍不住抬头仰望。
儿童航空教育:让孩子直观理解航空知识。当一架飞机飞过天花板时,家长可以解释飞行原理、航班调度、空域管理等概念。这种寓教于乐的方式比课堂讲解生动百倍。
助眠与氛围营造:纯黑背景搭配缓慢移动的飞机灯光和星空,创造了一种独特的助眠环境。许多人反馈,看着天花板上安静飞行的飞机,比任何白噪音都更容易入睡。
创客教育平台:Skylight涵盖了软件定义无线电、射频信号处理、实时渲染、Web技术等多个技术领域,是学习现代技术栈的绝佳实践项目。
社区与商业前景
Skylight的开源生态正在快速成长。作者本人已在筹备官方众筹套件(skylightceiling.com),预计定价在99-199美元之间。对于动手能力强的创客来说,自建一套类似系统的成本仅约50美元,还有很大的利润空间。
围绕Skylight已经涌现出多种商业模式:为商业空间提供定制安装服务(每单200-500美元)、举办DIY天窗工作坊(每人收费50-100美元)、拍摄投影效果视频进行内容创作等。随着项目知名度的提升,更多创意玩法和商业机会将不断涌现。
学习路径建议
入门级:先不买硬件,使用Web API模式体验Skylight,理解ADS-B数据格式和渲染效果。这个阶段零成本,适合所有对航空感兴趣的人。
进阶级:购买RTL-SDR接收器,学习SDR基础知识,理解1090MHz信号解码原理。这个阶段投入约200元人民币,可以深入理解无线电信号处理的核心概念。
高级:阅读Skylight源码,学习React渲染引擎和插值算法,尝试添加新功能如AR叠加、语音播报、航班信息弹窗等。这个阶段适合有编程基础的开发者,是提升TypeScript和WebGL技能的绝佳机会。
推荐学习资源:RTL-SDR官方教程、ADS-B技术规范文档(ICAO Annex 10)、Skylight GitHub仓库的docs目录,以及相关的航空电子学入门资料。
总结
Skylight是一个将无线电技术、实时渲染和创意硬件完美结合的开源杰作。它不仅仅是一个航班追踪工具,更是一种全新的空间体验方式。2000多颗星标和GitHub Trending的爆发式增长,证明了这个项目背后的巨大吸引力。无论你是航空爱好者、创客、设计师,还是仅仅想要一个独特卧室氛围的人,Skylight都值得你动手尝试。打开你的天花板,让飞机飞进来吧。
项目信息
- GitHub仓库:github.com/cpaczek/skylight
- 项目语言:TypeScript
- 授权协议:开源
- 官方套件:skylightceiling.com
评论