
System Architecture and Software
System Architecture Overview
The following diagram provides an overview of the final system architecture.

As illustrated above, at the heart of the system is a Raspberry Pi, a compact but powerful microcontroller with Bluetooth and WiFi capabilities that interfaces with the sensors and actuators as well as a backend server with connects the hydroponics system to the web.
Role of Backend Server
The Raspberry Pi acts as a client connected to the backend server, capable of both sending and receiving requests and data. This is accomplished by using Socket.io a low-latency and bidirectional WebSocket library available for many languages including Python, Node.js, and React Native. The backend server is also connected to a database used to store incoming data from the hydroponics system. This data includes sensors readings and camera feeds which enable analytics and remote monitoring functionality for users of the hydroponics system. A user portal in the form of a mobile application is also connected to the backend server and provides users with a visual interface to interact with and monitor their hydroponics system. This portal enables users to see their plant growth statistics overtime, monitor the system health, and configure or tune hydroponics system parameters to best suit their use case.
Sensors and Actuators
The pi is connected to a host of sensors each of which play a crucial role in enabling successful hydroponics plant growth. Below is a list of some of the main sensors, and their roles in the system:
-
Atlas Scientific pH and EC sensors - enable controlling of the pH and nutrient levels in the water that is fed to the plants via a circulating reservoir system
-
Camera - used to monitor plant growth overtime and enables the use of computer vision to intelligently detect different stages of the plant’s life cycle as well as detect disease in different plant types
-
Temperature and Humidity sensor - used to monitor the environmental conditions under which the plant is growing. Helpful in providing the user with feedback on how to improve their plant growth
-
Water temperature sensor - measures temperature of water in reservoir, which of is particular importance in the case of hydroponics
-
Peristaltic pumps - used in the dosing of pH and nutrient solutions to provide the right balance to meet the plant’s requirements