|
@@ -0,0 +1,48 @@
|
|
|
++++
|
|
|
+title = "Self-hosted weather station"
|
|
|
+author = ["Colin Powell"]
|
|
|
+date = 2023-01-24T00:00:00-04:00
|
|
|
+tags = ["weather","data","foss","weewx"]
|
|
|
+categories = ["self-hosting"]
|
|
|
+draft = false
|
|
|
++++
|
|
|
+
|
|
|
+For a few years now, I've had a cobbled together weather station using Ecowitt
|
|
|
+sensors that one can readily buy on Amazon, and the fantastic open source tool
|
|
|
+`WeeWx`. I really don't think I can sign the praises of WeeWx loudly enough.
|
|
|
+
|
|
|
+The components of the setup:
|
|
|
+
|
|
|
+* Ecowitt GW3000 "gateway"
|
|
|
+* Ecowitt XXXX temperature sensor
|
|
|
+* Ecowitt rain guage
|
|
|
+* Ecowitt anemometer
|
|
|
+* FreeBSD jail (or any unix-like 24-7 server, an RPi would be fine here)
|
|
|
+
|
|
|
+Ecowitt is better know in the agricultural community for making very expensive,
|
|
|
+very high performing sensors for farms. But thankfully they've dipped their toes
|
|
|
+in the commercial waters and provided a highly cost-effective way to build a
|
|
|
+home weather station cluster, without dropping hundreds of dollars on a Davis
|
|
|
+instrument (and then being locked into their ecosystem).
|
|
|
+
|
|
|
+See, the real beauty of Ecowitt is that all the sensor communicate with the
|
|
|
+gateway over a 900Mhz channel which the GW listens for, parses and then
|
|
|
+transmits to a given IP address on the local network. The recipient of the
|
|
|
+gateway's communication is supposed to be a super janky phone app. But we can do
|
|
|
+one better and send it all to WeeWx!
|
|
|
+
|
|
|
+WeeWx handles a lot of different sensors. So you could probably replace
|
|
|
+everything I just said above with plugging in a $300 Davis weather station and
|
|
|
+use that with WeeWx. But your mileage will vary depending on model numbers and
|
|
|
+firmware and honestly, nobody got time for that. Instead, we'll use the Ecowitt
|
|
|
+plugin in WeeWx to intercept the gateway's messages, store them in a sqlite
|
|
|
+database and let WeeWx generate a really nice HTML page for our weather station
|
|
|
+(demo of mine here: https://wx.unbl.ink).
|
|
|
+
|
|
|
+Of course, now all that fine weather data is parsed and stuffed ina SQL data
|
|
|
+store, so you can also re-process it to a heavier weight DB engine, like
|
|
|
+postgres and go nuts. At least, that's what I've done. Having raw, time-based
|
|
|
+data from sensors on your own property gives you a chance to run historical
|
|
|
+calculations of specific events, and it also allows me to pull local data into
|
|
|
+other projects, so my run tracker doesn't get data from the airport 90 miles
|
|
|
+from my house, but can use super local weather data.
|