https://github.com/azzycode/iot-sensor-dashboard
Real-time IoT dashboard using ESP8266, MQTT, Flask to monitor and visualize sensor data securely.
https://github.com/azzycode/iot-sensor-dashboard
dashboard embedded-systems esp8266 flask iot mqtt raspberrypi sensor-data
Last synced: about 2 months ago
JSON representation
Real-time IoT dashboard using ESP8266, MQTT, Flask to monitor and visualize sensor data securely.
- Host: GitHub
- URL: https://github.com/azzycode/iot-sensor-dashboard
- Owner: AzzyCode
- Created: 2025-05-28T20:46:02.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-05-28T21:09:27.000Z (12 months ago)
- Last Synced: 2025-06-19T13:12:18.530Z (11 months ago)
- Topics: dashboard, embedded-systems, esp8266, flask, iot, mqtt, raspberrypi, sensor-data
- Language: Python
- Homepage:
- Size: 952 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IoT Real-Time Sensor Dashboard
IoT monitoring system that collects environmental data from sensor and displays it through a web-based dashboard with real-time visualization. This project demonstrates full-stack IoT development, from embedded hardware programming to web application deployment.
## 🌟 Project Overview
This system monitors environmental conditions (temperature and humidity) using ESP8266 microcontrollers with DHT11 sensors, transmitting data wirelessly via MQTT protocol to a Raspberry Pi 4 server. The data is stored in a MariaDB database and displayed through a responsive Flask web application with real-time charts and user authentication.
## ✨ Key Features
- **Real-time sensor data collection** from multiple ESP8266 nodes
- **Wireless communication** using secure MQTT over TLS
- **Live data visualization** with interactive Chart.js graphs
- **User authentication system** with secure login/logout
- **Responsive web interface** optimized for desktop and mobile
- **Automatic data logging** to database with error handling
- **Network-accessible dashboard** for remote monitoring
- **SSL/TLS encryption** for secure web communications
## 🛠️ Technologies Used
### Hardware
- **ESP8266 WiFi microcontrollers** - Sensor nodes
- **DHT11 sensors** - Temperature and humidity measurement
- **Raspberry Pi 4** - Server and database host
## 🏃♂️ Running the Project
1. **Start the MQTT listener:**
```bash
python3 MQTT_server.py
```
2. **Launch the web application:**
```bash
python3 app.py
```
3. **Access the dashboard:**
- Open browser to `https://[raspberry-pi-ip]:5001`
- Create user account or login
- View real-time sensor data and graphs
4. **Power on ESP8266 sensors:**
- Sensors will automatically connect and start transmitting data
- Data updates every 10 seconds
## 📊 System Architecture
```
[ESP8266 + DHT11] --WiFi--> [MQTT Broker] ---> [Python MQTT Client]
|
[Web Dashboard] <--HTTP/HTTPS-- [Flask App] <-- [MariaDB Database]
```
## 🎯 Challenges & Learning Outcomes
**Technical Challenges Solved:**
- Implemented secure MQTT communication with TLS certificates
- Handled real-time data synchronization between system components
- Designed UI with live chart updates without page refresh
- Managed network configuration for cross-device communication
**Key Learning:**
- IoT system architecture and communication protocols
- Full-stack web development with real-time features
- Database design for time-series sensor data
- Network security implementation in IoT environments
- Embedded programming and sensor integration
## 🤝 Project Context
This project was developed as part of an international university collaboration, demonstrating cross-cultural teamwork and technical knowledge sharing in IoT system development.
## 📝 License
This project is available under the MIT License. See LICENSE file for details.
---