From 4d1e0fb7ea1b0d6bfd96525f3d7b86e540166b48 Mon Sep 17 00:00:00 2001 From: Jose <100301878+Gallardo7761@users.noreply.github.com> Date: Tue, 11 Mar 2025 22:20:01 +0100 Subject: [PATCH] Update README.md --- README.md | 109 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 65 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 6ca920d..c194a42 100644 --- a/README.md +++ b/README.md @@ -72,12 +72,19 @@ CREATE TABLE IF NOT EXISTS gps_values( FOREIGN KEY (sensorId) REFERENCES sensors(sensorId) ); -CREATE TABLE IF NOT EXISTS air_values ( +CREATE TABLE IF NOT EXISTS weather_values ( valueId INT PRIMARY KEY AUTO_INCREMENT NOT NULL , sensorId INT NOT NULL, temperature FLOAT NOT NULL, humidity FLOAT NOT NULL, - carbonMonoxide FLOAT NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP(), + FOREIGN KEY (sensorId) REFERENCES sensors(sensorId) +); + +CREATE TABLE IF NOT EXISTS co_values ( + valueId INT PRIMARY KEY AUTO_INCREMENT NOT NULL , + sensorId INT NOT NULL, + value FLOAT NOT NULL, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP(), FOREIGN KEY (sensorId) REFERENCES sensors(sensorId) ); @@ -122,65 +129,79 @@ LEFT JOIN air_values av WHERE sensorId = s.sensorId ); +CREATE OR REPLACE VIEW v_pollution_map AS +SELECT + g.lat, + g.lon, + a.carbonMonoxide, + d.deviceId, + d.deviceName +FROM + gps_values g +JOIN + air_values a ON g.sensorId = a.sensorId +JOIN + sensors s ON a.sensorId = s.sensorId +JOIN + devices d ON s.deviceId = d.deviceId +WHERE + (g.sensorId, g.timestamp) IN ( + SELECT sensorId, MAX(timestamp) + FROM gps_values + GROUP BY sensorId + ) +AND + (a.sensorId, a.timestamp) IN ( + SELECT sensorId, MAX(timestamp) + FROM air_values + GROUP BY sensorId + ); + + +-- Insertar grupos INSERT INTO groups (groupName) VALUES ('Grupo 1'); +-- Insertar dispositivos INSERT INTO devices (groupId, deviceName) VALUES (1, 'Dispositivo 1'), (1, 'Dispositivo 2'), (1, 'Dispositivo 3'); -- Sensores para el Dispositivo 1 +-- Cada dispositivo tiene un único sensor de cada tipo (GPS, Temperature & Humidity, CO) INSERT INTO sensors (deviceId, sensorType, unit, status) VALUES -(1, 'GPS', 'N/A', 1), -(1, 'Temperature & Humidity', '°C/%', 1), -(1, 'CO', 'ppm', 1); +(1, 'GPS', 'N/A', 1), -- Sensor de GPS para Dispositivo 1 +(1, 'Temperature & Humidity', '°C/%', 1), -- Sensor de Temp/Humidity para Dispositivo 1 +(1, 'CO', 'ppm', 1); -- Sensor de CO para Dispositivo 1 -- Sensores para el Dispositivo 2 INSERT INTO sensors (deviceId, sensorType, unit, status) VALUES -(2, 'GPS', 'N/A', 1), -(2, 'Temperature & Humidity', '°C/%', 1), -(2, 'CO', 'ppm', 1); +(2, 'GPS', 'N/A', 1), -- Sensor de GPS para Dispositivo 2 +(2, 'Temperature & Humidity', '°C/%', 1), -- Sensor de Temp/Humidity para Dispositivo 2 +(2, 'CO', 'ppm', 1); -- Sensor de CO para Dispositivo 2 -- Sensores para el Dispositivo 3 INSERT INTO sensors (deviceId, sensorType, unit, status) VALUES -(3, 'GPS', 'N/A', 1), -(3, 'Temperature & Humidity', '°C/%', 1), -(3, 'CO', 'ppm', 1); +(3, 'GPS', 'N/A', 1), -- Sensor de GPS para Dispositivo 3 +(3, 'Temperature & Humidity', '°C/%', 1), -- Sensor de Temp/Humidity para Dispositivo 3 +(3, 'CO', 'ppm', 1); -- Sensor de CO para Dispositivo 3 --- Valores de GPS para el Dispositivo 1 +-- Valores de GPS para los Dispositivos +-- Cada dispositivo tiene un único sensor de GPS con latitud y longitud asociada INSERT INTO gps_values (sensorId, lat, lon) VALUES -(1, 37.3861, -5.9921), -(2, 37.3870, -5.9900), -(3, 37.3885, -5.9930); +(1, 37.3861, -5.9921), -- GPS para Dispositivo 1 +(4, 37.3850, -5.9910), -- GPS para Dispositivo 2 +(7, 37.3860, -5.9920); -- GPS para Dispositivo 3 --- Valores de GPS para el Dispositivo 2 -INSERT INTO gps_values (sensorId, lat, lon) VALUES -(4, 37.3850, -5.9910), -(5, 37.3865, -5.9935), -(6, 37.3870, -5.9950); - --- Valores de GPS para el Dispositivo 3 -INSERT INTO gps_values (sensorId, lat, lon) VALUES -(7, 37.3860, -5.9920), -(8, 37.3875, -5.9915), -(9, 37.3890, -5.9905); - --- Valores de Temperatura, Humedad y CO para el Dispositivo 1 -INSERT INTO air_values (sensorId, temperature, humidity, carbonMonoxide) VALUES -(1, 22.5, 45.0, 0.02), -(2, 23.0, 46.5, 0.01), -(3, 21.8, 48.0, 0.03); - --- Valores de Temperatura, Humedad y CO para el Dispositivo 2 -INSERT INTO air_values (sensorId, temperature, humidity, carbonMonoxide) VALUES -(4, 24.5, 50.0, 0.04), -(5, 25.0, 49.5, 0.05), -(6, 23.5, 47.0, 0.02); - --- Valores de Temperatura, Humedad y CO para el Dispositivo 3 -INSERT INTO air_values (sensorId, temperature, humidity, carbonMonoxide) VALUES -(7, 21.0, 44.0, 0.01), -(8, 22.0, 45.5, 0.03), -(9, 21.5, 46.0, 0.02); +-- Valores de Temperatura, Humedad y CO para los Dispositivos +-- Cada dispositivo tiene un único sensor de aire (temperatura, humedad, CO) con valores asociados +INSERT INTO weather_values (sensorId, temperature, humidity) VALUES +(2, 22.5, 45.0), -- Temperatura, Humedad para Dispositivo 1 +(5, 24.5, 50.0), -- Temperatura, Humedad para Dispositivo 2 +(8, 21.0, 44.0); -- Temperatura, Humedad para Dispositivo 3 +INSERT INTO co_values (sensorId, value) VALUES +(3, 0.02), -- CO para Dispositivo 1 +(6, 0.04), -- CO para Dispositivo 2 +(9, 0.01); -- CO para Dispositivo 3 ```