diff --git a/README.md b/README.md index f39fc7c..60093af 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,95 @@ # Para transpilar la web de React a HTML/CSS/JS Vanilla `npm run build`
La encontraréis en `dist/` + +# Script SQL +```sql +USE dad; + +CREATE TABLE IF NOT EXISTS groups( + groupId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, + groupName VARCHAR(64) DEFAULT NULL +); + +CREATE TABLE IF NOT EXISTS devices( + deviceId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, + groupId INT NOT NULL, + deviceName VARCHAR(64) DEFAULT NULL, + FOREIGN KEY (groupId) REFERENCES groups(groupId) +); + +CREATE TABLE IF NOT EXISTS sensors( + sensorId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, + deviceId INT NOT NULL, + sensorType VARCHAR(64) NOT NULL, + unit VARCHAR(8) NOT NULL, + status INT NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP(), + FOREIGN KEY (deviceId) REFERENCES devices(deviceId) +); + +CREATE TABLE IF NOT EXISTS actuators ( + actuatorId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, + deviceId INT NOT NULL, + status BLOB NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP(), + FOREIGN KEY (deviceId) REFERENCES devices(deviceId) +); + +CREATE TABLE IF NOT EXISTS gps_values( + valueId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, + sensorId INT NOT NULL, + lat FLOAT NOT NULL, + lon FLOAT NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP(), + FOREIGN KEY (sensorId) REFERENCES sensors(sensorId) +); + +CREATE TABLE IF NOT EXISTS air_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) +); + +-- Grupo único +INSERT INTO groups (groupName) VALUES +('ContaminUS'); + +-- Dispositivos dentro del grupo 1 +INSERT INTO devices (groupId, deviceName) VALUES +(1, 'Raspberry Pi Sensor Hub'), +(1, 'ESP32 Outdoor Monitor'), +(1, 'Arduino Air Quality Station'); + +-- Sensores asignados a los dispositivos +INSERT INTO sensors (deviceId, sensorType, unit, status) VALUES +(1, 'GPS', '', 1), +(1, 'AirQuality', 'ppm', 1), +(2, 'Temperature', '°C', 1), +(2, 'Humidity', '%', 1), +(3, 'CO Sensor', 'ppm', 1); + +-- Actuadores asignados a los dispositivos +INSERT INTO actuators (deviceId, status) VALUES +(1, 0x01), -- Actuador encendido +(2, 0x00), -- Actuador apagado +(3, 0x01); -- Actuador encendido + +-- Datos de GPS (sensores tipo GPS) +INSERT INTO gps_values (sensorId, lat, lon) VALUES +(1, 37.3886, -5.9823), -- Centro de Sevilla +(1, 37.4010, -5.9980), -- Isla de la Cartuja +(1, 37.3431, -5.9812); -- Bellavista + +-- Datos de calidad del aire (sensores de aire) +INSERT INTO air_values (sensorId, temperature, humidity, carbonMonoxide) VALUES +(2, 28.5, 60.2, 0.4), +(2, 30.1, 55.8, 0.6), +(2, 27.3, 65.4, 0.3), +(3, 25.8, 50.7, 0.2), +(3, 29.2, 58.9, 0.5); +```