Back to Portfolio
FINAL PROJECT

Smart Plant Monitoring (PIF) 59/60

Final project: Full IoT system with ESP8266 nodes, Raspberry Pi hub, web dashboard, enterprise networking, and automated backups.

The "Plantimeter" System

This was my PIF (Projet Intégré Final) — the capstone project for my Computer Technician diploma. I built a complete IoT plant monitoring and automation system from scratch: hardware nodes, firmware, backend server, web dashboard, and enterprise networking.

Sensor Node

ESP8266 / Wemos D1 Mini
Custom PCB
Wi-Fi + SQL

Measures soil moisture, temperature, humidity, and light. Controls water pump and grow LED. Authenticates via MAC address and syncs with the hub.

[DHT22] [BH1750] [SEN0193] [ULN2803]
ESP8266 Sensor Node with Wemos D1 Mini, sensors, and LED light stand

ESP8266 Sensor Node: Wemos D1 Mini with DHT22, BH1750, SEN0193 sensors and LED grow light

Hub Server

Raspberry Pi 4 / FullpageOS
Touchscreen
LAMP Stack

Runs Apache, PHP, MariaDB. Hosts admin dashboard, touch UI for kiosk mode, and log API. Handles task scheduling and node management.

[APACHE] [MARIADB] [PHP] [SSL]
Raspberry Pi 4 with touchscreen display showing the Plantimeter dashboard

Raspberry Pi 4 Hub Server with touchscreen display running the kiosk mode interface

Backup Server

Ubuntu Server VM / RAID1
2× 30GB
Mirrored

Receives daily backups via rsync over SSH. Stores database dumps, logs, and web content with 30-day rotation.

[RAID1] [RSYNC] [CRON] [UFW]

What It Does

The system automates plant care and provides real-time monitoring:

  • Environmental Sensing: Measures soil moisture, air temperature, humidity, and ambient light using calibrated sensors.
  • Automated Watering: Triggers the water pump based on soil moisture thresholds or scheduled tasks.
Automated water dropping mechanism for plant irrigation

Automated watering system: Water pump mechanism controlled by soil moisture sensors

  • Grow Light Control: Activates 1W LED when light levels drop below optimal range.
  • Web Dashboard: Admin panel with real-time charts (ApexCharts), task scheduling, user management, and plant variations.
  • Dynamic Backend: PHP API-driven architecture for real-time updates, log history viewer, and seamless data management.
  • User Experience: Login security, separated user/admin views, fuzzy search throughout, and modals for improved workflow.
  • Touch Kiosk UI: Optimized interface for the Raspberry Pi touchscreen display, designed for better usability despite the small screen size.

The Network

I designed and configured a complete enterprise-style network in Cisco Packet Tracer:

Cisco Packet Tracer network topology showing VLANs, routers, and network architecture

Network topology in Cisco Packet Tracer: Enterprise network with VLANs, routers, and security configurations

  • Firmennetzwerk: VLANs (10/20), DHCP server, ISR4331 router with NAT/PAT and ACLs.
  • Heimnetzwerk: Separate WLAN for nodes (PlantimeterAP) with WPA2-PSK, routed to the firm network.
  • ISP Simulation: Dedicated router simulating internet provider with DNS (Google 8.8.8.8) and fiber link.
  • Security: Port-based ACLs, NAT for web/FTP access, proper routing tables.
  • Gigabit Architecture: Designed the entire network for Gigabit speeds. When a required router couldn't connect directly to the correct interface, I implemented a copper-to-fiber converter bridge to maintain full Gigabit throughput, demonstrating problem-solving and understanding of network speed requirements.

Why I Built It

This was my final exam project for the Computer Technician diploma. It had to demonstrate skills across hardware, software, networking, and documentation. I chose to go beyond the requirements — implementing "Should" and "Could" features, plus my own innovations like fuzzy search and a 80°C safety cutoff.

The project was developed in sprints (A1–A7 for hardware/firmware, L1–L7 for server/network), each with clear goals, tests, and documented difficulties. The final documentation was over 100 pages.

Lessons Learned

  • Hardware debugging is humbling — Swapped resistors, wrong pin soldering, and sensor calibration taught me patience and attention to detail.
  • Full-stack means full responsibility — From PCB to PHP, every layer had to work together. One bug anywhere breaks everything.
  • Documentation is a skill — Writing 100+ pages of structured documentation with user stories, diagrams, and test results was as challenging as the code.
  • Security matters from day one — Fail2Ban, SSL, UFW, prepared statements — I learned to think about security at every layer.