In Part 1 of this, I went over the setup of ThingSpeak and several associated and almost-associated packages.
This part will be more about the funner stuff.
Rain Gauge Reader
The first thing I had to do was build a rain gauge reader. I ultimately started that before doing part one, but then moved on to a standalone node.js program that counted clicks from the rain gauge.
The rain gauge is a tipping-bucket rain gauge that tips when the rain gets to 0.2mm. The guts are in the picture below.
The rain gauge initially came with a little board that has a PIC and an EEPROM that stored clicks. I didn’t care for that idea, since the ultimate plan is to see if we can put this on our building’s roof with a battery and a solar panel.
This is where the BBB comes in. I connected the rain gauge to the BBB and started playing with node.js until I came up with the program in the gist below.
After setting it up, it was time to test.
The third part of this will be making this fault-tolerant: fixing the time issue (it doesn’t keep time), starting things during startup, and security.
-73-
Have you completed this project? I am interested in building a all-in-one IP rain gauge that reports directly to weather underground. This appears to be very close. I am interested in contacting you about this project.
I haven’t had the chance to do much with it except for working on getting a little temperature/humidity sensor working on it (with so far, no luck). The BBB is not really powerful enough to run ThingSpeak, and I’m concerned about the disk space as well. Whenever I get back to working on this, I intend to move ThingSpeak to a real web server and have the BBB send rain, temperature, humidity, windspeed, and wind direction (assuming I can find or build a anemometer/wind vane).
Feel free to drop me an email at ke8p (at) ke8p.us if you have any additional questions.