Complete IoT System for Environmental and Agricultural Monitoring
Academic project developed as a team using Agile methodologies (Scrum), implementing a full IoT system: from hardware sensors to cross-platform mobile app, including a REST API and database.
The Challenge
Farmers and environmental managers need real-time data about terrain conditions (temperature, humidity, luminosity, air quality) to make informed decisions. Existing commercial solutions are expensive and proprietary. The challenge was to build an accessible, complete IoT system covering all layers: hardware, backend, frontend, and mobile.
My Role
As Full Stack IoT Developer, I contributed across all three system layers:
- Programmed Arduino/ESP32 microcontrollers for sensor data capture and transmission
- Designed and implemented the RESTful API in Node.js with Express
- Developed the cross-platform application in Ionic with TypeScript
- Configured the MySQL database for historical data storage
- Implemented real-time communication via WebSockets
Multi-platform Architecture
The system is divided into three independent repositories:
- Hardware (Arduino + C++): Proyecto3A-Arduino — Sensor network with ESP32/Arduino
- Backend (Node.js + Express): Proyecto3A-Server — RESTful API in JavaScript
- Frontend (Ionic + TypeScript): Proyecto3A-Webapp — Cross-platform app
Technical Approach
Hardware layer:
- Arduino / ESP32 microcontrollers
- Environmental sensors: temperature, humidity, luminosity, air quality
- WiFi / Bluetooth connectivity for data transmission
Backend layer:
- Node.js with Express.js as REST API
- MySQL for historical measurement storage
- WebSockets for bidirectional real-time communication
Frontend layer:
- Ionic (Angular) for cross-platform app (Web, iOS, Android)
- Customizable dashboards with historical charts and trends
- Automatic alerts based on configurable thresholds
- Offline synchronization and push notifications
Development Methodology
- Scrum with documented sprints
- Team of 3 developers collaborating
- Git with branch workflow (develop, feature branches)
- Technical documentation with UML diagrams
Outcome
Functional IoT system demonstrating the viability of accessible solutions for real-time environmental monitoring, data-driven decision making, and agricultural resource optimization.