Sign inSign up

iothost/devicehub-api

By iothost

Updated almost 2 years ago

Gateway Modbus/TCP a MQTT

Image
Internet of things
3

1.5K

iothost/devicehub-api repository overview

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
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
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
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: 

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

Tag summary

Content type

Image

Digest

sha256:c00dbafea

Size

113.1 MB

Last updated

almost 2 years ago

docker pull iothost/devicehub-api