Yesterday the Streamlab class put do-it-yourself water monitors into Gatorade bottles and anchored them in the Monongahela River near Morgantown, West Virginia. They’re now texting their data readings live.
We’re sensing conductivity, which is a good indicator of dissolved solids in the water, and temperature. The locations are: upstream of an industrial site, downstream of the same site and further downstream below the Morgantown lock and dam.
Much Gatorade was drunk, and several students in the class now have a favorite flavor. (“Not the see-through red, the real red,” says one.)
The texting bottles are built as originally described here, with two modifications: First, Wendell Cochran suggested in the comments that we use machine screws and washers instead of wood screws for the “probes” in the cap, with the washers keeping the water out. We took his advice and they are working great!
We also decided not to poke the thermistor through the cap, realizing that the cap itself would conduct heat. So we stuck the thermistor to the inside of the cap using Surgu, which I had picked up at the New York Maker Faire last weekend(!)
The logging-to-SD-card bottles are essentially the same, without the Fona cell-phone board (and the extra battery wiring).
Each bottle also sports stickers identifying it as a West Virginia University project, with a phone number to call in case it is found unattached.
Weighing Anchor Options
A test Sunday revealed that sensors can’t send texts from under water, but could text if the bottles were only partially submerged.
This was good to learn, and adjusted our plans.
We decided that instead of putting sensors in six locations, as originally planned, we would put two sensors at each of three locations. A texting sensor would bob on the surface, with its probes underwater and its antenna above water. A logging sensor would be tied lower down the anchor rope, giving an underwater reading.
After several iterations, the final design looks like this:
Pictures from an Expedition
- The texting sensors are using this Arduino code
- The logging sensors are using this Arduino code
- We’re using Twilio to route the texts to a small server running on an Amazon EC2 instance
- The server runs [this node.js code] to post the data to the Sparkfun data service
- The live chart is hosted in an Amazon S3 bucket, and the chart code is here
- I run a “cron” job on the EC2 instance to take the data down from Sparkfun and upload it to the S3 bucket.
Lessons Learned (So Far)
- Best to order the cell-phone SIM cards early enough that they come before the deployment. We ended up with just three, because it took them an extra day to arrive.
- Slight design changes in the Riffle would help make more stable connections to the Fona cell-phone board. Don Blair, who designed the Riffle, joined us for the deployment and has some ideas on how to build it better.
- The machine screw/washer/bolt combination is far superior at keeping the water out than trying to leak-proof wood screws with hot glue!