This project implements an IoT-based environmental monitoring platform designed to measure, analyze, visualize, and report air quality conditions in real time.
The system simulates a complete air quality monitoring workflow commonly used in:
- Smart Cities
- Industrial Safety Systems
- Environmental Monitoring Stations
- Public Health Monitoring Programs
- Educational and Research Laboratories
The project supports both:
- A Python-based virtual sensor simulation environment
- An ESP32-based hardware deployment architecture
allowing development, testing, and demonstration without requiring physical hardware while still remaining deployment-ready.
The platform continuously monitors:
- Temperature
- Humidity
- Gas Concentration (PPM)
- Air Quality Index (AQI)
- Pollution Status
- Alert Conditions
The complete monitoring pipeline follows:
Environmental Conditions
β
Sensor Measurements
β
AQI Calculation Engine
β
Pollution Classification
β
Alert Detection
β
CSV Data Logging
β
ThingSpeak Cloud Upload
β
Streamlit Dashboard Visualization
β
Automated Report Generation
This reflects industry-grade IoT monitoring architectures used in modern environmental analytics platforms.
This section summarizes the key outputs generated by the simulator, cloud platform, reporting engine, and dashboard components.
All outputs are automatically stored in their respective project directories.
Generated environmental parameters:
- Temperature (Β°C)
- Humidity (%)
- Gas Concentration (PPM)
- Air Quality Index (AQI)
- Pollution Status
- Alert Status
The simulator generates realistic environmental conditions using:
- Random atmospheric fluctuations
- Controlled environmental variability
- Pollution event simulation
- Hazardous air quality scenarios
This enables realistic testing without requiring physical sensors.
Generated outputs:
- Air Quality Index (AQI)
- Pollution Category
- Alert Classification
Supported AQI categories:
- Good
- Moderate
- Poor
- Hazardous
The system automatically converts gas concentration measurements into AQI values and corresponding environmental health categories.
Example output:
AQI: 48
Status: Good
Alert: False
AQI: 177
Status: Poor
Alert: True
AQI: 425
Status: Hazardous
Alert: True
This simulates how commercial air quality monitoring systems classify environmental conditions.
Generated cloud visualizations:
- Temperature Trends
- Humidity Trends
- Gas Concentration Monitoring
- AQI Monitoring
- Pollution Status Tracking
- Alert Status Monitoring
Configuration:
dashboard/thingspeak/channel_setup.md
The cloud dashboard enables remote monitoring of environmental conditions from any internet-connected device.
The project includes an interactive dashboard containing:
- Live Air Quality Monitoring
- Historical Data Analysis
- Environmental Trend Visualization
- Report Generation Interface
Dashboard pages:
- Live Monitor
- Historical Analysis
- Report Generator
This simulates a real-world environmental analytics dashboard used by operators, researchers, and decision-makers.
Generated dataset:
data/raw/air_quality_report.csv
The dataset stores:
- Timestamped environmental readings
- AQI measurements
- Pollution classifications
- Alert events
The generated dataset can be used for:
- Environmental analytics
- Data science projects
- Machine learning experiments
- Time-series forecasting studies
Generated report:
outputs/reports/air_quality_report.txt
Report contents include:
- Dataset Summary
- Environmental Statistics
- AQI Analysis
- Pollution Distribution
- Alert Statistics
- Environmental Assessment
Useful for quick review and documentation purposes.
Generated report:
outputs/reports/air_quality_report.pdf
The PDF report provides:
- Air Quality Monitoring Summary
- Environmental Statistics
- Pollution Analysis
- Alert Activity Summary
- Environmental Risk Assessment
Suitable for project demonstrations, documentation, and stakeholder reporting.
The repository includes complete firmware for deployment on:
- ESP32 Development Board
- DHT22 Sensor
- MQ-Series Gas Sensor
Provided files:
- Sensor drivers
- AQI calculation logic
- Cloud communication layer
- Complete firmware application
This allows seamless migration from virtual simulation to real-world hardware deployment.
The project includes a dedicated testing framework covering all major system components.
Test coverage includes:
- AQI Engine
- Environmental Simulator
- Data Logger
- ThingSpeak Client
- Configuration System
- Report Generator
Test Results:
101 Automated Tests Passed
This provides confidence in system correctness, reliability, and maintainability.
- Python
- C++
- Arduino Framework
- ESP32
- DHT22 Sensor
- MQ Gas Sensor
- ThingSpeak
- Streamlit
- Plotly
- Matplotlib
- Pandas
- NumPy
- TXT Report Generation
- PDF Report Generation
- Pytest
- Automated Unit Testing
- Markdown
- Technical Documentation
git clone <repository-url>
cd IoT-Air-Quality-Pollution-Monitoring-Dashboardpython -m venv venvActivate:
Windows:
venv\Scripts\activateLinux/macOS:
source venv/bin/activatepip install -r requirements.txtCreate:
.env
Update:
THINGSPEAK_CHANNEL_ID=YOUR_CHANNEL_ID
THINGSPEAK_API_KEY=YOUR_API_KEY
SIMULATION_INTERVAL=5
CLOUD_UPLOAD_INTERVAL=15python -m simulation.mainThe simulator will:
- Generate environmental telemetry
- Calculate AQI values
- Classify pollution levels
- Detect alert conditions
- Log environmental data
- Upload telemetry to ThingSpeak
- Generate TXT reports
- Generate PDF reports
streamlit run dashboard/streamlit/app.pyThe dashboard provides:
- Live Air Quality Monitoring
- Historical Data Analysis
- Report Visualization
- Environmental Trend Monitoring
Run the complete test suite:
pytest tests/ -vExpected result:
101 passed
IoT-Air-Quality-Pollution-Monitoring-Dashboard/
β
βββ README.md
βββ LICENSE
βββ requirements.txt
βββ .gitignore
βββ .env
βββ .env.example
βββ setup.py
β
βββ simulation/
βββ dashboard/
βββ arduino_code/
βββ data/
βββ outputs/
βββ circuit_diagram/
βββ docs/
βββ tests/
Detailed repository structure:
IoT-Air-Quality-Pollution-Monitoring-Dashboard/
β
βββ simulation/ # Environmental simulation engine
βββ dashboard/ # Streamlit and ThingSpeak dashboards
βββ arduino_code/ # ESP32 firmware implementation
βββ data/ # Raw and processed datasets
βββ outputs/ # Reports and generated outputs
βββ circuit_diagram/ # Hardware diagrams and schematics
βββ docs/ # Technical documentation
βββ tests/ # Automated test suite
- End-to-End IoT Air Quality Monitoring Pipeline
- Real-Time Environmental Telemetry Generation
- AQI Calculation & Pollution Classification Engine
- ThingSpeak Cloud Dashboard Integration
- Streamlit Analytics Dashboard
- Historical Environmental Data Logging
- Automated TXT Report Generation
- Automated PDF Report Generation
- ESP32 Hardware Deployment Support
- Modular Project Architecture
- Industry-Inspired Folder Structure
- Dedicated Technical Documentation
- Complete Hardware & Simulation Workflow
- Cloud-Ready Monitoring System
- Automated Testing Framework
- 101 Passing Unit Tests
- Beginner-Friendly Yet Industry-Oriented Design
Akash Das