[gallery columns="1" size="full" ids="3123"]

有想过把自己 NAS 变成气象站吗?

其实很容易,你只需要透过 NAS 本身内建的 Docker (or Container Station),就可以达成自己在家架设一台专业的气象站。

首先,需要准备:

  1. Weather Station WH2080+ 显示面板 + USB

  2. NAS (需要支持 docker)

  3. Weather Station image for docker

  4. MQTT Server


如下图,将 WH2080 的显示面板透过 USB 插入到 NAS 上,透过 NAS 将气象站信息推送到 MQTT,最后透过 Node-Red 处理相关的数据后,就可以呈现气象站的数据; 如果要储存到数据库或是云端服务,再透过 Node-Red 处理数据并上传或储存到云端或数据库里。

[gallery columns="1" size="full" ids="3124"]

将气象站显示面板链接到 NAS 后,直接建立新的 docker image,记得把 “your-mqtt-server” 换成自己架设好的 MQTT Server 喔!

# docker run -t -i --cap-add=SYS_ADMIN --privileged --security-opt seccomp:unconfined -v /dev/bus/usb:/dev/bus/usb jarvischung/weather-station node /root/weather.js your-mqtt-server

此 docker image 基本上已经自动设置好 USB 与 气象站的信息,每分钟会透过USB的方式,将气象站数据取得,并注册 “jarvis-weather-station” 到发送到 MQTT Server,接下来可以透过 Node-Red MQTT node 注册 “jarvis-weather-station” 后,就可以取得气象站数据。

目前气象站的 JSON 格式:
{
'rf.delay': 27,
'rf.hum_in': 43,
'rf.temp_in': 28.1,
'rf.hum_out': 51,
'rf.temp_out': 24.1,
'rf.abs_pressure': 1017.5,
'rf.wind_ave': 0,
'rf.wind_gust': 0,
'rf.wind_dir': 2880,
'rf.rain': 1687.2,
'rf.status': {
b1: false,
b2: false,
b3: false,
b4: false,
b5: false,
lost_sensor_contact: false,
rain_overflow: false,
b8: false
}
}

 

下图是 Node-Red 目前处理的方式,处理的流程为:

MQTT –> Parsing JSON –> Node-Red Dashboard

[gallery columns="1" size="full" ids="3125"]

如需要上面Node-Red Flow的档案,可以直接在此下载(不含MQTT Server及DB的相关Flow)。

Node-Red Dashboard 呈现的画面(当数据密度太细时,不太建议用 Node-Red Dashboard,会处理的非常缓慢)

[gallery columns="1" size="full" ids="3126"]

有没有觉得将气象站连接 NAS 很简单呢?!

之后会再介绍如何将信息站的数据上传到 WU Weather,为 open data 尽一点心力!

下图是将目前气象站的资料分享到 WU Weather 上,名称是 IMIAOLI3

[gallery columns="1" size="full" ids="3127"]

同步发表于:I’m RD.




更多QIoT教学文 https://qiot.qnap.com/blog/tw/category/%E6%95%99%E5%AD%B8-tw/

tttt 發表在 痞客邦 留言(0) 人氣()