The hydroMazing controller is designed to operate ventilation fans for air circulation, water pumps, occasionally a humidifier, heaters, or any other appliance that is necessary to maintain an ideal environment for plants to grow. Typically, we DIY’ers would hook-up some relays to a microcontroller to achieve control. However, with hydroMazing, the system uses remote controlled wireless AC outlets, ensuring safer control than traditional relays. hydroMazing uses low-cost open-hardware modules and the ubiquitous microcontroller, the Atmega328, on an Arduino Nano*, offering the flexibility of customization and expansion. The sensor choices are endless, but I’ve narrowed it down to a few important and relatively inexpensive modules. A temperature and relative-humidity sensor, moisture sensors for soil, liquid temperature probe for hydroponics, a simple photocell. There are many other optional additions including the float switch or switches and flow-rate sensors.
The wirelessly controlled outlets proved to be a reliable method of controlling the fans using the Arduino to send the signals depending on the temperature sensor’s readings. It didn’t take long for the source-code to evolve into a beast. The Arduino family of microcontrollers is limited in how many instructions it can run and hitting the program size limit doesn’t take very long when you want to control more than a few blinking LEDs. I have found that the size limitation has forced me to write better, more efficient code than I initially do. Even with creative variable handling and custom libraries, eventually, there is a need for another microcontroller or to move to a larger one.
Wireless Monitoring w/o Internet
There are several ways that the microcontrollers can communicate with each other. The least expensive wireless method I could find is the nRF24L01 wireless radio transceiver. The module is a low-power, lightweight variety of bluetooth giving hydroMazing the ability to communicate with a monitoring unit.
I decided to add another Arduino Uno with an Liquid Crystal Display shield so that I could display what the sensors were reading, the state of appliances, and alerts with notifications.
I made my own open and adaptable platform that can be custom tailored to a wide variety of gardening needs and conditions; yet, also a self-contained wireless system. The open-architecture of the system allows for ease of integrating Internet connectivity and web services.
Enter the Raspberry Pi connected with an nRF24L01 module.
I was able to modify much of my Arduino Source code to listen for incoming transmissions and then write that data out to a few files. First, a log file that captures all communications between the Pi and the hydroMazing Monitor. Next, I have the program write out the current state of all sensor objects and a file for all of the appliance objects. When an alert occurs the program will create a file containing that alert.
I then added a PHP script to read in the data object’s from their respective files and display live on the Pi’s Apache server.
Next, I wrote a Python script to read the directory for the alerts file and if it exists, read the file, parse out the pertinent information and then email or through SMS text the user. In addition to sending an email or text alert, the python script moves the alert file into position for the PHP script to read and display.
Using the log files that are created, I am able to import the data into a database. Once the hydroMazing’s data is recorded into a database residing on the Raspberry Pi we can start performing analytics and generate some reports.
Monitoring and controlling the system is mostly done for us, but when the hydroMazing needs to alert us to a problem it can now by using the Raspberry Pi.
With the hydroMazing smart gardening system, you can grow healthy, happy plants anywhere!
Contact us today for more information!