Smart Home-Agro System focuses on developing an intelligent agricultural system that can perform and even monitor various farming tasks. With a Smart home-agro system, we can schedule the system to irrigate a piece of land (Home garden) automatically or spray fertilizers(or pesticides) on the crops wirelessly through our smartphone. Not just that, the system can also successfully monitor the soil moisture through soil moisture. The system is a low-power-consuming device.Concept
The core concept of the system is to monitor the soil moisture periodically (e.g. every 30 min) for the moisture content. With calibration and as per our need we classify the minimum moisture percentage(threshold) has to be 40%. When the moisture level hits below the threshold the relay is triggered and the water pump is activated until the moisture level rises up to the threshold or more. The entire sensor data is being published on AWS IoT core cloud service to observe and analyze the moisture pattern.Hardware components
We came up with an IoT solution to develop using an ESP32 board as the main microcontroller to manage the sensors, and feedback and also to connect to the local wifi. The system consists of capacitive soil moisture as the main sensor for collecting moisture data, ESP32 Lora32 v2 as the core microcontroller of the system, a mini submersible water pump with a hose, and one-way 5v relay to activate and deactivate the water pump.
We used AWS Amplify to create a web app to visualize and analyze the sensor data also adding the option to manually trigger the pump from the web application if necessary.System Architecture
As shown in the diagram the connection consists essentially in two parts: one from the ESP32 board to AWS and one from AWS to the web dashboard of the project. The services used in this process are the following:
Mosquitto, IotCore lambda, IAM, API Gateway, and AWS Amplify.
In particular, we have the esp32 running RiotOS firmware connected via WiFi to Mosquitto, which is an MQTT broker, which will act as the publisher. Then the data published by the board on the topic will be forwarded from Mosquitto to the AWS cloud thanks to a Python transparent bridge.
The data received from the core device will be filtered and stored in AWS Amplify. The data will be received and processed by Python lambda functions authorized by IAM (access manager). Amplify with API gateway finally visualizes the data in the the web dashboard