Présentation des modules de base

Dans la Plateforme IIoT, les données sont organisées sous forme de tables, qui peuvent être classées selon les principaux modules de représentation des données.

Ces modules décrivent la façon dont s’articulent les mesures brutes, les appareils qui les produisent, les sessions de communication au cours desquelles elles sont collectées et les données de référence qui les catégorisent. Les tables ci-dessous détaillent les champs clés de chaque module ainsi que les clés étrangères qui les relient.

Archives de données

Les archives de données conservent des informations historiques telles que les métriques des appareils IoT, les données des équipements et d’autres mesures. La table principale de stockage des données d’archive est channel_data.

ChampTypeDescription
idbigintIdentifiant unique de l’enregistrement (clé primaire).
equipment_idbigintRéférence à l’équipement (equipment.id).
seance_idbigintRéférence à la session (seances.id).
channel_idbigintRéférence au canal (channels.id).
unit_idbigintRéférence à l’unité de mesure (units.id).
archive_type_idintegerRéférence au type d’archive (referenceparameters.id).
event_timeintegerHeure de l’événement (par ex. horodatage).
valuecharacter varying(100)Valeur reçue du canal.
created_attimestamp(6) without time zoneHeure de création de l’enregistrement.
updated_attimestamp(6) without time zoneHeure de la dernière mise à jour de l’enregistrement.

Cette table stocke les données reçues des canaux des équipements et associe chaque enregistrement à un équipement, des sessions, des canaux et des unités au moyen de clés étrangères. Cela permet de classer les données selon les attributs indiqués en vue d’une analyse et d’un traitement ultérieurs.

  • equipment_id renvoie à la table equipment.
  • seance_id renvoie à la table seances.
  • channel_id renvoie à la table channels.
  • unit_id renvoie à la table units.
  • archive_type_id renvoie à la table referenceparameters.

Unités de comptage

La table equipment stocke les informations relatives aux équipements utilisés dans le système. Ce module est essentiel à la gestion des données associées aux appareils physiques tels que les compteurs, les capteurs, les contrôleurs et d’autres types d’équipements.

ChampTypeDescription
idbigintIdentifiant unique de l’enregistrement (clé primaire).
equipment_type_idbigintRéférence au type d’équipement.
serial_numbercharacter varying(25)Numéro de série de l’équipement.
manufacture_datetimestamp(6) without time zoneDate de fabrication de l’équipement.
installation_datetimestamp(6) without time zoneDate d’installation de l’équipement.
program_versioncharacter varying(100)Version logicielle de l’équipement.
created_attimestamp(6) without time zoneHeure de création de l’enregistrement.
updated_attimestamp(6) without time zoneHeure de la dernière mise à jour de l’enregistrement.

La table equipment :

  • stocke les données de base sur l’équipement, comme le numéro de série et les dates de fabrication et d’installation ;
  • utilise le champ program_version pour suivre la version du logiciel installé sur l’équipement ;
  • utilise les champs created_at et updated_at pour suivre les modifications des données d’équipement ;
  • est reliée à d’autres tables, telles que equipment_types, channel_data et channels, au moyen de clés étrangères ;
  • permet d’ajouter, de mettre à jour et de récupérer les informations sur les équipements du système.

Le module de représentation des données reposant sur la table equipment permet une gestion efficace des informations d’équipement dans le système.

Il assure :

  • le stockage des données de base sur les équipements ;
  • la gestion des versions logicielles ;
  • la communication avec les autres entités du système.

Sessions de communication

La table seances stocke les informations relatives aux sessions de communication et à l’activité des équipements. Les sessions représentent des périodes d’activité au cours desquelles des données sont échangées entre l’équipement et le système. Ce module est essentiel à la gestion et à l’analyse des données associées aux sessions de communication.

Examinons ce module de plus près.

ChampTypeDescription
idbigintIdentifiant unique de l’enregistrement (clé primaire).
telemetry_idbigintRéférence à la télémétrie (telemetry.id).
event_timeintegerHeure de l’événement.
evtidsmallintIdentifiant de l’événement.
trycntsmallintNombre de tentatives.
tryflcharacter varying(12)Indicateur de la tentative.
statesmallintÉtat de la session.
btmintegerNiveau de charge de la batterie.
rssiintegerPuissance du signal (si utilisée).
created_attimestamp(6) without time zoneHeure de création de l’enregistrement.
updated_attimestamp(6) without time zoneHeure de la dernière mise à jour de l’enregistrement.

Le module seances sert à :

  • stocker les informations sur les sessions de communication et le fonctionnement des équipements ;
  • gérer les données liées aux sessions (par exemple, l’heure de l’événement, l’état de la session, la puissance du signal et le niveau de charge de la batterie) ;
  • analyser les sessions afin de repérer des problèmes ou d’optimiser les performances du système ;
  • la gestion de l’état des sessions : le champ state permet de surveiller l’état de la session (par exemple, réussie, en erreur, etc.) ;
  • l’analyse des sessions : les champs duration_session et session_traffic permettent d’analyser la durée et le volume du trafic de session ;
  • le suivi des modifications : les champs created_at et updated_at permettent de suivre les modifications des données de session.

Types d’archive

L’attribut archive_type_id catégorise les données de la table channel_data par type d’archive. Cela permet d’organiser les données en différentes catégories, telles que horaire, quotidienne, mensuelle, situations anormales et autres types d’archive. La table referenceparameters stocke les informations de référence relatives aux types d’archive.

Ce module repose sur la relation entre les tables channel_data et referenceparameters.

ChampTypeDescription
idbigintIdentifiant unique de l’enregistrement (clé primaire).
namecharacter varying(30)Nom du type d’archive.
varnamecharacter varying(30)Nom de variable abrégé du type d’archive.
descriptioncharacter varying(100)Description du type d’archive.
parent_idintegerRéférence au paramètre parent (hiérarchie).
referencemodel_idintegerRéférence au modèle de répertoire.
created_attimestamp(6) without time zoneHeure de création de l’enregistrement.
updated_attimestamp(6) without time zoneHeure de la dernière mise à jour de l’enregistrement.
deleted_attimestamp(6) without time zoneHeure de suppression de l’enregistrement (suppression logique).

Le champ archive_type_id de la table channel_data permet de catégoriser les données par type d’archive.

Par exemple :

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 nécessaire, ces archives peuvent être organisées en groupes :

  • données courantes (current_state) — relevés au moment de la session de communication ;
  • données agrégées (hourly, daily, monthly) — relevés récapitulatifs pour une période donnée ;
  • événements et situations anormales (nesht, event) — enregistrements de changements ou d’occurrences significatifs dans le système. Ils peuvent être liés aux équipements, aux utilisateurs ou à des facteurs externes ;
  • état de la vanne (valve) — état et commande de la vanne du compteur, le cas échéant ;
  • actions de commande (update_app, send_sms, send_json) — enregistrements de commandes ou d’actions exécutées pour piloter le système ou l’équipement ;
  • et ainsi de suite.

Le module de représentation des données archive_type_id permet de catégoriser efficacement les données par types d’archive et de gérer les informations de référence. Il assure :

  • la classification des données dans la table channel_data ;
  • la gestion des informations de référence relatives aux types d’archive ;
  • l’analyse des données par type d’archive.

Sujets connexes

Dernière mise à jour le

Cette page vous a-t-elle été utile ?