[aprssig] Weather station hardware and software
steve at dimse.com
Fri Feb 20 13:20:55 CST 2015
Today I had the fourth request in a week for a way to serve up findU's panel display locally. These have made me think a bit about the closed and dated state of weather hardware/local software in general.
I've used Peet Brothers weather systems for nearly 20 years. Peet has been very supportive of me, APRS, and CWOP. I have tried to get them to move into the 21st century with their products. Last year I gave them a Raspberry Pi with WiFi and serial dongles. When it was plugged into a Peet console serial datastream it formed its own hotspot, any device could connect to it and see the panel display like on findU (which of course is stolen from Peet's Weather Picture which I love), and 24 hour graphs like findU's wxpage. If you plugged the hdmi port into a tv it showed the panel continuously updating. You could also plug it into an ethernet network and access the panel and graphs using Apple's Bonjour - just type in http://weather.local in a browser on the LAN. I did this for under $75 and a day's work. I hoped this would kick them in the butt. It didn't, in fact they did not even come to the Orlando Hamcation (in their backyard) this year.
I run the panel display locally, and there is no reason others can't. I generally don't share my code because of the moderate effort needed to clean it up so I'd feel comfortable showing it to others, and the immense effort that comes with supporting hobbyists who try to use it. I enjoy making new things for me to use, not supporting others to use what I've made.
But I'd still like to see a coordinated effort to get an open source hardware/software weather system. I have most of the software pieces written (and there is much room for improvement), and the hardware I've built is easy to replicate if you know which end of the soldering iron to hold. If you just want to work with the serial data coming out of a Peet station you need a serial/usb dongle, raspberry pi & flash card, and a wifi dongle if you don't connect the Pi by ethernet, say $50. Davis serial data could also be used, but someone else would need to write the parsing routine as I don't have a Davis Station. If you want full control, that means interfacing the Pi with other hardware as the Pi had no AD converter and Linux does not do timing of real world events well. I use both Arduino and PIC hardware, but I think most people would choose the Arduino because it has the more robust maker community.
Just to be clear, this isn't an invitation to email me asking for stuff. This needs a group of people willing to work on supporting itself and others. I am not going to do this myself. findU was the mistake of my life - if I'd had any idea of how successful it would be, and how much drudgery it would take to keep it running, I would probably never have told anyone about it (I still would have built it for me though)! I learn from my mistakes.
This needs a development site on github or similar to get the ball rolling. If a group comes together to do this I'll share on there what I have so far, which is:
1. A simple socket based data collection and distribution system at the core. This allows other processes and computers to contribute to and draw from all the data. I put this at the center because it allows some cool things, like remote displays, to happen easily, and also means the system can be broken into simple processes for easy maintenance and expansion. The weather is just one of the things in my RV management system and this is the core of that system.
2. The code that panel.cgi uses to draw findU's panel display, repackaged to draw a PNG which can be served up by a local apache web server, along with the Peet Brothers serial data parsing routines.
3. Code to store the weather data in rrdtool, which is a round robin database perfect for producing graphs of time series data.
4. Listing of the steps to configure the Pi to do all this.
5. CWOP transmission routine. Someone else needs to write those for other services.
6. Handwritten sketches of the hardware interfaces I build, including WiFi and NRF24L01 radio based communication boards. If this sounds like greek, for example I have an Arduino ($3) connected to a WiFi board ($3) and a 20x4 LCD ($7) which can bring a wireless weather display anywhere. You could use this to build something like the Peet Brothers Weather Picture for $50.
7. When done, the results (hardware and software) of my present project, which is to eliminate the Peet console and directly read the sensors, allowing me to do real gust and pressure calculations. With this one could build a weather station far more capable than the Peet or Davis for under $300 including buying the sensors from Peet. And again, Davis sensors could be used to but someone else would have to write the software.
There is no reason any of the above contributions need to be used, in fact it would be great if every initial contribution was discarded because better ideas developed from the group. I'm offering these as a way to jumpstart interest. The idea is for others to improve or replace.
I'll monitor the community and help out when someone shows they have truly tried to understand their problem (not "I plugged it in and it didn't work, what do I do now?"). If you want to participate you need to be willing to spend some time learning about what is going on, and then be willing to help others.
I'm not going to put in the effort to cleanup and package all this up without a serious effort to build a community to work on it. Don't bother to email me saying "Send this to me, I won't bug you." I've fallen into that trap before!
I'm cross-posting this to a few email lists (and feel free to spread it further). Email me if you are interested and after a couple days I'll send an email out to everyone that replied so you can coordinate.
More information about the aprssig