Water your plants with a Raspberry Pi


For all three plant pots, I finally had to determine empirically the limit values of all combinations of plant and pot soil and substrate (Listing 4). A fourth sensor, which Figure 1 does not show, was finally placed in the water tank. It is monitored by its own thread starting in line 124 of Listing 3; the budding digital gardener has to connect the red cable to another free GPIO port on the Raspberry Pi Zero. If there is no water in the tank, the script sends email and blocks the other threads until the plant owner gets round to refilling the tank (Listing 3, lines 130-136).

The data for the tank sensor can be found in the YAML file in the tank block (Listing 4, lines 36-40), and the email parameters are in the mail block (lines 42-45). Depending on the configuration of your local email system, you might need to adjust the code so that it contains more detailed information with a clear-cut subject line to keep it from ending up in the Spam folder. The configuration file also contains the debug parameter (line 53), which makes the script more verbose at runtime.

For larger plant containers, such as a flower box, several sensors and water supply systems would have to be used in each box. Here again, some experimentation would be necessary to achieve the desired average soil moisture. Meanwhile, the scripts enter the measured values into an Influx database (Listing 3, lines 39-55). On the basis of this database, it is then possible to obtain an overview (e.g., with Grafana), so you can better adjust the parameters after analysis.

The Author

Konstantin Agouros works as Head of Open Source and AWS Projects at Matrix Technology AG, where he and his team advise customers on open source and cloud topics. His new book Software Defined Networking: Practice with Controllers and OpenFlow has been published by de Gruyter.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Garden Irrigation

    With a Pi Zero and a few components, you can build an inexpensive and reliable automatic watering system for your plants in next to no time.

  • Perl: Linux-based Gardening

    In this month’s Perl column, we will introduce a system to water your plants while you are away from home. With a little help from Perl, a friendly, Linux-based irrigation system waters your plants twice a day.

  • Gnublin

    Embedded Linux doesn’t have to be rocket science, which the Gnublin board clearly shows. If you want to learn how to read sensors, flip switches, and switch LEDs on ARM Linux, this tiny machine is perfect for your research.

  • Charly's Column – Mi Flora

    Columnist Charly Kühnast recently attached Mi Flora humidity sensors to his potted plants. At first, they only transmitted junk on Bluetooth, but armed with the right tools and a Rasp Pi, Charly now reaps a rich harvest of data.

  • Home Assistant with MQTT

    Automating your four walls does not necessarily require commercial solutions. With a little skill, you can develop your own projects on a low budget.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More