Skip to content

ananthu-pm/IIoT-Environmental-Monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏭 IIoT Environmental Monitoring Dashboard

A professional Industrial IoT environmental monitoring system for an ESDM factory with 20 rooms, featuring real-time temperature and humidity tracking.

Dashboard ESP32 MQTT License


πŸ“‹ Overview

Component Description
Firmware Arduino/C++ sketch for ESP32 + SHT85 sensor
Dashboard Standalone HTML/JS web dashboard (zero build step)
Protocol MQTT with Last Will & Testament (LWT)
Rooms 20 independently monitored zones

πŸ”§ Hardware Stack

  • MCU: 20Γ— ESP32 DevKit v1
  • Sensor: Sensirion SHT85 (I2C) β€” Β±0.1Β°C / Β±1.5% RH accuracy
  • Protocol: MQTT over Wi-Fi
  • Publish Rate: Every 5 seconds per node

πŸ–₯️ Dashboard Features

Home View

  • 20 Room Cards in a responsive grid layout
  • Live Temperature & Humidity with sparkline trend graphs
  • Connection Status β€” animated green (online) / red (offline) indicators
  • Alert Coloring β€” cards pulse red when temp > 30Β°C or humidity > 60%
  • System Overview Header β€” average temp, average humidity, online count, alert count

Interactive Stat Panels

Click any header stat badge to view:

  • Avg Temp β†’ All rooms sorted by temperature (alerts in red at top)
  • Avg Humidity β†’ All rooms sorted by humidity (alerts in red at top)
  • Online β†’ Offline rooms in red at top, online in green below
  • Alerts β†’ Only rooms with active alerts

Room Detail View

Click any room card for a full-screen view with:

  • Large current temperature & humidity readings
  • Historical charts with time-range tabs: 1HR, 24HR, 1W, 1M, 1Y, 3Y, ALL
  • Interactive tooltips β€” hover to see exact value + timestamp
  • X-axis time labels and Y-axis value labels
  • Realistic simulated data with daily & seasonal cycles

Navigation

Action Method
Switch rooms ← β†’ arrow keys or on-screen buttons
Go home Backspace, Escape, Home button, or trackpad back gesture
Browser back Full History API support

πŸš€ Quick Start

Dashboard (No Installation Required)

# Just open in your browser β€” no server needed!
open dashboard/index.html

The dashboard runs with simulated MQTT data out of the box for demo purposes.

ESP32 Firmware

  1. Install Libraries (Arduino Library Manager):

    • PubSubClient β€” MQTT client
    • ArduinoJson β€” JSON serialization
    • arduino-sht β€” Sensirion SHT sensor driver
  2. Configure β€” edit these constants in esp32_sht85_mqtt.ino:

    static const char* WIFI_SSID     = "YOUR_WIFI_SSID";
    static const char* WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";
    static const char* MQTT_BROKER   = "192.168.1.100";
    static const char* ROOM_ID       = "Room_1";  // Change per node
  3. Flash via Arduino IDE or PlatformIO to each ESP32.


πŸ“‘ MQTT Payload Format

Topic: factory/env/Room_X

Online Message (published every 5s):

{
  "room": "Room_1",
  "temp": 24.50,
  "hum": 45.20,
  "status": "online"
}

Last Will & Testament (auto-published on disconnect):

{
  "room": "Room_1",
  "status": "offline"
}

πŸ“ Project Structure

IIoT-Environmental-Monitor/
β”œβ”€β”€ dashboard/
β”‚   β”œβ”€β”€ index.html              # Web dashboard (HTML + Tailwind CSS)
β”‚   └── app.js                  # Application logic & chart rendering
β”œβ”€β”€ firmware/
β”‚   └── esp32_sht85_mqtt.ino    # ESP32 Arduino sketch
└── README.md

πŸ› οΈ Tech Stack

Layer Technology
Frontend HTML5, Vanilla JS, Tailwind CSS v3 (CDN)
Icons Lucide Icons (CDN)
Fonts Inter (Google Fonts)
Charts Custom SVG sparklines & interactive charts
Firmware Arduino/C++ (ESP32)
Sensor Sensirion SHT85 via I2C
Protocol MQTT (PubSubClient)
Serialization ArduinoJson

πŸ“œ License

This project is licensed under the MIT License.


Built for Industrial IoT Excellence 🏭

About

πŸš€ Real-time Industrial IoT monitoring system for environmental parameters. Bridge the gap between physical sensors and actionable industrial insights. 🏭

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors