Borrado de html antiguo
parent
943d032056
commit
bb78bda6cf
@ -1,147 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Air Quality Monitor</title>
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400&display=swap" rel="stylesheet">
|
|
||||||
<style>
|
|
||||||
/* General Styles */
|
|
||||||
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Roboto', sans-serif; }
|
|
||||||
body { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f5f5f5; color: #333; height: 100vh; }
|
|
||||||
|
|
||||||
h1 { font-size: 2em; color: #444; margin-bottom: 20px; }
|
|
||||||
|
|
||||||
/* Container for Sensors */
|
|
||||||
.sensor-container {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 20px;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 800px;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sensor Box */
|
|
||||||
.sensor {
|
|
||||||
background: #fff;
|
|
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
||||||
border-radius: 10px;
|
|
||||||
width: 180px;
|
|
||||||
padding: 20px;
|
|
||||||
text-align: center;
|
|
||||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
||||||
}
|
|
||||||
.sensor:hover { transform: scale(1.05); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); }
|
|
||||||
|
|
||||||
/* Sensor Titles */
|
|
||||||
.sensor-title {
|
|
||||||
font-weight: 400;
|
|
||||||
color: #555;
|
|
||||||
font-size: 1.2em;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sensor Value */
|
|
||||||
.sensor-value {
|
|
||||||
font-size: 2.5em;
|
|
||||||
font-weight: 300;
|
|
||||||
color: #333;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
animation: fadeIn 0.5s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unit { font-size: 0.8em; color: #777; }
|
|
||||||
|
|
||||||
/* Icon Styles */
|
|
||||||
.sensor-icon {
|
|
||||||
width: 30px;
|
|
||||||
height: 30px;
|
|
||||||
margin-right: 8px;
|
|
||||||
filter: grayscale(50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Keyframes for Smooth Animations */
|
|
||||||
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>Room Air Quality Monitor</h1>
|
|
||||||
<div class="sensor-container">
|
|
||||||
<div id="temperature" class="sensor">
|
|
||||||
<div class="sensor-title">
|
|
||||||
<img src="./images/thermometer-outline.svg" class="sensor-icon" alt="Temperature Icon">
|
|
||||||
Temperature
|
|
||||||
</div>
|
|
||||||
<div class="sensor-value" id="temp-value">--</div>
|
|
||||||
<div class="unit">℃</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="humidity" class="sensor">
|
|
||||||
<div class="sensor-title">
|
|
||||||
<img src="./images/water-outline.svg" class="sensor-icon" alt="Humidity Icon">
|
|
||||||
Humidity
|
|
||||||
</div>
|
|
||||||
<div class="sensor-value" id="humidity-value">--</div>
|
|
||||||
<div class="unit">%</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="co2" class="sensor">
|
|
||||||
<div class="sensor-title">
|
|
||||||
<img src="./images/cloud-outline.svg" class="sensor-icon" alt="CO2 Icon">
|
|
||||||
CO₂
|
|
||||||
</div>
|
|
||||||
<div class="sensor-value" id="co2-value">--</div>
|
|
||||||
<div class="unit">ppm</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="pressure" class="sensor">
|
|
||||||
<div class="sensor-title">
|
|
||||||
<img src="./images/sunny-outline.svg" class="sensor-icon" alt="Pressure Icon">
|
|
||||||
Pressure
|
|
||||||
</div>
|
|
||||||
<div class="sensor-value" id="pressure-value">--</div>
|
|
||||||
<div class="unit">hPa</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
async function fetchData() {
|
|
||||||
try {
|
|
||||||
const res = await Promise.all([
|
|
||||||
//fetch("./data/BH1750.json"),
|
|
||||||
//fetch("./data/BMP180.json"),
|
|
||||||
fetch("./data/HTU21D.json"),
|
|
||||||
//fetch("./data/MH_Z19.json")
|
|
||||||
]);
|
|
||||||
|
|
||||||
const data = (await Promise.all(res.map(r => r.json()))).reduce((acc, item) => ({ ...acc, ...item }), {});
|
|
||||||
return data;
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Failed to fetch sensor data:", error);
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateUI(data) {
|
|
||||||
document.getElementById("temp-value").textContent = data.temperature ? data.temperature.toFixed(1) : "--";
|
|
||||||
document.getElementById("humidity-value").textContent = data.humidity ? data.humidity.toFixed(1) : "--";
|
|
||||||
document.getElementById("co2-value").textContent = data.co2 ? data.co2 : "--";
|
|
||||||
document.getElementById("pressure-value").textContent = data.pressure ? data.pressure.toFixed(1) : "--";
|
|
||||||
}
|
|
||||||
|
|
||||||
async function refreshData() {
|
|
||||||
const data = await fetchData();
|
|
||||||
updateUI(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
setInterval(refreshData, 6000); // Refresh every 60 seconds
|
|
||||||
refreshData(); // Initial fetch
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Simple Sensor Dashboard</title>
|
|
||||||
<style>
|
|
||||||
body { font-family: Arial, sans-serif; text-align: center; }
|
|
||||||
.sensor { margin: 10px; padding: 10px; border: 1px solid #ccc; }
|
|
||||||
.sensor-title { font-weight: bold; }
|
|
||||||
.sensor-value { font-size: 2em; color: #333; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>EZO RTD Temperature Monitor</h1>
|
|
||||||
|
|
||||||
<div id="temperature" class="sensor">
|
|
||||||
<div class="sensor-title">Temperature</div>
|
|
||||||
<div class="sensor-value" id="temp-value">--</div>
|
|
||||||
<div id="last-update">--</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
async function fetchData() {
|
|
||||||
try {
|
|
||||||
const response = await fetch('./data/EZORTD.json');
|
|
||||||
const data = await response.json();
|
|
||||||
|
|
||||||
document.getElementById('temp-value').textContent =
|
|
||||||
data.temperature.toFixed(3) + ' ℃';
|
|
||||||
document.getElementById('last-update').textContent =
|
|
||||||
"Updated: " + new Date().toLocaleTimeString();
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching data:', error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setInterval(fetchData, 1000);
|
|
||||||
fetchData();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Loading…
Reference in New Issue