#control-system #weather #automation #devices #station #driver #underground

drmem-drv-weather-wu

从Weather Underground获取数据的DrMem驱动程序

5个版本 (3个重大更新)

0.4.1 2024年7月30日
0.4.0 2024年7月28日
0.3.0 2023年6月8日
0.2.0 2023年4月5日
0.1.0 2022年12月1日

#560 in 嵌入式开发

Download history 85/week @ 2024-07-22 208/week @ 2024-07-29

每月293次下载
drmemd中使用

MIT许可证

92KB
1.5K SLoC

drmem-drv-weather-wu

定期从Weather Underground网站获取天气信息。Weather Underground拥有由志愿者运行的25万多个气象站。在世界上许多地区,应该能够找到附近的气象站。但是,这意味着相关设备只会在系统有有效的互联网连接时更新。

配置

以下是驱动程序实例的配置参数。

  • station 是包含气象站ID的字符串。
  • key 是您的Weather Underground API密钥。如果没有提供此参数,则使用通用密钥。
  • interval 是每次更新之间的分钟数。如果未指定个人密钥,间隔不能小于10分钟。如果没有提供此参数,则使用10分钟。
  • units 可以是 "metric" 或 "imperial",并确定设备数据如何缩放(例如,摄氏度或华氏度等)

设备

此驱动程序创建了大量设备。根据相关气象站的功能,并非所有设备都会更新。如果您选择的气象站没有更新您需要的设备,则应尝试另一个气象站ID;Weather Underground拥有庞大的参与用户群,因此您所在的位置应该有多个有用的气象站。

像所有驱动程序一样,当此驱动程序启动时,它会注册其所有设备。注册的一部分包括每个设备的单位。然而,对于此驱动程序,单位集由配置参数确定。如果您更改配置参数并使用 REDIS 后端,则设备的单位不会在新启动时更新。简单后端没有任何持久存储,因此每次重启都使用当前配置。

注意:作者至少看到过一个气象站向Weather Underground提供垃圾值,并简单地保存并报告它。因此,此驱动程序在更新设备之前进行一些合理性检查。例如,它不会更新湿度设备,如果其读数低于0%或高于100%。当参数被认为无效时,相关的设备将不会更新,并将在日志中写入警告。

基本名称 类型 单位 注释
露点 f64, RO 华氏度或摄氏度 露点温度
体感温度 f64, RO 华氏度或摄氏度 体感温度
湿度 f64, RO % 相对湿度
降水量 f64, RO 每小时英寸或每小时毫米 降水量率
降水量总计 f64, RO 英寸或毫米 降水积分
上次降水总量 f64, RO 英寸或毫米 保存上次降水的总量。当降水总量重置时更新。
气压 f64, RO 英寸汞柱或百帕 气压计压力
太阳辐射 f64, RO 瓦/平方米 太阳辐射测量。
状态 bool, RO 当系统能够与Weather Underground通信时设置为true
温度 f64, RO 华氏度或摄氏度 温度
紫外线指数 f64, RO 紫外线指数
风寒 f64, RO 华氏度或摄氏度 风寒温度
风向 f64, RO ° 风向(0° - 360°)
阵风 f64, RO 英里/小时或千米/小时 最近测量的最大风速。
风速 f64, RO 英里/小时或千米/小时 风速

历史记录

自v0.1.0版本添加。

依赖项

~17–31MB
~583K SLoC