- Overview
- Problem Statement
- Why Us
- Target Market
- Hardware Design
- Software Design
- Augmented Features
- High Level System Organization
- Generation of Data
- Storage
- Technology Stack
- Security & Privacy
- Power & Perfomance
- User Experience
- Design Decisions
- Scalability
- Testing
- Budget
- Links
The project "IoT-Based Automated Hydroponic System" aims to develop a modern and sustainable approach to hydroponic farming that maximizes efficiency by using technology to monitor and control growth conditions, reducing resource consumption, and enabling users to make data-driven decisions for better crop management.Customers want fresh, locally grown produce, and hydroponic farming provides an eco friendly, space-efficient, and resource-saving solution. They are looking for high-quality, user-friendly, and automated hydroponic systems that can be easily monitored and managed remotely to meet their demand for convenience and sustainability.The market for hydroponic systems, particularly in urban and controlled environments, is growing. This presents an opportunity to develop a product that is not only cost effective but also provides value by integrating automation and data-driven insights. Such a product can cater to the increasing demand for sustainable and efficient farming methods while remaining economically viable for both individual consumers and businesses
intro.mp4
Traditional farming methods typically rely on a piece of land with good soil quality and are highly susceptible to the unpredictability of weather conditions. Farmers often need to engage in manual labor, such as tilling, planting, weeding, and harvesting, which can be physically demanding and time-consuming. The success of these traditional farming methods is on factors like soil fertility, climate, and access to sufficient water.Hydroponic systems represent an innovative solution to these challenges. These systems enable plants to grow in a controlled environment without soil. Instead, they are nourished by nutrient rich water solutions. Hydroponics have gained popularity due to several advantages, such as Water Efficiency, Crop Yield Optimization, Minimized Pest and Disease Impact. However, while hydroponic systems have clear benefits, they are not without their challenges. The key issue we are looking to address is the need for regular monitoring and adjustment of critical environmental parameters. This includes:
1. pH Levels: The acidity or alkalinity of the water needs to be maintained within a specific range to ensure optimal nutrient absorption by plants.
2. Nutrient Levels: The nutrient concentrations in the water need to be closely monitored and adjusted as plants grow and uptake nutrients.
3. Water Levels: The water level of the reservoir should be measured in a regular manner to make sure that there is no leakage in the system
Failure to monitor and regulate these parameters effectively can lead to stunted plant growth, poor yield, or even crop failure in hydroponic systems. Current solutions on the market often provide basic automation, like timers for nutrient pumps and light control. However, these systems may not offer the level of precision and intelligence required to optimize plant growth and maximize crop yields. The problem we are trying to solve is the need for an automated hydroponic system that leverages technologies such as embedded systems, network and web applications, computer and network security, and machine learning to efficiently manage and optimize these crucial environmental variables. Typically, hydroponic systems require human interaction when it comes to the regulation of certain elements that allow the plant to grow. The goal of our project is to make a system that is cost-effective and, most importantly, is completely automated and requires virtually no human interaction after placing the germinated plant into the system. The other aspect is to create a system that can be used by a typical consumer; meaning that it is relatively small and simple to use. By doing so, our system will provide an easier and more productive way for farmers and hobbyists to grow plants hydroponically, overcoming the limitations of existing solutions and ensuring better results with less manual intervention.
- Domestic users seeking effortless home gardening
- Adaptable for commercial-scale farming
-
Contamination & Maintenance Requirement
- Give weekly reminders to the users via the apps
- Provide a very detailed maintenance guide via the user manual
-
Value Drifts
- Take 2 measurements from sensors and calculate the average value and act accordingly
-
Dry Running Risk
- Connect the pump to the bottom of the water reservoir and give notification to users when the water level changedsignificantly
- Error Checking Mechanisms
- Fail-Self Mechanism
- Watchdog Timers
- Power Switching Mode
- Reliable & Resilience Firmware
- Notification Mechanism
- Use MQTT inherent Features
- Local Storage Mechanism
- Message Buffering
- Periodic Retry
Our solution includes a dedicated mobile application, empowering users with continuous access and control over the hydroponic system. This mobile platform ensures round-the-clock interaction and monitoring capabilities, offering users unparalleled convenience and oversight at any hour.
mobilevideo.mp4
For the web application while logging in the normal user will get the same facilities as the mobile user. But for the admin user, he/she will be able to add the kind of plants we can grow in the hydroponics system and preferred conditions for the plants. The user management and the registering the new system will also handled in the web application
webvideo.mp4
- The status of the pumps which are in the reservoir, resources( pH & Nutritional Solution )
- The measurement of the pH level and the TDS value of the reservoir
- The user will also get the details of the pH and nutritional sources in the system
- After the registration by the admin the user can add a new system in his account (in both mobile and web) and he can select the plant he is going to grow in that system
- The user will get the notification about the system when there is an emergency situation like continuous change in reading of the floating switch in the reservoir, when the reservoir motor is switched off, and when the sources of the nutritional and pH solutions are over.
- The user is able to switch off the pumps in the system for the maintainance kind of things.
The augmented product features that will differentiate our IoT-Based Automated Hydroponic System from existing products are as follows:
1. Ease of Use: Our system will feature a user-friendly interface accessible through web applications and mobile apps. This intuitive interface will simplify the control and monitoring of the hydroponic system, ensuring that users of varying technical backgrounds can operate it with ease. This feature will eliminate barriers to entry for individuals new to hydroponics and technology.
2. Data-Driven Insights: Machine learning algorithms will be integrated to analyze data from various sensors. This data analysis will provide users with valuable insights and recommendations. For example,it can suggest optimal nutrient levels, predict growth rates, and detect issues like nutrient deficiencies in their early stages. These insights empower users to make informed decisions, optimize crop growth, and reduce the risk of crop loss. For example, use ML models to predict optimal nutrient levels, detect patterns indicating plant health issues, or optimize lighting schedules based on historical data. Continuously improve these algorithms to enhance system efficiency and user experience.
3. Network and Web Applications: Implement a secure communication protocol (HTTPS, MQTT, etc.) to transmit sensor data from the hydroponic system to a central server or cloud platform. Develop a web application for users to remotely monitor and control the system. Enable features like setting desired parameters, receiving notifications/alerts, and accessing historical data for analysis.
4. Security: Robust security measures will be implemented to protect the system from cyber threats. Ensuring the confidentiality and integrity of data generated and stored is vital. By safeguarding the system against potential breaches, we provide peace of mind to users and protect sensitive information related to their hydroponic operations. Furthermore, Implement encryption techniques to secure data transmission between the embedded system and the server/cloud. Use authentication mechanisms to ensure authorized access to the web application. Regularly update software and firmware to patch security vulnerabilities, ensuring the system is resilient against potential cyber threats.
5. Scalability: The system will be designed to be scalable, enabling users to easily expand their hydroponic setups. This feature accommodates users with diverse needs, whether they start with a small scale system and later decide to scale up their hydroponic farming or experiment with different plant varieties.
6. Affordability: Striving to keep the product cost-effective is a crucial factor. By offering an affordable solution, we make advanced hydroponic technology accessible to a broader range of users,including small-scale farmers and enthusiasts who might have budget constraints. This affordability contributes to the wider adoption of hydroponic farming.
7. Customization: Allowing users to customize growth conditions for different plants is a valuable feature. It promotes versatility in hydroponic farming by tailoring the system to suit the specific needs of various plant types. This flexibility can accommodate a range of crops and growing preferences.
- PH Sensor
- TDS Water Conductivity Sensor
- Float Switch
- User Authentication
- Central Unit Authentication
- Role Based Access
- JWT Token
- Time Out Mechanism
- MQTT protocol
- TLS
- Encryption in AWS server
- Secure Firmware Update & Testing
- Network Security
- Device Authentication
- Secure Communication
- Secure Storage
- Access Control
- Physical Security
- Power switching mode
- Optimized Code
- Appropriate hardware items
- Optimized data communication
- Optimized apps
- Caching Mechanism
- Eye Catching Outfit
- Improved Portability
- Easily Recognizable Liquid Input Ports
- Filleted Edges
- Proper Battery & Switch Ports
- Lower Cost
- Point to Remove Redundant Water
- Point to Change Old Water
- Outer Walls - To protect the electronics parts and other parts of the entire product
- Nets - To avoid entering unneccesary things (garbage, small animals), to have a better ventilation to the water tank and avoid using a airpump
- Big Solution Bottles - To avoid frequent refilling
- Holes In the Bottom = To avoid filling water in the outer tank (in an unexpected leakage or rainy situation)
- Larger Tank - To avoid frequent spilling of water and stop water wastage
- Larger Circuit Box - To reduce heating and proper connection between the parts in the entire system
- Waterproof Design - To protect the system from unexpected leakages
- Two Power Modes - To give the ability to the user to place the system in a place where no electricity is available
- Replaceable Componente - To give the ability to the user to replace the parts when there is a failure in one or two parts in the system
- Suitable For Any Environment - To give the ability to the users to use the system for domestic purposes or other outer usages
- Evaluating space and resources
- Cost-Effective Solution
- Monitoring & Maintenance
- Testing and optimization
Implement unit testing with Unity framework via Platformio
Unit Testing:
JUnit testing will be used to write unit tests for individual components, services, repositories, and controllers. Mock dependencies and test the functionality of each unit in isolation.
Integration Testing:
Verify the interaction between various components within the Spring context. Spring's testing annotations like @SpringBootTest to perform integration tests that cover multiple layers of the application
REST API Testing:
Postman will be used to test endpoints' functionality, input validation, error handling, and authentication/authorization mechanisms.
Unit Testing:
React Testing Library to write unit tests for individual React components. Test rendering, state changes, user interactions, and component behavior in isolation.
Integration Testing:
The integration of multiple components within the React application will be tested to ensure that different parts of the application work together as expected.
Unit Testing:
Flutter's testing framework to write unit tests for individual widgets and test widget behavior, rendering, and interactions in isolation.
Integration Testing:
Flutter_driver package to perform integration tests that drive the app as a real user would, testing interactions across multiple screen
The end to end testing is done by using Netsparker and NoGotofail
In summary, these augmented features will set our IoT-Based Automated Hydroponic System apart from existing products by emphasizing ease of use, data-driven decision-making, security, scalability, affordability, and customization. By addressing these aspects, our system aims to meet the diverse needs and preferences of users while making hydroponic farming more accessible, efficient, and user-friendly.

















