A comprehensive dashboard for monitoring and analyzing water quality sensor data. This project includes data generation, visualization, and analysis tools for pH, temperature, conductivity, dissolved oxygen, and turbidity measurements.
- Data Generation: Realistic sensor data generation with configurable parameters
- Interactive Dashboards: 5 different dashboards for comprehensive monitoring
- Overview Dashboard: High-level summary of all sensors
- Sensor Detail Dashboard: Detailed analysis of individual sensors
- Trend Analysis Dashboard: Time series analysis and pattern detection
- Anomaly Detection Dashboard: Identification of unusual readings
- Maintenance Dashboard: Calibration schedules and sensor health monitoring
- Clone this repository:
git clone https://github.com/yourusername/sensor-dashboard.git
cd sensor-dashboard
- Install the required dependencies:
pip install -r requirements.txt
- Run the Streamlit application:
cd app
streamlit run app.py
-
The application will automatically generate sample data if none exists.
-
Navigate through the different dashboards using the sidebar.
sensor-dashboard/
├── app/
│ ├── data/ # Directory for storing generated CSV files
│ ├── dashboards/ # Dashboard modules
│ │ ├── overview.py # Overview dashboard
│ │ ├── sensor_detail.py # Sensor detail dashboard
│ │ ├── trend_analysis.py # Trend analysis dashboard
│ │ ├── anomaly_detection.py # Anomaly detection dashboard
│ │ ├── maintenance.py # Maintenance dashboard
│ │ └── __init__.py # Package initialization
│ ├── app.py # Main Streamlit application
│ └── data_generator.py # Data generation module
├── requirements.txt # Project dependencies
└── README.md # Project documentation
The data_generator.py
module generates realistic sensor data with the following parameters:
- pH (0-14 scale)
- Temperature (°C)
- Conductivity (μS/cm)
- Dissolved Oxygen (mg/L)
- Turbidity (NTU)
The data includes daily and weekly patterns, random fluctuations, and occasional anomalies to simulate real-world conditions.
Provides a high-level summary of all sensors, including a map view, latest readings, and daily trends.
Offers detailed analysis of individual sensors, including time series data, hourly patterns, correlations between parameters, and statistical analysis.
Enables time series analysis, seasonal pattern detection, correlation analysis, and trend detection using statistical methods.
Implements multiple anomaly detection methods (Z-score, IQR, Rolling Z-score) to identify unusual readings in the sensor data.
Tracks calibration schedules, sensor health, and maintenance history to ensure optimal sensor performance.
This application can be deployed to AWS using various services:
- Amazon EC2: Deploy as a standalone application
- AWS Elastic Beanstalk: Simplified deployment and scaling
- AWS App Runner: Fully managed service for containerized applications
This project is licensed under the MIT License - see the LICENSE file for details.