Descripción general de los módulos básicos

En la Plataforma IIoT, los datos se organizan en forma de tablas, que pueden clasificarse según los principales módulos de representación de datos.

Estos módulos describen cómo encajan entre sí las mediciones en bruto, los dispositivos que las producen, las sesiones de comunicación durante las cuales se recopilan y los datos de referencia que las categorizan. Las tablas siguientes detallan los campos clave de cada módulo y las claves foráneas que los relacionan.

Archivos de datos

Los archivos de datos almacenan información histórica como las métricas de los dispositivos IoT, los datos de los equipos y otras mediciones. La tabla principal para almacenar los datos de archivo es channel_data.

CampoTipoDescripción
idbigintIdentificador único del registro (clave primaria).
equipment_idbigintReferencia al equipo (equipment.id).
seance_idbigintReferencia a la sesión (seances.id).
channel_idbigintReferencia al canal (channels.id).
unit_idbigintReferencia a la unidad de medida (units.id).
archive_type_idintegerReferencia al tipo de archivo (referenceparameters.id).
event_timeintegerHora del evento (p. ej., marca de tiempo).
valuecharacter varying(100)Valor recibido del canal.
created_attimestamp(6) without time zoneHora en que se creó el registro.
updated_attimestamp(6) without time zoneHora de la última actualización del registro.

Esta tabla almacena los datos recibidos de los canales del equipo y asocia cada registro con equipos, sesiones, canales y unidades mediante claves foráneas. Esto permite clasificar los datos según los atributos indicados para su posterior análisis y procesamiento.

  • equipment_id hace referencia a la tabla equipment.
  • seance_id hace referencia a la tabla seances.
  • channel_id hace referencia a la tabla channels.
  • unit_id hace referencia a la tabla units.
  • archive_type_id hace referencia a la tabla referenceparameters.

Equipos de medición

La tabla equipment almacena información sobre los equipos utilizados en el sistema. Este módulo es fundamental para gestionar los datos asociados a los dispositivos físicos, como contadores, sensores, controladores y otros tipos de equipos.

CampoTipoDescripción
idbigintIdentificador único del registro (clave primaria).
equipment_type_idbigintReferencia al tipo de equipo.
serial_numbercharacter varying(25)Número de serie del equipo.
manufacture_datetimestamp(6) without time zoneFecha de fabricación del equipo.
installation_datetimestamp(6) without time zoneFecha de instalación del equipo.
program_versioncharacter varying(100)Versión del software del equipo.
created_attimestamp(6) without time zoneHora en que se creó el registro.
updated_attimestamp(6) without time zoneHora de la última actualización del registro.

La tabla equipment:

  • almacena los datos básicos del equipo, como el número de serie y las fechas de fabricación e instalación;
  • utiliza el campo program_version para realizar el seguimiento de la versión del software instalado en el equipo;
  • utiliza los campos created_at y updated_at para realizar el seguimiento de los cambios en los datos del equipo;
  • está vinculada con otras tablas, como equipment_types, channel_data y channels, mediante claves foráneas;
  • permite añadir, actualizar y recuperar información sobre los equipos del sistema.

El módulo de representación de datos basado en la tabla equipment permite gestionar de forma eficiente la información de los equipos del sistema.

Proporciona:

  • el almacenamiento de los datos básicos del equipo;
  • la gestión de las versiones del software;
  • la comunicación con otras entidades del sistema.

Sesiones de comunicación

La tabla seances almacena información sobre las sesiones de comunicación y la actividad de los equipos. Las sesiones representan periodos de actividad durante los cuales se intercambian datos entre el equipo y el sistema. Este módulo es fundamental para gestionar y analizar los datos asociados a las sesiones de comunicación.

Veamos este módulo con más detalle.

CampoTipoDescripción
idbigintIdentificador único del registro (clave primaria).
telemetry_idbigintReferencia a la telemetría (telemetry.id).
event_timeintegerHora del evento.
evtidsmallintIdentificador del evento.
trycntsmallintNúmero de intentos.
tryflcharacter varying(12)Marca del intento.
statesmallintEstado de la sesión.
btmintegerCarga de la batería.
rssiintegerIntensidad de la señal (si se utiliza).
created_attimestamp(6) without time zoneHora en que se creó el registro.
updated_attimestamp(6) without time zoneHora de la última actualización del registro.

El módulo seances se utiliza para:

  • almacenar información sobre las sesiones de comunicación y el funcionamiento del equipo;
  • gestionar los datos relacionados con las sesiones (por ejemplo, la hora del evento, el estado de la sesión, la intensidad de la señal y la carga de la batería);
  • analizar las sesiones para detectar problemas u optimizar el rendimiento del sistema;
  • la gestión del estado de la sesión: el campo state permite supervisar el estado de la sesión (por ejemplo, correcta, con error, etc.);
  • el análisis de las sesiones: los campos duration_session y session_traffic permiten analizar la duración y el volumen del tráfico de la sesión;
  • el seguimiento de los cambios: los campos created_at y updated_at permiten realizar el seguimiento de los cambios en los datos de la sesión.

Tipos de archivo

El atributo archive_type_id categoriza los datos de la tabla channel_data por tipo de archivo. Esto permite organizar los datos en distintas categorías, como horarios, diarios, mensuales, situaciones anómalas y otros tipos de archivo. La tabla referenceparameters almacena la información de referencia sobre los tipos de archivo.

Este módulo se basa en la relación entre las tablas channel_data y referenceparameters.

CampoTipoDescripción
idbigintIdentificador único del registro (clave primaria).
namecharacter varying(30)Nombre del tipo de archivo.
varnamecharacter varying(30)Nombre corto de variable para el tipo de archivo.
descriptioncharacter varying(100)Descripción del tipo de archivo.
parent_idintegerReferencia al parámetro padre (jerarquía).
referencemodel_idintegerReferencia al modelo del directorio.
created_attimestamp(6) without time zoneHora en que se creó el registro.
updated_attimestamp(6) without time zoneHora de la última actualización del registro.
deleted_attimestamp(6) without time zoneHora en que se eliminó el registro (eliminación lógica).

El campo archive_type_id de la tabla channel_data permite categorizar los datos por tipo de archivo.

Por ejemplo:

ruby
[ 'Archive types', 'archive_types', 'Archive types (hourly, daily, monthly)',
  [
    ['Hourly readings archive', 'hourly'],
    ['Daily readings archive', 'daily'],
    ['Monthly readings archive', 'monthly'],
    ['Emergency situations archive', 'nesht'],
    ['Events archive', 'event'],
    ['Valve status', 'valve'],
    ['Current state', 'current_state'],
    ['Updated firmware', 'update_app'],
    ['Send SMS', 'send_sms'],
    ['Send JSON', 'send_json'],
    ...
  ]
]

Si es necesario, estos archivos pueden organizarse en grupos:

  • datos actuales (current_state): lecturas en el momento de la sesión de comunicación;
  • datos agregados (hourly, daily, monthly): lecturas resumidas correspondientes a un determinado periodo de tiempo;
  • eventos y situaciones anómalas (nesht, event): registros de cambios o sucesos significativos en el sistema. Pueden estar relacionados con los equipos, los usuarios o factores externos;
  • estado de la válvula (valve): el estado y el control de la válvula del contador, si la hubiera;
  • acciones de control (update_app, send_sms, send_json): registros de los comandos o acciones ejecutados para controlar el sistema o el equipo;
  • etcétera.

El módulo de representación de datos archive_type_id permite categorizar de forma eficiente los datos en tipos de archivo y gestionar la información de referencia. Proporciona:

  • la clasificación de los datos de la tabla channel_data;
  • la gestión de la información de referencia sobre los tipos de archivo;
  • el análisis de los datos por tipo de archivo.

Temas relacionados

Última actualización el

¿Te resultó útil esta página?