๐ Dashboard
Realtime Air Quality Monitoring Based on ESP32 IoT
CO Level
--
ppm
0โ50 ppmโ Stable
CO2 Level
--
ppm
400โ2000โ Stable
PM2.5 Dust
--
ยตg/mยณ
0โ150โ Stable
Temperature
--
ยฐC
0โ50 ยฐCโ Stable
Humidity
--
%
0โ100 %โ Stable
Air Quality
--
LED Indicator
SAFE
Normal air quality
OFF
WARNING
Elevated pollutants
OFF
DANGER
Hazardous โ alarm!
OFF
Last Update
--
Record ID
--
Device
โณ Connecting
Database
โณ Checking
Refresh
๐ 5s Auto
Realtime 5-Sensor Overview
CO ยท CO2 ยท PM2.5 ยท Temperature ยท Humidity โ Riwayat 20 data terakhir
CO
CO2/100
PM2.5
Temp
Hum
LIVE
๐ Analytics
Sensor trend analysis โ pilih sensor dan rentang waktu
CO Carbon Monoxide
--
ppm ยท MQ7 Sensor
Min: --
Max: --
Avg: --
CO2 Carbon Dioxide
--
ppm ยท MQ135 Sensor
Min: --
Max: --
Avg: --
PM2.5 Fine Particles
--
ยตg/mยณ ยท Dust Sensor
Min: --
Max: --
Avg: --
Temperature
--
ยฐC ยท DHT11 Sensor
Min: --
Max: --
Avg: --
Humidity
--
% ยท DHT11 Sensor
Min: --
Max: --
Avg: --
Sensor Trend Chart
Pilih sensor dan rentang waktu
Minimum
โ
Maximum
โ
Average
โ
Trend
โ
๐ Data Logs
Historical sensor data โ filter, search, and export
| No | Waktu | CO (ppm) | CO2 (ppm) | PM2.5 (ยตg/mยณ) | Suhu (ยฐC) | Kelembapan (%) | Status |
|---|---|---|---|---|---|---|---|
| Memuat data dari database... | |||||||
๐ค Export Data
Download sensor data dalam berbagai format
๐
Export PDF
Formatted report dengan tabel data sensor.
๐
Export Excel
Spreadsheet dengan seluruh kolom data.
๐๏ธ
Export CSV
Raw CSV untuk keperluan data processing.
๐ก PHP API Endpoint
<?php
// get_data.php โ letakkan di public_html Hostinger
header("Content-Type: application/json");
header("Access-Control-Allow-Origin: *");
$conn = new mysqli("localhost","your_user","your_pass","your_db");
$limit = isset($_GET['limit']) ? intval($_GET['limit']) : 1;
$range = isset($_GET['range']) ? $_GET['range'] : '';
if($range === '1h') $where = "WHERE waktu >= NOW() - INTERVAL 1 HOUR";
elseif($range === '24h') $where = "WHERE waktu >= NOW() - INTERVAL 24 HOUR";
elseif($range === '7d') $where = "WHERE waktu >= NOW() - INTERVAL 7 DAY";
elseif($range === '30d') $where = "WHERE waktu >= NOW() - INTERVAL 30 DAY";
else $where = "";
$sql = "SELECT * FROM data_sensor $where ORDER BY waktu DESC LIMIT $limit";
$res = $conn->query($sql);
$rows = [];
while($r = $res->fetch_assoc()) $rows[] = $r;
// Jika limit=1 kembalikan single object, selain itu array
if($limit === 1 && count($rows) === 1) echo json_encode($rows[0]);
else echo json_encode(["status"=>"ok","data"=>$rows]);
$conn->close();
?>
โน๏ธ About System
Hardware, software, dan informasi sistem
๐ System Identity
๐ฌ๏ธ
Air Quality Monitoring System
IoT-Based Realtime Environmental Monitor
ESP32MySQLPHP REST API
Bootstrap 5ApexChartsFetch API
๐ MySQL Schema
CREATE TABLE data_sensor (
id INT AUTO_INCREMENT PRIMARY KEY,
co FLOAT NOT NULL,
co2 FLOAT NOT NULL,
pm FLOAT NOT NULL,
suhu FLOAT NOT NULL,
kelembapan FLOAT NOT NULL,
waktu DATETIME NOT NULL,
status ENUM('SAFE','WARNING','DANGER')
);
๐ง Hardware Components
ESP32 DevKit V1Main Microcontroller
MQ7 SensorCO Detection (ppm)
MQ135 SensorCO2 / Air Quality
Dust Sensor GP2Y1010PM2.5 (ยตg/mยณ)
DHT11 SensorTemperature & Humidity
LCD 20ร4 I2CLocal Display
BuzzerAudio Alert (DANGER)
LED Indicator (RGB)Green/Yellow/Red
โ๏ธ Thresholds
๐ข SAFE
CO<9
COโ<800
PM2.5<35
COโ<800
PM2.5<35
๐ก WARNING
CO 9โ35
COโ 800โ1500
PM2.5 35โ75
COโ 800โ1500
PM2.5 35โ75
๐ด DANGER
CO>35
COโ>1500
PM2.5>75
COโ>1500
PM2.5>75