Before starting to create a system to automate data collection some design goals were defined.Required:
- New sensors should be easy to add into the system
- Sensors should be able to be located anywhere on the farm (1000 feet away)
- Internet connectivity is not required (the greenhouse has limited internet connectivity)
- Sensor data should be available for analysis and graphing
- Cost of adding new sensors must be very low
- Sensors can be powered by battery or solar
- Sensor data can be automatically published to the internet (and downloaded by interested parties)
- Live Alerts (e.g. if the temperature in the fish tank is too low send a text message)
- Sensors from other locations (such as another high school or Haiti) can be added easily
- System can be expanded to automate heaters, feeders, or water pumps
- Building new sensors could potentially be done by students
From these design goals a system based on the Arduino was created. What is an Arduino?
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It’s intended for anyone making interactive projects. – Arduino.cc
Basically some brilliant engineers made it very easy to program computer chips. The Maker community has exploded since. If you look online you can find many tutorials on how to use an arduino to measure temperature or humidity. Most of these tutorials assume a very simple setup with an arduino connected to a computer. This setup does not meet the required design goals. We expected sensors to be spread across the farm. What we needed was a sensor network.
MySensors.org is another open-source project with a focus on home automation. The setup assumes sensors located throughout a house or property with a central “controller”. From the website:
Learn how to create your own low cost wireless sensors and connect them to the world. Store your sensor data at home or in the cloud. Control your environment. We provide build instructions and other great tools to help you manage and analyze your sensor data! – mysensors.org
That meets most of our design goals and I would encourage everyone to read more about the MySensors project and support them if possible.
So with that we built a sensor network using the following:
Several great open source projects are being used:
To learn more and see code samples go to the project website.