The Java-based predecessor to PlantFlow: a TCP server, desktop application and ESP32 sensors for plant monitoring.
Delivered scope
- Multithreaded Java server with separate ports for sensors and clients
- Swing application with live readings, history, charts and CSV export
- ESP32 firmware for temperature, humidity, soil, light level and light color
Concrete outcomes
- A working data path from physical sensors to a desktop application
- A custom text protocol supporting device lists, history and data export
- Hardware and experience reused as the starting point for PlantFlow
Problem
The goal was to bring distributed measurements around plants into one system that shows current values, stores history and supports comparisons over time.
Solution
ESP32 sensors send JSON messages over Wi-Fi to a Java server. A separate TCP channel serves desktop clients, while the Swing application supports device pairing, plant metadata editing, charts and historical data.
- Separate TCP listeners for devices and user applications.
- Reading history persisted in CSV files.
- LIST, GET, HISTORY and EXPORT commands in a custom text protocol.
- Temperature, air and soil humidity, lux and light color measurements.
- Two firmware sketches for physical ESP32 sensor sets.
Evolution into PlantFlow
Plant Climate validated the sensors, data transmission and the basic monitoring model. The same devices later moved into PlantFlow, where the solution gained web and mobile applications, an API, a database and irrigation control.
Result
The project delivered a complete Java and ESP32 prototype and verified device communication in practice. It became the technical predecessor to the larger PlantFlow system.


