From bf42eccc67cc9decaff0ddd3eed9c134ccc220a0 Mon Sep 17 00:00:00 2001 From: Jose Date: Sat, 10 May 2025 15:08:39 +0200 Subject: [PATCH] working frontend and backend --- README.md | 80 ++++++++------ frontend/package-lock.json | 6 ++ frontend/package.json | 1 + frontend/public/images/logo-dark.png | Bin 0 -> 41499 bytes frontend/public/images/logo-light.png | Bin 0 -> 42147 bytes frontend/public/images/logo.png | Bin 129476 -> 0 bytes frontend/src/App.jsx | 25 ++--- frontend/src/components/HistoryCharts.jsx | 101 ++++++++++-------- frontend/src/components/PollutionMap.jsx | 84 +++++---------- frontend/src/components/SummaryCards.jsx | 31 +++--- frontend/src/components/layout/Card.jsx | 6 +- .../src/components/layout/CardContainer.jsx | 19 ++-- .../src/components/layout/ContentWrapper.jsx | 16 +++ .../src/components/layout/CustomContainer.jsx | 15 +++ frontend/src/components/layout/Header.jsx | 21 ++-- frontend/src/components/layout/MenuButton.jsx | 19 ---- frontend/src/components/layout/SideMenu.jsx | 85 --------------- frontend/src/context/ConfigContext.jsx | 2 +- frontend/src/css/HistoryCharts.css | 0 frontend/src/css/Map.css | 0 frontend/src/css/MenuButton.css | 26 ----- frontend/src/css/SideMenu.css | 90 ---------------- frontend/src/css/index.css | 1 - frontend/src/main.jsx | 19 ---- frontend/src/pages/GroupView.jsx | 87 +++++++++++++-- frontend/src/pages/Groups.jsx | 89 +++++++++++++++ hardware/src/lib/sensor/BME280.cpp | 2 +- hardware/src/main.cpp | 2 +- 28 files changed, 394 insertions(+), 433 deletions(-) create mode 100644 frontend/public/images/logo-dark.png create mode 100644 frontend/public/images/logo-light.png delete mode 100644 frontend/public/images/logo.png create mode 100644 frontend/src/components/layout/ContentWrapper.jsx create mode 100644 frontend/src/components/layout/CustomContainer.jsx delete mode 100644 frontend/src/components/layout/MenuButton.jsx delete mode 100644 frontend/src/components/layout/SideMenu.jsx delete mode 100644 frontend/src/css/HistoryCharts.css delete mode 100644 frontend/src/css/Map.css delete mode 100644 frontend/src/css/MenuButton.css delete mode 100644 frontend/src/css/SideMenu.css create mode 100644 frontend/src/pages/Groups.jsx diff --git a/README.md b/README.md index 5f1fff7..34266b0 100644 --- a/README.md +++ b/README.md @@ -173,48 +173,66 @@ WHERE s.sensorType = 'Temperature & Humidity'; -- VISTAS AUXILIARES CREATE OR REPLACE VIEW v_pollution_map AS -SELECT +SELECT + d.deviceId AS deviceId, + d.deviceName AS deviceName, + g.lat AS lat, + g.lon AS lon, + c.carbonMonoxide AS carbonMonoxide, + c.timestamp AS timestamp +FROM + (dad.devices d +LEFT JOIN dad.v_co_by_device c ON d.deviceId = c.deviceId) +LEFT JOIN dad.v_gps_by_device g ON d.deviceId = g.deviceId AND (g.timestamp <= c.timestamp OR g.timestamp IS NULL) +WHERE + c.carbonMonoxide IS NOT NULL +ORDER BY d.deviceId, - d.deviceName, - g.lat, - g.lon, - c.carbonMonoxide, - c.timestamp -FROM devices d -LEFT JOIN v_co_by_device c ON d.deviceId = c.deviceId -LEFT JOIN v_gps_by_device g ON d.deviceId = g.deviceId - AND (g.timestamp <= c.timestamp OR g.timestamp IS NULL) -WHERE c.carbonMonoxide IS NOT NULL -ORDER BY d.deviceId, c.timestamp; + c.timestamp; CREATE OR REPLACE VIEW v_sensor_history_by_device AS -SELECT - d.deviceId, - d.deviceName, +SELECT + d.deviceId AS deviceId, + d.deviceName AS deviceName, w.temperature AS value, 'temperature' AS valueType, - w.timestamp -FROM devices d -JOIN v_weather_by_device w ON d.deviceId = w.deviceId + w.timestamp AS timestamp +FROM + dad.devices d +JOIN dad.v_weather_by_device w ON d.deviceId = w.deviceId UNION ALL -SELECT - d.deviceId, - d.deviceName, +SELECT + d.deviceId AS deviceId, + d.deviceName AS deviceName, w.humidity AS value, 'humidity' AS valueType, - w.timestamp -FROM devices d -JOIN v_weather_by_device w ON d.deviceId = w.deviceId + w.timestamp AS timestamp +FROM + dad.devices d +JOIN dad.v_weather_by_device w ON d.deviceId = w.deviceId UNION ALL -SELECT - d.deviceId, - d.deviceName, +SELECT + d.deviceId AS deviceId, + d.deviceName AS deviceName, + w.pressure AS value, + 'pressure' AS valueType, + w.timestamp AS timestamp +FROM + dad.devices d +JOIN dad.v_weather_by_device w ON d.deviceId = w.deviceId +UNION ALL +SELECT + d.deviceId AS deviceId, + d.deviceName AS deviceName, c.carbonMonoxide AS value, 'carbonMonoxide' AS valueType, - c.timestamp -FROM devices d -JOIN v_co_by_device c ON d.deviceId = c.deviceId -ORDER BY deviceId, timestamp; + c.timestamp AS timestamp +FROM + dad.devices d +JOIN dad.v_co_by_device c ON d.deviceId = c.deviceId +ORDER BY + deviceId, + timestamp; -- Insertar grupos INSERT INTO groups (groupName) VALUES ('Grupo 1'); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index cd90e81..3e580ee 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -17,6 +17,7 @@ "bootstrap": "^5.3.3", "chart.js": "^4.4.8", "leaflet": "^1.9.4", + "leaflet.heat": "^0.2.0", "react": "^19.0.0", "react-chartjs-2": "^5.3.0", "react-dom": "^19.0.0", @@ -3556,6 +3557,11 @@ "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", "license": "BSD-2-Clause" }, + "node_modules/leaflet.heat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/leaflet.heat/-/leaflet.heat-0.2.0.tgz", + "integrity": "sha512-Cd5PbAA/rX3X3XKxfDoUGi9qp78FyhWYurFg3nsfhntcM/MCNK08pRkf4iEenO1KNqwVPKCmkyktjW3UD+h9bQ==" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 55e50ca..f1d0fb6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -19,6 +19,7 @@ "bootstrap": "^5.3.3", "chart.js": "^4.4.8", "leaflet": "^1.9.4", + "leaflet.heat": "^0.2.0", "react": "^19.0.0", "react-chartjs-2": "^5.3.0", "react-dom": "^19.0.0", diff --git a/frontend/public/images/logo-dark.png b/frontend/public/images/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5b8f1b808c85a65362d270c8f5fe085b8ec6da GIT binary patch literal 41499 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

T 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 literal 0 HcmV?d00001 diff --git a/frontend/public/images/logo-light.png b/frontend/public/images/logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..4d30c2ebab0f98d10b9fca9dc50cce573987f020 GIT binary patch literal 42147 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 Jo}ECY{|~Cr7~cQ@ literal 0 HcmV?d00001 diff --git a/frontend/public/images/logo.png b/frontend/public/images/logo.png deleted file mode 100644 index 0c3ac2a8226e4e9fb909ddb72ef01806f0e79ee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129476 zcmZU42Ut_f)^-#Dr5+0)BA_TJy@PZF6(w{Colrv$MS4dOJOYAJ5_*$R5_$=}t0B!@@4t6HkB=m5X4b4(v&y^Pd847GL``vn0t5n4KYRK}3j`wP1A)%f zTqFa&89`h<1U`W6boAZzRaGP{o#A}uR?ZeMK5w`S@OuzQTF%?W+|mK&e#-)8W9KBp zwpQ1~cFWF6hD}dYRY2865oT-m)b}||+gDA;($~RK!ir5!mO|QF5*Ppub2q=`4R>^M zlk}Eh`!%j4@blT%{A{;=z2fd5!}joO!dv>P8n+akpTlm6@`>?U3JO2CB`(1yC@S$l zNQCE>kbs~Vzkme4pa`#kprn9=q=4Y9KM$KM#VzUQR@RbQkDmOQ4EQ9&X6x?mBFWG1 z<>kfaCCumi+=gFJLPCOHK!{&Rh!=Q+*UiVt-Q1hk$?eYB5WmNG1aq@|Zs+1|=j?Rr zY)o?tXAgH7Ha7mVN%;TF0xXaJ-}M0>{?!o72~f*(VEwnA6-k0Xw?NMxJ=F0|S^nnZ zZ|u=*2^P`l=rl>N+lc2~(aNqAyEus0?9>)piqwCHx96k!{zn?fvO z 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 Z+*^BiSXTUgTn+&bX>ob6lJ^Gw{||u(@l5~# diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 6534b1e..952652d 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -3,41 +3,28 @@ import 'leaflet/dist/leaflet.css' import 'bootstrap/dist/css/bootstrap.min.css' import 'bootstrap/dist/js/bootstrap.bundle.min.js' -import Home from '@/pages/Home.jsx' import Dashboard from '@/pages/Dashboard.jsx' -import MenuButton from '@/components/layout/MenuButton.jsx' -import SideMenu from '@/components/layout/SideMenu.jsx' +import Groups from '@/pages/Groups.jsx' import ThemeButton from '@/components/layout/ThemeButton.jsx' import Header from '@/components/layout/Header.jsx' import GroupView from '@/pages/GroupView.jsx' import { Routes, Route } from 'react-router-dom' -import { useState } from 'react' +import ContentWrapper from './components/layout/ContentWrapper' const App = () => { - const [isSideMenuOpen, setIsSideMenuOpen] = useState(false); - - const toggleSideMenu = () => { - setIsSideMenuOpen(!isSideMenuOpen); - }; - - const closeSideMenu = () => { - setIsSideMenuOpen(false); - } return ( <> - - -
-
+
+ - } /> + } /> } /> } /> -
+ ); } diff --git a/frontend/src/components/HistoryCharts.jsx b/frontend/src/components/HistoryCharts.jsx index 214bbe0..0defffb 100644 --- a/frontend/src/components/HistoryCharts.jsx +++ b/frontend/src/components/HistoryCharts.jsx @@ -1,7 +1,6 @@ import { Line } from "react-chartjs-2"; import { Chart as ChartJS, LineElement, PointElement, LinearScale, CategoryScale, Filler } from "chart.js"; import CardContainer from "./layout/CardContainer"; -import "@/css/HistoryCharts.css"; import PropTypes from "prop-types"; import { useTheme } from "@/hooks/useTheme"; @@ -12,74 +11,91 @@ import { useConfig } from "@/hooks/useConfig"; ChartJS.register(LineElement, PointElement, LinearScale, CategoryScale, Filler); const HistoryCharts = ({ groupId, deviceId }) => { - const { config, configLoading, configError } = useConfig(); + const { config, configLoading, configError } = useConfig(); - if (configLoading) return

Cargando configuración...

; - if (configError) return

Error al cargar configuración: {configError}

; - if (!config) return

Configuración no disponible.

; + if (configLoading) return

Cargando configuración...

; + if (configError) return

Error al cargar configuración: {configError}

; + if (!config) return

Configuración no disponible.

; - const BASE = config.appConfig.endpoints.LOGIC_URL; - const ENDPOINT = config.appConfig.endpoints.GET_DEVICE_HISTORY; - const endp = ENDPOINT - .replace(':groupId', groupId) - .replace(':deviceId', deviceId); // si tu endpoint lo necesita + const BASE = config.appConfig.endpoints.LOGIC_URL; + const ENDPOINT = config.appConfig.endpoints.GET_DEVICE_HISTORY; + const endp = ENDPOINT + .replace(':groupId', groupId) + .replace(':deviceId', deviceId); // si tu endpoint lo necesita - const reqConfig = { - baseUrl: `${BASE}${endp}`, - params: {} - }; + const reqConfig = { + baseUrl: `${BASE}${endp}`, + params: {} + }; - return ( - - - - ); + return ( + + + + ); }; const HistoryChartsContent = () => { const { config } = useConfig(); const { data, loading, error } = useDataContext(); const { theme } = useTheme(); - + const optionsDark = config?.appConfig?.historyChartConfig?.chartOptionsDark ?? {}; const optionsLight = config?.appConfig?.historyChartConfig?.chartOptionsLight ?? {}; const options = theme === "dark" ? optionsDark : optionsLight; - - const currentHour = new Date().getHours(); - const timeLabels = [ - `${currentHour - 3}:00`, `${currentHour - 2}:00`, `${currentHour - 1}:00`, `${currentHour}:00`, `${currentHour + 1}:00`, `${currentHour + 2}:00`, `${currentHour + 3}:00` - ] if (loading) return

Cargando datos...

; if (error) return

Datos no disponibles.

; - const temperatureData = []; - const humidityData = []; - const pollutionLevels = []; + const grouped = { + temperature: [], + humidity: [], + pressure: [], + carbonMonoxide: [] + }; data?.forEach(sensor => { - if (sensor.value != null) { - if (sensor.sensor_type === "MQ-135") { - pollutionLevels.push(sensor.value); - } else if (sensor.sensor_type === "DHT-11") { - temperatureData.push(sensor.value); - humidityData.push(sensor.value); - } - } + if (sensor.value != null && grouped[sensor.valueType]) { + grouped[sensor.valueType].push({ + timestamp: new Date(sensor.timestamp), + value: sensor.value + }); + } }); + const sortAndExtract = (entries) => { + const sorted = entries.sort((a, b) => a.timestamp - b.timestamp); + const labels = sorted.map(e => + new Date(e.timestamp * 1000).toLocaleTimeString('es-ES', { + timeZone: 'Europe/Madrid', + hour: '2-digit', + minute: '2-digit' + }) + ); + const values = sorted.map(e => e.value); + return { labels, values }; + }; + + const temp = sortAndExtract(grouped.temperature); + const hum = sortAndExtract(grouped.humidity); + const press = sortAndExtract(grouped.pressure); + const co = sortAndExtract(grouped.carbonMonoxide); + + const timeLabels = temp.labels.length ? temp.labels : hum.labels.length ? hum.labels : co.labels.length ? co.labels : ["Sin datos"]; + const historyData = [ - { title: "🌡️ Temperatura", data: temperatureData.length ? temperatureData : [0], borderColor: "#00FF85", backgroundColor: "rgba(0, 255, 133, 0.2)" }, - { title: "💧 Humedad", data: humidityData.length ? humidityData : [0], borderColor: "#00D4FF", backgroundColor: "rgba(0, 212, 255, 0.2)" }, - { title: "☁️ Contaminación", data: pollutionLevels.length ? pollutionLevels : [0], borderColor: "#FFA500", backgroundColor: "rgba(255, 165, 0, 0.2)" } - ]; + { title: "🌡️ Temperatura", data: temp.values, borderColor: "#00FF85", backgroundColor: "rgba(0, 255, 133, 0.2)" }, + { title: "💦 Humedad", data: hum.values, borderColor: "#00D4FF", backgroundColor: "rgba(0, 212, 255, 0.2)" }, + { title: "⏲ Presión", data: press.values, borderColor: "#B12424", backgroundColor: "rgba(255, 0, 0, 0.2)" }, + { title: "☁️ Contaminación", data: co.values, borderColor: "#FFA500", backgroundColor: "rgba(255, 165, 0, 0.2)" } + ]; return ( ({ title, content: ( - { /> ), styleMode: "override", - className: "col-lg-4 col-xxs-12 d-flex flex-column align-items-center p-3 card-container" + className: "col-lg-6 col-xxs-12 d-flex flex-column align-items-center p-3 card-container", + style: { minHeight: "250px" } }))} className="" /> diff --git a/frontend/src/components/PollutionMap.jsx b/frontend/src/components/PollutionMap.jsx index cd640cd..8dc6c7d 100644 --- a/frontend/src/components/PollutionMap.jsx +++ b/frontend/src/components/PollutionMap.jsx @@ -1,4 +1,3 @@ -import { MapContainer, TileLayer, Circle, Popup } from 'react-leaflet'; import PropTypes from 'prop-types'; import { useConfig } from '@/hooks/useConfig.js'; @@ -6,38 +5,10 @@ import { useConfig } from '@/hooks/useConfig.js'; import { DataProvider } from '@/context/DataContext.jsx'; import { useDataContext } from '@/hooks/useDataContext'; -const PollutionCircles = ({ data }) => { - return data.map(({ lat, lng, level }, index) => { - const baseColor = level < 20 ? '#00FF85' : level < 60 ? '#FFA500' : '#FF0000'; - const steps = 4; - const maxRadius = 400; - const stepSize = maxRadius / steps; +import L from "leaflet"; +import "leaflet.heat"; - return ( -
- {[...Array(steps)].map((_, i) => { - const radius = stepSize * (i + 1); - const opacity = 0.6 * ((i + 1) / steps); - return ( - - ); - })} - - Contaminación: {level} µg/m³ - -
- ); - }); -}; +import { useEffect } from 'react'; const PollutionMap = ({ groupId, deviceId }) => { const { config, configLoading, configError } = useConfig(); @@ -64,10 +35,33 @@ const PollutionMap = ({ groupId, deviceId }) => { ); }; - const PollutionMapContent = () => { const { config, configLoading, configError } = useConfig(); const { data, dataLoading, dataError } = useDataContext(); + + useEffect(() => { + if (!data || !config) return; + + const mapContainer = document.getElementById("map"); + if (!mapContainer) return; + + const SEVILLA = config.userConfig.city; + + const map = L.map(mapContainer).setView(SEVILLA, 12); + + L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { + attribution: + '© OpenStreetMap contributors' + }).addTo(map); + + const points = data.map((p) => [p.lat, p.lon, p.carbonMonoxide]); + + L.heatLayer(points, { radius: 25 }).addTo(map); + + return () => { + map.remove(); + }; +}, [data, config]); if (configLoading) return

Cargando configuración...

; if (configError) return

Error al cargar configuración: {configError}

; @@ -77,33 +71,13 @@ const PollutionMapContent = () => { if (dataError) return

Error al cargar datos: {configError}

; if (!data) return

Datos no disponibles.

; - const SEVILLA = config?.userConfig.city; - - const pollutionData = data.map((measure) => ({ - lat: measure.lat, - lng: measure.lon, - level: measure.carbonMonoxide - })); - return ( -
- - - - +
+
); } -const mapStyles = { - height: '500px', - width: '100%', - borderRadius: '20px' -}; - PollutionMap.propTypes = { groupId: PropTypes.number.isRequired, deviceId: PropTypes.number.isRequired diff --git a/frontend/src/components/SummaryCards.jsx b/frontend/src/components/SummaryCards.jsx index ec30a24..551e176 100644 --- a/frontend/src/components/SummaryCards.jsx +++ b/frontend/src/components/SummaryCards.jsx @@ -1,14 +1,10 @@ import PropTypes from 'prop-types'; import CardContainer from './layout/CardContainer'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faCloud, faClock, faTemperature0, faWater } from '@fortawesome/free-solid-svg-icons'; - import { DataProvider } from '@/context/DataContext'; import { useDataContext } from '@/hooks/useDataContext'; import { useConfig } from '@/hooks/useConfig.js'; -import { DateParser } from '@/util/dateParser'; const SummaryCards = ({ groupId, deviceId }) => { const { config, configLoading, configError } = useConfig(); @@ -21,7 +17,7 @@ const SummaryCards = ({ groupId, deviceId }) => { const ENDPOINT = config.appConfig.endpoints.GET_DEVICE_LATEST_VALUES; const endp = ENDPOINT .replace(':groupId', groupId) - .replace(':deviceId', deviceId); // solo si lo necesitas así + .replace(':deviceId', deviceId); const reqConfig = { baseUrl: `${BASE}${endp}`, @@ -43,32 +39,29 @@ const SummaryCardsContent = () => { if (!data) return

Datos no disponibles.

; const CardsData = [ - { id: 1, title: "Temperatura", content: "N/A", status: "Esperando datos...", titleIcon: }, - { id: 2, title: "Humedad", content: "N/A", status: "Esperando datos...", titleIcon: }, - { id: 3, title: "Nivel de CO", content: "N/A", status: "Esperando datos...", titleIcon: }, - { id: 4, title: "Actualizado a las", content: "N/A", status: "Esperando datos...", titleIcon: } + { id: 1, title: "Temperatura", content: "N/A", status: "Esperando datos...", titleIcon: '🌡 ' }, + { id: 2, title: "Humedad", content: "N/A", status: "Esperando datos...", titleIcon: '💦 ' }, + { id: 3, title: "Presión", content: "N/A", status: "Esperando datos...", titleIcon: '⏲ ' }, + { id: 4, title: "Nivel de CO", content: "N/A", status: "Esperando datos...", titleIcon: '☁ ' } ]; if (data) { - let coData = data[1]; - let tempData = data[2]; - - let lastTime = DateParser.timestampToString(coData.timestamp); - let lastDate = new Date(coData.timestamp); + let coData = data[2]; + let tempData = data[1]; CardsData[0].content = tempData.temperature + "°C"; CardsData[0].status = "Temperatura actual"; CardsData[1].content = tempData.humidity + "%"; CardsData[1].status = "Humedad actual"; - CardsData[2].content = coData.carbonMonoxide + " ppm"; - CardsData[2].status = "Nivel de CO actual"; - CardsData[3].content = lastTime; - CardsData[3].status = "Día " + lastDate.toLocaleDateString(); + CardsData[3].content = coData.carbonMonoxide + " ppm"; + CardsData[3].status = "Nivel de CO actual"; + CardsData[2].content = tempData.pressure + " hPa"; + CardsData[2].status = "Presión actual"; } return ( - + ); } diff --git a/frontend/src/components/layout/Card.jsx b/frontend/src/components/layout/Card.jsx index 1893a0c..f07296d 100644 --- a/frontend/src/components/layout/Card.jsx +++ b/frontend/src/components/layout/Card.jsx @@ -3,7 +3,7 @@ import { useState, useEffect, useRef } from "react"; import "@/css/Card.css"; import { useTheme } from "@/hooks/useTheme"; -const Card = ({ title, status, children, styleMode, className, titleIcon }) => { +const Card = ({ title, status, children, styleMode, className, titleIcon, style }) => { const cardRef = useRef(null); const [shortTitle, setShortTitle] = useState(title); const { theme } = useTheme(); @@ -30,8 +30,9 @@ const Card = ({ title, status, children, styleMode, className, titleIcon }) => { ref={cardRef} className={styleMode === "override" ? `${className}` : `col-xl-3 col-sm-6 d-flex flex-column align-items-center p-3 card-container ${className}`} + > -
+

{titleIcon} {shortTitle} @@ -50,6 +51,7 @@ Card.propTypes = { styleMode: PropTypes.oneOf(["override", ""]), className: PropTypes.string, titleIcon: PropTypes.node, + style: PropTypes.object, }; Card.defaultProps = { diff --git a/frontend/src/components/layout/CardContainer.jsx b/frontend/src/components/layout/CardContainer.jsx index 2271a41..1e5253c 100644 --- a/frontend/src/components/layout/CardContainer.jsx +++ b/frontend/src/components/layout/CardContainer.jsx @@ -2,20 +2,26 @@ import Card from "./Card.jsx"; import PropTypes from "prop-types"; import { Link } from "react-router-dom"; -const CardContainer = ({ links, cards, className }) => { +const CardContainer = ({ links, cards, className, text }) => { return (
{cards.map((card, index) => ( links ? ( - -

{card.content}

+ + {text + ?

{card.content}

+ :
{card.content}
+ }
) : ( - -

{card.content}

-
+ + {text + ?

{card.content}

+ :
{card.content}
+ } +
) ))}
@@ -24,6 +30,7 @@ const CardContainer = ({ links, cards, className }) => { CardContainer.propTypes = { links: Boolean, + text: Boolean, cards: PropTypes.arrayOf( PropTypes.shape({ title: PropTypes.string.isRequired, diff --git a/frontend/src/components/layout/ContentWrapper.jsx b/frontend/src/components/layout/ContentWrapper.jsx new file mode 100644 index 0000000..82d0f6a --- /dev/null +++ b/frontend/src/components/layout/ContentWrapper.jsx @@ -0,0 +1,16 @@ +import PropTypes from 'prop-types'; + +const ContentWrapper = ({ children, className }) => { + return ( +
+ {children} +
+ ); +} + +ContentWrapper.propTypes = { + children: PropTypes.node.isRequired, + className: PropTypes.string, +} + +export default ContentWrapper; \ No newline at end of file diff --git a/frontend/src/components/layout/CustomContainer.jsx b/frontend/src/components/layout/CustomContainer.jsx new file mode 100644 index 0000000..6d14ffb --- /dev/null +++ b/frontend/src/components/layout/CustomContainer.jsx @@ -0,0 +1,15 @@ +import PropTypes from 'prop-types'; + +const CustomContainer = ({ children }) => { + return ( +
+ {children} +
+ ); +} + +CustomContainer.propTypes = { + children: PropTypes.node.isRequired, +} + +export default CustomContainer; \ No newline at end of file diff --git a/frontend/src/components/layout/Header.jsx b/frontend/src/components/layout/Header.jsx index 57ec2a2..51ea32d 100644 --- a/frontend/src/components/layout/Header.jsx +++ b/frontend/src/components/layout/Header.jsx @@ -1,20 +1,29 @@ -import PropTypes from 'prop-types'; import '@/css/Header.css'; import { useTheme } from "@/hooks/useTheme"; +import PropTypes from 'prop-types'; +import { Link } from 'react-router-dom'; const Header = ({ subtitle }) => { const { theme } = useTheme(); return ( -
- -

{subtitle}

+
+
+ + + +
+

{subtitle}

+ {/* */}
); } Header.propTypes = { - subtitle: PropTypes.string -} + subtitle: PropTypes.string, +}; export default Header; \ No newline at end of file diff --git a/frontend/src/components/layout/MenuButton.jsx b/frontend/src/components/layout/MenuButton.jsx deleted file mode 100644 index 28cb0aa..0000000 --- a/frontend/src/components/layout/MenuButton.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import "@/css/MenuButton.css"; - -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faBars } from '@fortawesome/free-solid-svg-icons'; -import PropTypes from "prop-types"; - -const MenuButton = ({ onClick }) => { - return ( - - ); -} - -MenuButton.propTypes = { - onClick: PropTypes.func.isRequired, -}; - -export default MenuButton; \ No newline at end of file diff --git a/frontend/src/components/layout/SideMenu.jsx b/frontend/src/components/layout/SideMenu.jsx deleted file mode 100644 index f7e311a..0000000 --- a/frontend/src/components/layout/SideMenu.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import "@/css/SideMenu.css"; -import PropTypes from 'prop-types'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faTimes, faHome } from '@fortawesome/free-solid-svg-icons'; - -import { DataProvider } from '@/context/DataContext'; -import { useDataContext } from "@/hooks/useDataContext"; - -import { useConfig } from '@/hooks/useConfig.js'; -import { useTheme } from "@/hooks/useTheme"; - -import { Link } from 'react-router-dom'; - -import Card from './Card'; - -const SideMenu = ({ isOpen, onClose }) => { - const { config, configLoading, configError } = useConfig(); - - if (configLoading) return

Cargando configuración...

; - if (configError) return

Error al cargar configuración: {configError}

; - if (!config) return

Configuración no disponible.

; - - const BASE = config.appConfig.endpoints.DATA_URL; - const ENDPOINT = config.appConfig.endpoints.GET_GROUPS; - - const reqConfig = { - baseUrl: `${BASE}${ENDPOINT}`, - params: {} - } - - return ( - - - - ); -}; - -const SideMenuContent = ({ isOpen, onClose }) => { - const { data, dataLoading, dataError } = useDataContext(); - const { theme } = useTheme(); - - if (dataLoading) return

Cargando datos...

; - if (dataError) return

Error al cargar datos: {dataError}

; - if (!data) return

Datos no disponibles.

; - - return ( -
- - -
-
- {data.map(group => { - return ( - - - {[]} - - - ); - })} -
-
- ); -}; - -SideMenu.propTypes = { - isOpen: PropTypes.bool.isRequired, - onClose: PropTypes.func.isRequired -} - -SideMenuContent.propTypes = { - isOpen: PropTypes.bool.isRequired, - onClose: PropTypes.func.isRequired -} - -export default SideMenu; \ No newline at end of file diff --git a/frontend/src/context/ConfigContext.jsx b/frontend/src/context/ConfigContext.jsx index 25b59bc..cff1bbc 100644 --- a/frontend/src/context/ConfigContext.jsx +++ b/frontend/src/context/ConfigContext.jsx @@ -13,7 +13,7 @@ export const ConfigProvider = ({ children }) => { try { const response = import.meta.env.MODE === 'production' ? await fetch("/config/settings.prod.json") - : await fetch("/config/settings.dev.json"); + : await fetch("/config/settings.prod.json"); if (!response.ok) throw new Error("Error al cargar settings.*.json"); const json = await response.json(); setConfig(json); diff --git a/frontend/src/css/HistoryCharts.css b/frontend/src/css/HistoryCharts.css deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/src/css/Map.css b/frontend/src/css/Map.css deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/src/css/MenuButton.css b/frontend/src/css/MenuButton.css deleted file mode 100644 index a2ba7b7..0000000 --- a/frontend/src/css/MenuButton.css +++ /dev/null @@ -1,26 +0,0 @@ -.menuBtn { - position: fixed; - top: 20px; - left: 20px; - z-index: 1000; - border: none; - width: 50px; - height: 50px; - font-size: 24px; /* Aumenta el tamaño del icono */ - display: flex; - align-items: center; - justify-content: center; - color: var(--primary-color); - background-color: transparent; - cursor: pointer; - transition: background-color 0.3s, transform 0.3s; -} - -.menuBtn .fa-bars { - width: 30px; /* Ajusta el ancho del icono */ - height: 30px; /* Ajusta la altura del icono */ -} - -.menuBtn:hover { - color: var(--secondary-color); -} \ No newline at end of file diff --git a/frontend/src/css/SideMenu.css b/frontend/src/css/SideMenu.css deleted file mode 100644 index 920435c..0000000 --- a/frontend/src/css/SideMenu.css +++ /dev/null @@ -1,90 +0,0 @@ -.side-menu { - position: fixed; - top: 0; - left: -350px; - width: 350px; - height: 100%; - transition: left 0.3s ease; - padding: 30px; - box-shadow: 2px 0 5px rgba(0,0,0,0.5); - z-index: 1000; -} - -.side-menu.light { - background-color: white; - color: black; -} - -.side-menu.dark { - background-color: #333; - color: white; -} - -.side-menu.open { - left: 0; -} - -.blur { - filter: blur(5px); - transition: filter 0.3s ease; -} - -.side-menu .close-btn { - position: absolute; - top: 20px; - right: 20px; - background: none; - border: none; - font-size: 30px; - cursor: pointer; -} - -.side-menu .close-btn.light { - color: black; -} - -.side-menu .close-btn.dark { - color: white; -} - -.side-menu .close-btn .fa-times { - width: 30px; - height: 30px; -} - -.side-menu .close-btn:hover { - color: var(--primary-color); -} - -.side-menu .home-btn { - position: absolute; - top: 20px; - left: 20px; - background: none; - border: none; - font-size: 30px; - cursor: pointer; -} - -.side-menu .home-btn .fa-home { - width: 30px; - height: 30px; -} - -.side-menu .home-btn.light { - color: black; -} - -.side-menu .home-btn.dark { - color: white; -} - -.side-menu .home-btn:hover { - color: var(--primary-color); -} - -hr.separation { - margin: 60px 0; - border: none; - border-top: 1px solid #ccc; -} \ No newline at end of file diff --git a/frontend/src/css/index.css b/frontend/src/css/index.css index 772d116..2cd4958 100644 --- a/frontend/src/css/index.css +++ b/frontend/src/css/index.css @@ -51,4 +51,3 @@ src: url(https://fonts.gstatic.com/s/poppins/v22/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } - diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 931e19b..ac71e35 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -7,25 +7,6 @@ import App from './App.jsx' import { ThemeProvider } from './context/ThemeContext.jsx' import { ConfigProvider } from './context/ConfigContext.jsx' -/** - * main.jsx - * - * Este archivo es el punto de entrada principal de la aplicación React. - * - * Importaciones: - * - StrictMode: Un componente de React que ayuda a identificar problemas potenciales en la aplicación. - * - createRoot: Una función de ReactDOM que crea una raíz para renderizar la aplicación. - * - './css/index.css': Archivo CSS que contiene los estilos globales de la aplicación. - * - App: El componente principal de la aplicación. - * - ThemeProvider: Un proveedor de contexto que maneja el tema de la aplicación. - * - ConfigProvider: Un proveedor de contexto que maneja la configuración de la aplicación. - * - * Funcionalidad: - * - El archivo utiliza `createRoot` para obtener el elemento con el id 'root' del DOM y renderizar la aplicación React dentro de él. - * - La aplicación se envuelve en `StrictMode` para ayudar a detectar problemas potenciales. - * - `ThemeProvider` y `ConfigProvider` envuelven el componente `App` para proporcionar los contextos de tema y configuración a toda la aplicación. - */ - createRoot(document.getElementById('root')).render( diff --git a/frontend/src/pages/GroupView.jsx b/frontend/src/pages/GroupView.jsx index 7defdb5..ee7b6c4 100644 --- a/frontend/src/pages/GroupView.jsx +++ b/frontend/src/pages/GroupView.jsx @@ -4,9 +4,36 @@ import LoadingIcon from "@/components/LoadingIcon"; import { useParams } from "react-router-dom"; import { useConfig } from "@/hooks/useConfig"; import { useDataContext } from "@/hooks/useDataContext"; +import { useEffect, useState } from "react"; import { DataProvider } from "@/context/DataContext"; +import { MapContainer, TileLayer, Marker } from 'react-leaflet'; +import L from 'leaflet'; +import 'leaflet/dist/leaflet.css'; + +// Icono de marcador por defecto (porque Leaflet no lo carga bien en algunos setups) +const markerIcon = new L.Icon({ + iconUrl: 'https://unpkg.com/leaflet@1.7.1/dist/images/marker-icon.png', + iconSize: [25, 41], + iconAnchor: [12, 41], +}); + +const MiniMap = ({ lat, lon }) => ( + + + + +); + const GroupView = () => { const { groupId } = useParams(); const { config, configLoading } = useConfig(); @@ -16,18 +43,48 @@ const GroupView = () => { const replacedEndpoint = config.appConfig.endpoints.GET_GROUP_DEVICES.replace(':groupId', groupId); const reqConfig = { baseUrl: `${config.appConfig.endpoints.DATA_URL}${replacedEndpoint}`, + latestValuesUrl: `${config.appConfig.endpoints.LOGIC_URL}${config.appConfig.endpoints.GET_DEVICE_LATEST_VALUES}`, }; return ( - ); + ); } const GroupViewContent = () => { - const { data, dataLoading, dataError } = useDataContext(); + const { data, dataLoading, dataError, getData } = useDataContext(); const { groupId } = useParams(); + const [latestData, setLatestData] = useState({}); + + const { config } = useConfig(); // lo pillamos por si acaso + const latestValuesUrl = config.appConfig.endpoints.LOGIC_URL + config.appConfig.endpoints.GET_DEVICE_LATEST_VALUES; + + useEffect(() => { + if (!data || data.length === 0) return; + + const fetchLatestData = async () => { + const results = {}; + + await Promise.all(data.map(async device => { + const endpoint = latestValuesUrl + .replace(':groupId', groupId) + .replace(':deviceId', device.deviceId); + + try { + const res = await getData(endpoint); + results[device.deviceId] = res; + } catch (err) { + console.error(`Error al obtener latest values de ${device.deviceId}:`, err); + } + })); + + setLatestData(results); + }; + + fetchLatestData(); + }, [data, groupId]); if (dataLoading) return

; if (dataError) return

Error al cargar datos: {dataError}

; @@ -35,15 +92,25 @@ const GroupViewContent = () => { return ( ({ - title: device.deviceName, - status: `ID: ${device.deviceId}`, - to: `/groups/${groupId}/devices/${device.deviceId}`, - styleMode: "override", - className: "col-12 col-md-6 col-lg-4", - }))} + cards={data.map(device => { + const latest = latestData[device.deviceId]; + const gpsSensor = latest?.data[0]; + const mapPreview = gpsSensor?.lat && gpsSensor?.lon + ? + : "Sin posición"; + + return { + title: device.deviceName, + status: `ID: ${device.deviceId}`, + content: mapPreview, + to: `/groups/${groupId}/devices/${device.deviceId}`, + styleMode: "override", + className: "col-12 col-md-6 col-lg-4" + }; + })} + /> ); -} +}; export default GroupView; \ No newline at end of file diff --git a/frontend/src/pages/Groups.jsx b/frontend/src/pages/Groups.jsx new file mode 100644 index 0000000..6454032 --- /dev/null +++ b/frontend/src/pages/Groups.jsx @@ -0,0 +1,89 @@ +import CardContainer from "@/components/layout/CardContainer"; +import LoadingIcon from "@/components/LoadingIcon"; + +import { useConfig } from "@/hooks/useConfig"; +import { useDataContext } from "@/hooks/useDataContext"; + +import { DataProvider } from "@/context/DataContext"; + +import { useEffect, useState } from "react"; +import PropTypes from "prop-types"; + +const Groups = () => { + const { config, configLoading } = useConfig(); + + if (configLoading || !config) return

; + + const replacedEndpoint = config.appConfig.endpoints.GET_GROUPS; + const reqConfig = { + baseUrl: `${config.appConfig.endpoints.DATA_URL}${replacedEndpoint}`, + devicesUrl: `${config.appConfig.endpoints.DATA_URL}${config.appConfig.endpoints.GET_GROUP_DEVICES}`, + }; + + return ( + + + + ); +} + +const GroupsContent = ({ config }) => { + const { data, dataLoading, dataError, getData } = useDataContext(); + const [devices, setDevices] = useState({}); + + useEffect(() => { + if (!data || data.length === 0) return; + + const fetchDevices = async () => { + const results = {}; + + await Promise.all(data.map(async group => { + const endpoint = config.devicesUrl + .replace(':groupId', group.groupId); + + try { + const res = await getData(endpoint); + results[group.groupId] = res; + } catch (err) { + console.error(`Error al obtener dispositivos de ${group.groupId}:`, err); + } + })); + + setDevices(results); + }; + + fetchDevices(); + }, [config.devicesUrl, data, getData]); + + if (dataLoading) return

; + if (dataError) return

Error al cargar datos: {dataError}

; + + return ( + { + const groupDevices = devices[group.groupId]?.data; + const deviceCount = groupDevices?.length; + + return { + title: group.groupName, + status: `ID: ${group.groupId}`, + to: `/groups/${group.groupId}`, + styleMode: "override", + content: deviceCount != null + ? (deviceCount === 1 ? "1 dispositivo" : `${deviceCount} dispositivos`) + : "Cargando dispositivos...", + className: "col-12 col-md-6 col-lg-4", + }; + })} + /> + ); +} +GroupsContent.propTypes = { + config: PropTypes.shape({ + devicesUrl: PropTypes.string.isRequired, + }).isRequired, +}; + +export default Groups; diff --git a/hardware/src/lib/sensor/BME280.cpp b/hardware/src/lib/sensor/BME280.cpp index bde5a1c..1561457 100644 --- a/hardware/src/lib/sensor/BME280.cpp +++ b/hardware/src/lib/sensor/BME280.cpp @@ -30,5 +30,5 @@ BME280Data_t BME280_Read() BME280::TempUnit tUnit(BME280::TempUnit_Celsius); BME280::PresUnit pUnit(BME280::PresUnit_Pa); bme.read(p, t, h, tUnit, pUnit); - return {p, t, h}; + return {p/100, t, h}; } diff --git a/hardware/src/main.cpp b/hardware/src/main.cpp index 0726145..f16bcec 100644 --- a/hardware/src/main.cpp +++ b/hardware/src/main.cpp @@ -119,7 +119,7 @@ void printAllData() Serial.println(DEVICE_ID, HEX); Serial.print("Presión: "); - Serial.print(bme280Data.pressure / 100); + Serial.print(bme280Data.pressure); Serial.println(" hPa"); Serial.print("Temperatura: "); Serial.print(bme280Data.temperature);