Nombre de la Imagen : devicehub-api
Índice
Descripción
Esta imagen de Docker está diseñada para ejecutar una aplicación Node.js en un entorno de producción, con herramientas adicionales instaladas para acceder a información del dispositivo. Utiliza Node.js en la versión especificada y Alpine Linux como base para minimizar el tamaño del contenedor.
Aplicación
Este repositorio contiene una aplicación desarrollada con NestJS que permite interactuar con dispositivos a través del protocolo Modbus TCP. Proporciona funcionalidades como la lectura de registros, conexión y desconexión de dispositivos, configuración de intervalos de lectura, entre otras funciones avanzadas para la interacción de los diferentes drivers Modbus. También se realiza la interacción con el Bróker MQTT envió de información de forma automatizada.
Funcionalidades principales
Conexión Modbus TCP : Establece la conexión a dispositivos utilizando el protocolo Modbus TCP/IP.
Lectura de Registros : Realiza lecturas de registros Modbus para obtener datos de dispositivos.
Configuración de Intervalos : Permite configurar intervalos de lectura para obtener datos periódicamente.
Agregado, Edición y Eliminación de Dispositivos : Facilita la gestión de dispositivos Modbus TCP.
Plantillas : Diversos dispositivos ya preregistrados para facilitar el registro de nuevos dispositivos Modbus TCP.
Conexión MQTT : Establece la conexión al bróker MQTT.
Tareas : Configurar tareas de lecturas y envió por MQTT.
Alarmas : Configurar tareas de alarmas para monitorear variables y generar eventos.
Email : Configurar para el envio de los eventos de alarmas por correo electrónico.
Telegram : Configurar para el envio de los eventos de alarmas por mensajes de telegram.
Descargas : Descarga de la información en formato de tablas excel.
MQTT : Lectura centralizada desde MQTT de dispositivo, grupos y tags.
Otros : Gestión de usuarios, y otras configuraciones.
Características
Basada en Node.js ${NODE_VERSION=20.11.1-alpine3.19} en Alpine Linux
Acceso a herramientas de diagnóstico del dispositivo
Configuración del puerto y otras variables de entorno
Usuario no privilegiado para mejorar la seguridad
Estructura de directorios optimizada para una aplicación Node.js
Lista de plantillas preregistradas
SCHNEIDER : PM5650,PM5570,PM5580,PM5660,PM5661,PM5760,PM5761,PM5560 ,PM5561,PM5563
SCHNEIDER : PM5100 ,PM5300
SCHNEIDER : POWERTAG M63, NSX250-630, ROPE
SCHNEIDER : MICROLOGIC NSX
ABB : CMS700, M1M SERIES, M4M SERIES
FINDER : 7M38, 7M24
Uso
Descargar la imagen
docker pull iothost/devicehub-api:latest
Copy
Montar el contenedor desde la imagen
docker container run --restart=always -d -e JWT_SECRET=YOU_JWT_SECRET -p 4000:4000 --name you-container-name iothost/devicehub-api:latest
Copy
Ejemplo de instalación desde un docker-compose
version: '3.8'
services:
devicehub-api:
image: iothost/devicehub-api:latest
container_name: devicehub-api
environment:
- JWT_SECRET=${JWT_SECRET}
ports:
- "${PORT}:4000"
restart: always
Copy
Configuración de variables de entorno
PORT : El puerto en el que la aplicación Node.js escuchará las solicitudes. Por defecto es 4000. (Opcional)
DB_NAME : El nombre de la base de datos SQLite. Por defecto es db.sqlite. (Opcional)
HASH_SALT : El valor de sal para las funciones de hash. Por defecto es 10. (Opcional)
JWT_SECRET : El secreto utilizado para firmar los tokens JWT. (Debe ser establecido por el usuario) .
Acceso al panel de usuario
Una vez que el contenedor esté corriendo, se puede acceder al panel de configuración desde el siguiente URL con las siguientes credenciales por defecto.
URL : http://localhost:4000
USUARIO ADMINISTRADOR : admin - Este usuario tiene el control total de la aplicación
USUARIO VISOR : user - Este usuario solo puede visualizar los valores leídos y cambiar su contraseña
CONTRASEÑA : La contraseña para ambos usuarios es "Energy2024*"
Soporte
Videos de entrenamiento
Licencia
DEVICEHUB - TRIAL: 50 Tags , validez por 5 años
DEVICEHUB - HOME: 500 Tags , validez de por vida
DEVICEHUB - SMALL: 1000 Tags , validez de por vida
DEVICEHUB - BASIC: 2000 Tags , validez de por vida
DEVICEHUB - STANDARD: 5000 Tags , validez de por vida
DEVICEHUB - PROFESSIONAL: 10000 Tags , validez de por vida
DEVICEHUB - ENTERPRISE: 20000 Tags , validez de por vida
Para precios de las licencias profesionales, contactar al correo electrónico o desde la aplicación.
Uso trial por 30 días.
Se puede generar una licencia DEVICEHUB - PROFESSIONAL con validez de 30días , para solicitar envíe un correo electrónico a nuestra dirección de Soporte , con los siguientes datos o desde la aplicación en las opciones de Licencia.
Name:
Country:
Company:
Email:
Copy
Versiones
3.0.0
Nuevas características:
Lectura centralizada de dispositivos Modbus a través de MQTT.
Lectura instantánea de dispositivos Modbus con opción de exportación a Excel.
Datos organizados por zona geográfica.
Mejoras:
Incremento significativo en el rendimiento general.
Optimización del CORE para una mayor eficiencia.
2.0.0
Nuevas características:
Soporte para nuevos tipos de datos.
Incorporación de plantillas específicas para equipos ABB y Schneider.
Gestión de alarmas con soporte para hasta 5 tags en versión trial.
Lectura remota de dispositivos Modbus mediante MQTT.
Función de exportación de datos en formato Excel.
1.1.0
Nuevas plantillas y soporte para más tipos de datos.
Mejoras en el código base y optimización del rendimiento.
1.0.0
Primera versión estable con funcionalidades iniciales.
Versión de la documentación