Panoramica dei moduli di base

Nella Piattaforma IIoT i dati sono organizzati sotto forma di tabelle, classificabili in base ai principali moduli di rappresentazione dei dati.

Questi moduli descrivono come si integrano tra loro le misure grezze, i dispositivi che le producono, le sessioni di comunicazione durante le quali vengono raccolte e i dati di riferimento che le categorizzano. Le tabelle riportate di seguito illustrano in dettaglio i campi principali di ciascun modulo e le chiavi esterne che li collegano.

Archivi dati

Gli archivi dati conservano le informazioni storiche, quali le metriche dei dispositivi IoT, i dati delle apparecchiature e altre misure. La tabella principale per l’archiviazione dei dati di archivio è channel_data.

CampoTipoDescrizione
idbigintIdentificatore univoco del record (chiave primaria).
equipment_idbigintRiferimento all’apparecchiatura (equipment.id).
seance_idbigintRiferimento alla sessione (seances.id).
channel_idbigintRiferimento al canale (channels.id).
unit_idbigintRiferimento all’unità di misura (units.id).
archive_type_idintegerRiferimento al tipo di archivio (referenceparameters.id).
event_timeintegerOrario dell’evento (ad es. timestamp).
valuecharacter varying(100)Valore ricevuto dal canale.
created_attimestamp(6) without time zoneOrario di creazione del record.
updated_attimestamp(6) without time zoneOrario dell’ultimo aggiornamento del record.

Questa tabella conserva i dati ricevuti dai canali delle apparecchiature e associa ciascun record alle apparecchiature, alle sessioni, ai canali e alle unità tramite chiavi esterne. Ciò consente di classificare i dati in base agli attributi specificati per la successiva analisi ed elaborazione.

  • equipment_id fa riferimento alla tabella equipment.
  • seance_id fa riferimento alla tabella seances.
  • channel_id fa riferimento alla tabella channels.
  • unit_id fa riferimento alla tabella units.
  • archive_type_id fa riferimento alla tabella referenceparameters.

Unità di misura

La tabella equipment conserva le informazioni sulle apparecchiature utilizzate nel sistema. Questo modulo è essenziale per la gestione dei dati associati ai dispositivi fisici, quali contatori, sensori, controllori e altri tipi di apparecchiature.

CampoTipoDescrizione
idbigintIdentificatore univoco del record (chiave primaria).
equipment_type_idbigintRiferimento al tipo di apparecchiatura.
serial_numbercharacter varying(25)Numero di serie dell’apparecchiatura.
manufacture_datetimestamp(6) without time zoneData di fabbricazione dell’apparecchiatura.
installation_datetimestamp(6) without time zoneData di installazione dell’apparecchiatura.
program_versioncharacter varying(100)Versione del software dell’apparecchiatura.
created_attimestamp(6) without time zoneOrario di creazione del record.
updated_attimestamp(6) without time zoneOrario dell’ultimo aggiornamento del record.

La tabella equipment:

  • conserva i dati di base sull’apparecchiatura, quali il numero di serie e le date di fabbricazione e di installazione;
  • utilizza il campo program_version per tracciare la versione del software installato sull’apparecchiatura;
  • utilizza i campi created_at e updated_at per tracciare le modifiche ai dati dell’apparecchiatura;
  • è collegata ad altre tabelle, quali equipment_types, channel_data e channels, tramite chiavi esterne;
  • consente di aggiungere, aggiornare e recuperare le informazioni sulle apparecchiature presenti nel sistema.

Il modulo di rappresentazione dei dati basato sulla tabella equipment consente una gestione efficiente delle informazioni sulle apparecchiature nel sistema.

Garantisce:

  • l’archiviazione dei dati di base delle apparecchiature;
  • la gestione delle versioni del software;
  • la comunicazione con le altre entità del sistema.

Sessioni di comunicazione

La tabella seances conserva le informazioni sulle sessioni di comunicazione e sull’attività delle apparecchiature. Le sessioni rappresentano i periodi di attività durante i quali avviene lo scambio di dati tra le apparecchiature e il sistema. Questo modulo è essenziale per la gestione e l’analisi dei dati associati alle sessioni di comunicazione.

Esaminiamo più da vicino questo modulo.

CampoTipoDescrizione
idbigintIdentificatore univoco del record (chiave primaria).
telemetry_idbigintRiferimento alla telemetria (telemetry.id).
event_timeintegerOrario dell’evento.
evtidsmallintIdentificatore dell’evento.
trycntsmallintNumero di tentativi.
tryflcharacter varying(12)Flag del tentativo.
statesmallintStato della sessione.
btmintegerCarica della batteria.
rssiintegerIntensità del segnale (se utilizzato).
created_attimestamp(6) without time zoneOrario di creazione del record.
updated_attimestamp(6) without time zoneOrario dell’ultimo aggiornamento del record.

Il modulo seances viene utilizzato per:

  • conservare le informazioni sulle sessioni di comunicazione e sul funzionamento delle apparecchiature;
  • gestire i dati relativi alle sessioni (ad esempio, orario dell’evento, stato della sessione, intensità del segnale e carica della batteria);
  • analizzare le sessioni per individuare problemi o ottimizzare le prestazioni del sistema;
  • gestire lo stato della sessione: il campo state consente di monitorare lo stato della sessione (ad esempio, riuscita, errore e così via);
  • analizzare le sessioni: i campi duration_session e session_traffic consentono di analizzare la durata e il volume del traffico della sessione;
  • tracciare le modifiche: i campi created_at e updated_at consentono di tracciare le modifiche ai dati della sessione.

Tipi di archivio

L’attributo archive_type_id categorizza i dati nella tabella channel_data in base al tipo di archivio. Ciò consente di organizzare i dati in diverse categorie, quali archivi orari, giornalieri, mensili, situazioni anomale e altri tipi di archivio. La tabella referenceparameters conserva le informazioni di riferimento sui tipi di archivio.

Questo modulo si fonda sulla relazione tra le tabelle channel_data e referenceparameters.

CampoTipoDescrizione
idbigintIdentificatore univoco del record (chiave primaria).
namecharacter varying(30)Nome del tipo di archivio.
varnamecharacter varying(30)Nome breve della variabile per il tipo di archivio.
descriptioncharacter varying(100)Descrizione del tipo di archivio.
parent_idintegerRiferimento al parametro padre (gerarchia).
referencemodel_idintegerRiferimento al modello di directory.
created_attimestamp(6) without time zoneOrario di creazione del record.
updated_attimestamp(6) without time zoneOrario dell’ultimo aggiornamento del record.
deleted_attimestamp(6) without time zoneOrario di eliminazione del record (soft delete).

Il campo archive_type_id nella tabella channel_data consente di categorizzare i dati in base al tipo di archivio.

Ad esempio:

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'],
    ...
  ]
]

Se necessario, questi archivi possono essere organizzati in gruppi:

  • dati correnti (current_state) — letture al momento della sessione di comunicazione;
  • dati aggregati (hourly, daily, monthly) — letture riepilogative relative a un determinato periodo di tempo;
  • eventi e situazioni anomale (nesht, event) — registrazioni di cambiamenti o accadimenti significativi nel sistema. Possono essere correlati alle apparecchiature, agli utenti o a fattori esterni;
  • stato della valvola (valve) — lo stato e il controllo della valvola del contatore, se presente;
  • azioni di controllo (update_app, send_sms, send_json) — registrazioni di comandi o azioni eseguiti per il controllo del sistema o delle apparecchiature;
  • e così via.

Il modulo di rappresentazione dei dati archive_type_id consente di categorizzare in modo efficiente i dati nei tipi di archivio e di gestire le informazioni di riferimento. Garantisce:

  • la classificazione dei dati nella tabella channel_data;
  • la gestione delle informazioni di riferimento sui tipi di archivio;
  • l’analisi dei dati per tipo di archivio.

Argomenti correlati

Ultimo aggiornamento il

Questa pagina è stata utile?