In this project I created an IOT automated gardening system using an ESP32 Microcontroller. The ESP32 is a wifi equipped MCU that I used to host a webpage displaying weather data, garden moisture levels, and water reserve levels. This webpage can be accessed on any device so that the user can check on the status of their garden.
See the code on my Github
The gardening system consists of the following components:
The goal of this project was to learn how to host a webpage from a microcontroller. Specifically, I learned about the client-server flow using websockets TCP communication. I also learned how to use http requests to acquire data from an API. In this case, I was collecting current weather conditions from a weather API. I am currently developing algorithms to optimize the time that the garden can operate without human intervention. This would take into consideration:
For example, if the moisture levels are low in the plants, but there is heavy rain forecasted in the next 24 hours, my system will hold off on watering using the pump. The same would apply if the water reserves are getting low.