The Environmental Monitoring System is a project designed to track environmental parameters such as air quality, temperature, and humidity, predict pollution trends, and alert users in real-time. By leveraging IoT devices (simulated via frontend inputs), machine learning, and web technologies, this project aims to empower communities to respond proactively to environmental changes.
-
Real-Time Monitoring:
- Simulates IoT devices by accepting environmental data input from the frontend.
- Monitors air quality, temperature, and humidity.
-
Machine Learning:
- Random Forest Classifier for AQI bucket prediction based on input parameters.
- Future-ready for time-series forecasting, anomaly detection, and clustering for advanced use cases.
-
Web-Based Dashboard:
- A React-based frontend for users to input environmental parameters and view predictions and alerts.
-
Scalability:
- Designed to integrate IoT devices (e.g., Arduino, ESP32) for live data collection.
- Flask API for seamless integration between ML models and the web interface.
-
Frontend (React):
- Accepts environmental parameter inputs (e.g., air quality, temperature, humidity).
- Displays predictions and real-time alerts.
-
Backend (Flask):
- Exposes an API to handle requests from the frontend.
- Hosts the trained Random Forest Classifier ML model for AQI predictions.
-
Machine Learning:
- Processes the input data to predict the Air Quality Index (AQI) bucket.
- Future-ready for additional ML models like time-series forecasting.
-
IoT Devices (Simulated):
- Environmental parameter inputs are manually provided via the frontend to simulate IoT-enabled devices.
- Python 3.8 or above
- Node.js and npm
- Flask
- React
flask-cors
for handling cross-origin requests- Required Python libraries:
pandas
,scikit-learn
,flask
,flask-cors
-
Clone the repository:
git clone https://github.com/YuvaSriSai18/Environment_Monitoring_System.git
-
Frontend Setup :
cd client npm install npm run dev
- Open the React application.
- Input environmental parameters (air quality, temperature, humidity).
- Submit the data to receive the predicted AQI bucket and alerts.
-
- Input data:
{ "PM2.5": 60, "PM10": 100, "Temperature": 35, "Humidity": 50 }
- Sends the data via a POST request to the Flask API.
- Input data:
-
- Flask receives the input data.
Random Forest Classifier predicts the AQI bucket (e.g., "Moderate"). - The prediction is sent back to the frontend.
-
- Displays the predicted AQI bucket and any associated alerts.
Frontend
: ReactBackend
: Flask with Flask-CORS , Express JSMachine Learning
: Scikit-learn (Random Forest Classifier)IoT Hardware
: ESP32 , MQ2 , MQ6 MQ7 , MQ8
The Environmental Monitoring System provides real-time environmental insights, empowering communities to:
1. Take proactive measures against pollution.
2. Monitor air quality and weather conditions.
3. Stay informed about their environment for better decision-making