Este proyecto se enfoca en desarrollar un sistema de monitoreo y control basado en IoT, que permite la captura y almacenamiento de datos de sensores, visualización en tiempo real, y gestión remota de actuadores. Su propósito principal es optimizar recursos y mejorar la eficiencia operativa, automatizando procesos y proporcionando un entorno seguro para la transmisión de datos.
Motivación: La creciente importancia de los sistemas IoT en la automatización impulsa la necesidad de gestionar grandes volúmenes de datos de sensores y actuar en tiempo real. Este proyecto busca ofrecer una solución completa que facilite la administración y el monitoreo en entornos conectados.
Objetivos:
- Integrar sensores y actuadores para monitorear condiciones ambientales y gestionar recursos de manera remota.
- Crear un dashboard interactivo para la visualización de métricas en tiempo real.
Extras 3. Garantizar la seguridad en la autenticación y la gestión de usuarios, protegiendo la integridad de los datos.
- Node.js v20.18.0
- Docker v27.2.0
- Kubernetes v1.31.1+k3s1 (para despliegue en producción)
- MongoDB Atlas y InfluxDB (con instancias en la nube o locales)
- MQTT Broker (para transmisión de mensajes entre sensores y actuadores)
-
Clonar el repositorio:
git clone https://github.com/ikreasoft/DashboardUbicuos.git cd project
-
Instalar dependencias del backend:
cd backend npm install
-
Instalar dependencias del frontend:
cd ../frontend npm install
-
Configurar variables de entorno en
.env
:MONGO_URI=your-mongodb-uri INFLUXDB_URL=your-influxdb-url MQTT_BROKER=your-mqtt-broker-url
-
Inicializar contenedores en Docker:
docker-compose up -d
-
Iniciar Kubernetes (opcional para producción):
kubectl apply -f k8s-deployment.yml
Para acceder al dashboard, abre http://localhost:3000
:
- Monitoreo de datos en tiempo real de sensores IoT.
- Gestión remota de actuadores: encendido y apagado de dispositivos.
- Almacenamiento de series temporales y datos estructurados en InfluxDB y MongoDB.
-
Simular datos de sensores:
python scripts/generate_data.py
-
Monitorear con MQTT: Ejecutar scripts de monitoreo para verificar la transmisión de mensajes.
project/
├── backend/ # API en Node.js
│ ├── controllers/ # Controladores de rutas
│ ├── models/ # Modelos de MongoDB, InfluxDB
│ ├── routes/ # Rutas API
│ └── app.js # Archivo principal
│
├── frontend/ # Interfaz gráfica en React.js
│ ├── public/ # Archivos estáticos
│ ├── src/ # Código fuente
│ └── index.js # Punto de entrada del frontend
│
├── scripts/ # Scripts para simulación
│ └── generate_data.py # Generador de datos de sensores IoT
│
└── README.md # Documentación
- La configuración de red y los dispositivos (como Raspberry Pi, Orange Pi) deben estar operativos antes de iniciar el sistema.
- El sistema se puede configurar para monitorización remota mediante VPN y protocolos de seguridad adicionales.
We are currently looking for new donators to help and maintain this project! ❤️
By donating, you will help the development of this project, and you will be featured in this DashboardUbicuos's README.md, so everyone can see your kindness and visit your content ⭐.
Enjoy! 😃
See the license in the 'LICENSE' file.
Watch the changes in the 'CHANGELOG.md' file.
Made with a lot of ❤️❤️ by @ikreasoft