首页 › weekly › 一根电视棒,收到气象卫星原图

本期概述

第三轮挖掘,刻意反着来:全篇零 AI 项目。前两轮的 AI 编程工具、Agent 工作流已经卷成红海,这期换一条路——「信号与账本」:把天上的卫星、头顶的天气、脚下的地图、自己的邮箱和钱包,从黑盒云服务手里搬回本地。这七个仓库的共同气质是:不追风口、单人或小团队维护、解决一个具体到不能再具体的问题,而且大部分在一台旧笔记本加百元级硬件上就能跑起来。适合动手派、自托管玩家和想找垂直方向二次开发的独立开发者。


1. SatDump:百元电视棒,接住头顶飞过的气象卫星

仓库:SatDump/SatDump | Star 约 2k 量级 | 持续活跃维护

一句话定位:开源卫星数据接收与处理套件——气象卫星每天在你头顶广播免费信号,只是没人告诉你怎么接。

痛点:提到卫星云图,多数人以为需要大天线、大预算、专业地面站。实际上 NOAA 极轨卫星在 137MHz 附近用 APT 模式持续广播云图,一根 RTL2832U 电视棒(几十到一百多元)加一段 VHF 天线就能收到。缺的只是把射频信号变成图片的那套软件——SatDump 补上了全流程。

核心拆解:C++ 写的模块化管线:SDR 采样 → DSP 解调 → 解码 → 成图存档。支持 NOAA APT、Meteor-M2 LRPT、GOES HRIT、Metop、风云系列等一长串卫星协议;有 GUI 也有 CLI,既能连着电视棒实时解码出图,也能先录 IQ 原始数据、回头离线慢慢解——手边没有天线的日子,拿别人的录音文件照样能把整个处理管线练熟。

上手难度:⭐⭐⭐(软件装上即用,难点在天线架设和过窗口时间)

适用人群:无线电爱好者、地理气象老师、创客教室。变现思路:打包「地面站教具」卖给学校和博物馆展项;卫星接收科普课程;配合树莓派做全自动过境自动收录的一体机方案。


2. gpredict:先算好卫星几点过头顶,再谈接收

仓库:csete/gpredict | Star 千星量级(小而美①)| 更新缓慢但仍是事实标准

一句话定位:卫星过境预报与天线跟踪老将,SatDump 的最佳前菜。

痛点:卫星不会随叫随到——一次可用过境往往只有几分钟到十几分钟,不知道它几点过顶、最大仰角多少,接收就是盲狙。gpredict 用轨道力学把窗口算得明明白白。

核心拆解:C/GTK 程序,TLE 轨道根数自动更新,支持把卫星分组管理(气象一组、业余电台一组),对每颗星列出未来过境时刻、持续时间、最大仰角;更硬核的是通过 Hamlib 直接驱动旋转天线和电台,到点自动瞄准、自动切换频率——一套「预告 → 指向 → 接收」的半自动地面站就此成型。纯本地计算,断网也能算轨道。

上手难度:⭐⭐(软件本身极易,接旋转器才需要折腾)

适用人群:业余无线电玩家、卫星观测社群。变现思路:与 SatDump 捆绑成「软件 + 电视棒 + 天线」教学套件;给高校天文社做定制部署。它和 SatDump 是天然的组合技:gpredict 报窗口,SatDump 抓图,一篇教程能吃下两个项目。


3. weewx:把家用气象站的数据从云 App 手里抢回来

仓库:weewx/weewx | Star 千余星(小而美②)| 稳定维护中

一句话定位:气象站数据采集与发布的「水电煤」,十多年血统的 Python 老项目。

痛点:Davis、Ecowitt 这类家用气象站,官方 App 把你的观测数据攥在别人云里,导出受限、接口收紧、说停就停。想要自己的数据自己存、自己发布,weewx 是最成熟的答案。

核心拆解:架构是清晰的四层流水线:驱动层(几十种硬件驱动,主流站点几乎全覆盖)→ 数据库(SQLite 或 MySQL 长期存观测记录)→ 报告引擎(用「皮肤」模板生成网页和图表)→ 上传层(WeatherUnderground、CWOP、MQTT 等几十种出口)。全流程装进一台树莓派就是私人气象台;扩展机制就是标准 Python 插件,社区生态里连土壤湿度、空气质量都能接进来。

上手难度:⭐⭐(pip 安装、选驱动、选皮肤,三步出网页)

适用人群:气象爱好者、农场温室、光伏电站运维。变现思路:给农业和光伏客户做「硬件 + 部署 + 年费」的私有气象数据服务;把观测数据喂给下游做发电量预测,是现成的生意闭环。


4. Open-Meteo:把国家级天气模式搬进自家机房

仓库:open-meteo/open-meteo | Star 数千星 | 每日随模式更新滚动运行

一句话定位:开源的天气数据管线 + 免费非商用 API,天气界的「自来水厂」。

痛点:天气是很多产品的隐形依赖,商业天气 API 按次计费,独立开发者一个天气功能月底账单就能劝退。Open-Meteo 的思路是釜底抽薪:各国气象局本来就在公开发布数值预报模式(美国 GFS、德国 ICON、欧洲 ECMWF 等),它把这些原始模式数据自动抓下来、统一后处理,直接以免费 API 对外供数,不要密钥、注册都省了。

核心拆解:数据管线定时下载各国模式输出 → 插值对齐 → 入库 → 对外查询;整套可 Docker 自托管。商业模式也已经跑通:官方托管版对商用流量收费,开源管线 + 托管订阅,是「开源养服务」的经典范本。上层还能叠 SEAS5 季节预测和空气质量数据,一间小机房服务全球查询。

上手难度:⭐(调 API 一行请求)/ ⭐⭐⭐(自托管全管线)

适用人群:独立开发者、户外类 App、农林与新能源行业。变现思路:基于自托管管线做垂直行业天气服务——航海风浪、农业积温、光伏辐照预测,都是付费意愿明确的细分。


5. PMTiles:把整座星球的地图塞进一个文件

仓库:protomaps/PMTiles | Star 数千星 | 格式稳定、生态扩展中

一句话定位:单文件云优化瓦片归档格式,专治地图服务的存储账单。

痛点:传统地图瓦片服务 = 把全球切成几亿个 256px 小文件扔进对象存储,每次缩放拖动都是一串 GET 请求——对象存储按请求计费,一个全国级应用就能把 S3 账单刷出天际。PMTiles 把整个瓦片金字塔压进一个文件,前端靠 HTTP Range 请求按需读取其中字节,静态文件托管即可伺候全球底图,请求数变成一次。

核心拆解:v3 格式的精髓是目录内嵌 + 稀疏索引:文件头直接描述瓦片分布,浏览器两次 Range 请求就能定位任意瓦片,无需服务器端逻辑。配套生态齐全:前端 MapLibre 直接加载;用 planetiler 从 OpenStreetMap 数据自产全球底图,再输出成一个 PMTiles 文件——「整个星球的基础地图 = 一个静态文件」从口号变成了现实。

上手难度:⭐⭐

适用人群:地图应用开发者、GIS 工程师、政企离线地图项目。变现思路:自建瓦片托管服务(Protomaps 本尊就这么做生意);给需要内网部署的政企做离线地图交付,客单价可观。


6. mox:一个二进制,把珠峰级难度的邮件服务器爬完

仓库:mjl-/mox | Star 数千星 | 单人长期活跃维护

一句话定位:Go 写的全栈邮件服务器,SMTP/IMAP/JMAP、自动 TLS、反垃圾、Web 管理台一锅端。

痛点:自建邮件服务器是运维界的珠穆朗玛——SPF/DKIM/DMARC 三件套、证书轮换、IP 信誉、垃圾过滤,每一项都足以劝退。mox 把整套系统装进一个静态编译的 Go 二进制:quickstart 向导直接生成待配置的 DNS 记录清单,照抄即可收发。

核心拆解:单进程内实现完整协议栈:收发信的 SMTP、客户端收件的 IMAP,以及更现代的 JMAP;内嵌 ACME 客户端自动申请续期 TLS 证书(顺便把内部 TLS 也管了);贝叶斯垃圾过滤器与 Webmail 深度集成——在网页邮箱里点一下「这是垃圾/不是垃圾」,过滤器当场学习。管理员界面可视化到连每封信的认证结果都能查。由 Mechiel Lukkien 单人多年精心维护,代码质量在邮件服务器这个泥潭里是异类级的存在。

上手难度:⭐⭐⭐(难点在域名与 DNS,不在软件)

适用人群:想彻底自持邮箱的个人与小团队、隐私敏感行业。变现思路:邮件自建迁移与包年维护服务;给小型企业提供「域名邮箱归你」的一体机方案——付费意愿明确,因为商业邮箱席位费年年涨。


7. Healthchecks:给每个 cron 装一个「死人开关」

仓库:healthchecks/healthchecks | Star 约八千 | 2015 年至今持续维护

一句话定位:监控界的逻辑鬼才——不监控任务失败,只监控「任务没跑」。

痛点:cron 失败会发邮件,但真正致命的是静默死亡:备份脚本三周前就再没执行过,没有任何报错,因为根本没有「执行」这回事。传统监控对此束手无策。Healthchecks 把逻辑反过来:任务跑完向指定 URL ping 一下,服务器没等到 ping 就告警——这就是 dead man's switch(死人开关)。

核心拆解:Django 单体,部署一个容器了事。ping URL 自带语义:/fail 报失败、/start 记开始、/log 记日志;「超时时间 + 宽限期」双阈值设计避免了半夜误报。集成面铺得极广:邮件、Slack、Telegram、webhook、PagerDuty 等几十种出口。更有说服力的是商业模式:作者 Pēteris Caune 用同一套开源代码运营托管版 healthchecks.io 十年,订阅制活得好好的——单人 SaaS 的教科书案例。

上手难度:⭐

适用人群:所有拥有定时任务的工程师(也就是所有人)。变现思路:垂直化看门——给数据管道做 SLA 看门、给爬虫做存活看门,按行业打包卖。


8. Ghostfolio:五六个账户的身家,合成一条净值曲线

仓库:ghostfolio/ghostfolio | Star 数千星 | 活跃迭代

一句话定位:自托管的个人净值总账,把散落各处的资产聚成一条净资产曲线。

痛点:股票在券商 A、基金在平台 B、加密货币在交易所 C——没人能随口答出「我现在到底有多少钱、这些年真实年化多少」。商业聚合 App 的代价是交出全部持仓隐私,而 Ghostfolio 的答案是数据不出门:整套自托管,AGPL 协议。

核心拆解:TypeScript/NestJS + PostgreSQL,自动抓取行情,把多账户持仓聚合计算总净值、年化收益、回撤,甚至内置 FIRE(财务自由)进度追踪;资产配置按股票/债券/现金/加密多维度拆解。官方同时运营托管版 ghostfol.io 订阅——同一套代码,愿交隐私用云版,愿保隐私自己跑,路都铺好了。

上手难度:⭐⭐

适用人群:多平台投资者、FIRE 实践者、隐私敏感型用户。变现思路:面向理财顾问的白标看板;本地化部署 + 历史数据导入的付费服务。


本期横向对比

仓库 领域 Star(约) 上手难度 一句话场景
SatDump 无线电/航天 2k 量级 ⭐⭐⭐ 电视棒收气象卫星云图
gpredict 无线电/航天 千星量级 ⭐⭐ 预报卫星过境窗口
weewx 气象硬件 千余星 ⭐⭐ 私有气象站数据底座
Open-Meteo 天气数据 数千星 ⭐ 免费开源天气 API
PMTiles 地图数据 数千星 ⭐⭐ 全球地图装进单文件
mox 邮件基建 数千星 ⭐⭐⭐ 一个二进制全栈邮箱
Healthchecks 运维监控 约八千 ⭐ cron 死人开关
Ghostfolio 个人财务 数千星 ⭐⭐ 自托管净值总账

注:本篇产自离线环境,Star 数为约数且随时间变动,请以仓库页面实时数据为准;项目功能描述基于各仓库长期公开的文档与发布记录整理。

本期结构图

mindmap
  root((信号与账本))
    天上来的
      SatDump 收卫星云图
      gpredict 算过境窗口
    身边的/world数据
      weewx 私有气象站
      Open-Meteo 天气API
      PMTiles 地图单文件
    自己的服务器
      mox 邮箱全栈自持
      Healthchecks 任务看门
    自己的钱
      Ghostfolio 净值总账

本期之最

延伸阅读路径

想跑通本期最魔幻的组合:gpredict 算窗口 → SatDump 接信号 → weewx 存本地观测 → 自建 Open-Meteo 补全球预报,四个项目串起来就是一间完整的个人气象地面站——总硬件成本不到一顿火锅钱。

[!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学通信知识星球海报-扫码加入