Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

IoT-Based Air Quality & Pollution Monitoring Dashboard

πŸ“Œ Project Overview

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.


πŸ“Š Results & Outputs

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.


πŸ”Ή Environmental Telemetry Generation

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.


πŸ”Ή AQI Computation & Pollution Analysis

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.


πŸ”Ή ThingSpeak Cloud Dashboard

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.


πŸ”Ή Streamlit Analytics Dashboard

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.


πŸ”Ή Historical Dataset Generation

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

πŸ”Ή Automated TXT Report Generation

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.


πŸ”Ή Automated PDF Report Generation

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.


πŸ”Ή ESP32 Hardware Deployment Support

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.


πŸ”Ή Automated Testing Framework

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.


πŸ›  Tools & Technologies

Programming & Development

  • Python
  • C++
  • Arduino Framework

IoT & Embedded Systems

  • ESP32
  • DHT22 Sensor
  • MQ Gas Sensor

Cloud Platforms

  • ThingSpeak

Dashboard & Visualization

  • Streamlit
  • Plotly
  • Matplotlib

Data Processing

  • Pandas
  • NumPy

Reporting

  • TXT Report Generation
  • PDF Report Generation

Testing & Quality Assurance

  • Pytest
  • Automated Unit Testing

Documentation

  • Markdown
  • Technical Documentation

▢️ How to Run

1. Clone Repository

git clone <repository-url>
cd IoT-Air-Quality-Pollution-Monitoring-Dashboard

2. Create Virtual Environment

python -m venv venv

Activate:

Windows:

venv\Scripts\activate

Linux/macOS:

source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure Environment Variables

Create:

.env

Update:

THINGSPEAK_CHANNEL_ID=YOUR_CHANNEL_ID
THINGSPEAK_API_KEY=YOUR_API_KEY

SIMULATION_INTERVAL=5
CLOUD_UPLOAD_INTERVAL=15

5. Run the Simulator

python -m simulation.main

The 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

6. Launch Streamlit Dashboard

streamlit run dashboard/streamlit/app.py

The dashboard provides:

  • Live Air Quality Monitoring
  • Historical Data Analysis
  • Report Visualization
  • Environmental Trend Monitoring

7. Run Automated Tests

Run the complete test suite:

pytest tests/ -v

Expected result:

101 passed

πŸ“‚ Project Structure

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

πŸ“Œ Key Highlights

  • 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

πŸ“Œ Author

Akash Das


⭐ If you found this project useful, consider giving the repository a star.

About

End-to-end IoT Air Quality Monitoring System featuring AQI analytics, ESP32 deployment support, ThingSpeak cloud integration, Streamlit dashboards, automated reporting, and environmental alert detection.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages