oss

WeeWX 把气象记录留在家中

8 条来源 0 条一手来源 已翻译 2026年9月20号

正在加载阅读与收藏统计…
正文
暮色中,气象传感器的防辐射罩悬挂在木支架的横管上,下方是草地,远处有一排树木。

暮色中的 Daniska Engineering 户外传感器装置。项目记录中的 Raspberry Pi 系统通过本地文本文件,将观测数据送入 WeeWX。照片来自该项目记录。[2]

气象站能告诉你此刻的气温。要把昨夜的寒冷、上个月的降雨,以及更换电脑之前积累多年的观测,保存成日后可用的记录,还需要另一类工具。WeeWX 是一款免费开源软件,可以读取兼容气象设备的数据、保存观测结果并生成报告。它用 Python 编写,常运行在 Linux 系统上,其中也包括 Raspberry Pi(树莓派);是否将数据发布到外部服务,则由使用者选择。[1] 对希望把气象历史保存在本地的观测者来说,这是一个值得了解的起点。

项目源于家中使用气象站时的一件烦心事。2008–2009 年冬季,身在俄勒冈州的 Tom Keffer 希望为自己的 Davis VantagePro2 气象站找到更容易理解和定制的软件。这段来历至今仍能说明 WeeWX 的用途:它是一款连接仪器与读数者的程序。[1]

给小电脑一份长久的工作

Daniska Engineering 独立搭建的一套装置,展示了这种安排的实际模样。两个传感器模块接入 Raspberry Pi 3,脚本将读数写入文本文件,再交给 WeeWX 读取。装置测量温度、湿度和气压,户外传感器置于防辐射罩内,生成的网站则托管在别处。[2] 照片让这些读数有了具体的户外位置:防辐射罩悬在支架下,以傍晚的天空为背景,下方是草地,远处有一排树木。

让一台小电脑长久做这样一件事,自有一份朴素的吸引力。Hackaday 的 Jenny List 在 2020 年一篇讨论回收利用旧 Intel 平板电脑的文章中,将 WeeWX 列为这些仍能工作的机器的一种用途。[8] 这条建议可以作为参考,兼容性仍要逐项核实:电脑须能运行软件,气象站也须有 WeeWX 支持的数据读取方式。

安装前,尤其要留意气象站的数据连接。WeeWX 的硬件指南分别列出定期接受测试的驱动、已有可用记录的设备,以及仍处于实验阶段的驱动,也标明各型号所需的连接方式,包括 USB、串口或特定的网络接口。[3] 同一厂商销售的不同型号控制台,兼容情况各有差别。核对时,要将具体型号与接口放在一起看。

归档中究竟记下了什么

WeeWX 会区分频繁传入的读数与整理后用于存储的记录。前者称为 LOOP 数据包,一个包可以只包含部分观测项目,传入时间取决于硬件。归档记录则按固定时间间隔汇总:温度通常取该时段内的平均值,降雨量累加,其他一些数值各有计算规则。这些归档记录最终写入 SQL 数据库。[4]

阅读历史数据时,要把这种区别放在心里。一个五分钟气温值代表一段时间内的观测,与该时段最后一秒控制台上显示的数字未必相同。同样,五分钟内的降雨量应当累加,气温则取平均值。理解存下来的数值,也是理解气象报告的一部分。

通常,一个 WeeWX 进程通过一个驱动监测一台气象站,配置一般保存在 weewx.conf 中,归档数据库可以选用 SQLite 或 MySQL。[4] 对熟悉技术的个人用户,或有专人维护的小型学校、社团来说,这些组件容易掌握。等到原来的电脑老化,维护者也清楚该保存哪些东西。

重启之后,要看硬件记住了多少

设想电脑在夜间停机,气象站却一直通着电。缺失的几个小时能否补回,取决于此前由哪里保存观测数据。

[StdArchive] 中设置 record_generation = hardware,会让 WeeWX 尝试从气象站下载归档记录;硬件无法提供这些记录时,便改由软件生成。带有内置记录功能的气象站,可以在 WeeWX 停止运行期间继续保存观测数据;重启后,正常的补录流程会取回这段历史记录。设置 no_catchup = true 则会关闭这一补录尝试。[5]

由此也能看清恢复数据的条件:观测若在软件和气象站两处都未留下记录,软件就无法还原。因此,仅凭网站看起来始终正常,很难判断数据是否恢复完整。做一次计划内重启后,应查看归档时间戳,核对预期的各个时段是否已经补齐。气象站记录器的容量、停机时长,以及通信是否正常,都会限制恢复结果。数据库保存在本地,所有者便能自行管理;记录是否连续,仍要实际核验。

网站可以重新搭起

WeeWX 生成报告文件,再由单独的 Web 服务器发布。服务器可以运行在同一台电脑上;报告文件也可以借助配置好的发布工具,传到另一台机器。文档为后一种安排列出了 [StdReport] 下的 RSYNC 报告配置。[6]

当气象站通过本地连接采集数据时,这种分工就有实际价值:公共网站的托管服务即使中断,采集电脑仍能继续工作。读者看到的页面未必已经更新,因此,网页成功打开也不足以证明新的观测数据正在传入。当页面上的天气停止变化时,应分别检查采集、存储和发布这三处。

备份说明进一步明确了保存的重点:数据库、配置、自定义皮肤和模板,以及自定义代码。已经生成的 HTML 和图像可以重新生成。对于 SQLite,文档提醒应避开事务执行期间复制数据库;备份时先停止 WeeWX,是文档列出的一种做法。[7]

WeeWX 虽然已是发展多年的项目,如今仍值得关注,理由就在这里。气象站积累的历史若值得保存,下一台电脑就应当能接续这些记录。日常维护都是具体的事:保持传感器连接正常,检查记录,做好能够恢复的备份。等到熟悉的天气页面在替换后的机器上打开,往年的冬天仍在,那些工作的回报也就静静显现。

来源

  1. WeeWX,《为你的气象站准备的开源软件》——软件功能、支持的系统,以及 Tom Keffer 对项目起源的讲述。
  2. Daniska Engineering,《Raspberry Pi 气象站》——独立搭建记录、传感器接口、发布安排,以及气象站安装后的照片。
  3. WeeWX 硬件指南,《驱动》——各型号对应的接口,以及已测试、已知可用和实验性驱动的区别。
  4. WeeWX 定制指南,《引言》——LOOP 数据包、归档记录、数据汇总、数据库存储,以及单驱动进程。
  5. WeeWX 参考文档,《[StdArchive]》——硬件与软件生成记录的方式、归档间隔,以及重启后的补录。
  6. WeeWX 用户指南,《与 Web 服务器集成》——本地托管,以及将报告传输到独立服务器。
  7. WeeWX 用户指南,《备份与恢复》——需要持久保存的文件、可以重新生成的报告,以及 SQLite 备份注意事项。
  8. Jenny List,《救命,我被平板电脑活埋了!》,Hackaday,2020 年 11 月 10 日——独立评论,提议让回收利用的旧电脑运行 WeeWX。
Previous 将图库迁入 digiKam,从一次往返验证开始 Next Csound 中的音符有多种时钟

Recommended In oss

Matched by subject and format