Note
This project was created as part of a research initiative on hydroponic smart agriculture at the Information Centric Networking (ICN) Laboratory in 2025. It is currently a work in progress and may be subject to changes in the near future.
Warning
The project is developed using PlatformIO IDE. To contribute or run the project, please use Visual Studio Code (VSCode) and install the required extensions as specified in this repository.
This research project explores the implementation of smart agriculture in a hydroponic plant system. Its primary objective is to minimize human intervention by leveraging IoT-based automation. Sensors continuously monitor environmental and water-quality parameters, and decisions are made automatically to maintain optimal conditions for plant growth. This repository contains the IoT-related firmware, hardware interface code, and automation logic. It is part of a larger initiative to build a self-sustaining hydroponic farming system.
The table below lists the default ESP32 pin assignments as defined in include/config.h. Adjust as needed.
| ESP32 Pin | Sensor/Actuator |
|---|---|
| 3.3v | LDR sensor primary pin |
| 3.3v | TDS sensor VCC pin |
| GND | LDR sensor secondary pin (via resistor) |
| GND | TDS sensor GND pin |
| GPIO35 | LDR sensor secondary pin |
| GPIO36 | TDS sensor signal pin |
This code is using some third party libraries provided by Arduino, such as follows.
PubSubClient.hfor MQTT client implementation
- Interfacing LDR sensor
- Interfacing TDS sensor
- Implementing MQTT-based data publishing to a remote server
- Interfacing Analog pH meter
- Integrating relay control for pumps and other actuators