Monitoraggio IoT con i sistemi SCADA open source

In questo articolo viene descritto un esempio di implementazione di un sistema SCADA open source basato sull'Internet of Things (IoT). In questo esempio, il sistema SCADA è costituito da sensori di corrente e tensione per la raccolta dei dati, un microcontrollore ESP32 con display OLED per la ricezione e l'elaborazione dei dati dei sensori, e il server IoT ThingsBoard per l'archiviazione dei dati storici e le interazioni uomo-macchina. Per il trasferimento dei dati dei sensori dall'ESP32 al server IoT ThingsBoard, il protocollo MQTT (Message Queuing Telemetry Transport) è implementato per il trasferimento dei dati su una connessione Wi-Fi locale con il client MQTT configurato sull'ESP32 e il nodo del server ThingsBoard che funge da Broker (server) MQTT.

Introduzione

Le risorse distribuite, come i componenti dei sistemi di alimentazione ibrido, richiedono sistemi di monitoraggio e controllo dei dati, coordinati, affidabili, tempestivi e sicuri. Il sistema SCADA (Supervisory Control and Data Acquisition) è una tecnologia per il monitoraggio e il controllo coordinato di tali risorse. Tuttavia, i progetti e le implementazioni del sistema SCADA sono stati in gran parte proprietari, per lo più costosi e quindi economicamente ingiustificabili per applicazioni minori. Con i sistemi SCADA proprietari, esiste anche il problema dell'interoperabilità con i componenti esistenti come convertitori elettronici di potenza, sistemi di accumulo di energia e sistemi di comunicazione, poiché questi componenti provengono solitamente da più fornitori. Pertanto, un sistema SCADA open source rappresenta l'opzione SCADA più flessibile ed economica per tali risorse.

Considerando che i sistemi di alimentazione ibridi e i loro componenti associati sono situati in postazioni remote, è necessario un sistema SCADA per il monitoraggio remoto, controllo coordinato e acquisizione dei dati dai vari sensori, attuatori e altri dispositivi di strumentazione di campo collegati ai vari punti di interesse. Il sistema SCADA aiuterebbe nella raccolta efficiente di dati da questi sensori, attuatori e controllori variamente distribuiti, nel controllo remoto in tempo reale del sistema, e nel monitoraggio remoto e manutenzione della corrente, tensione e potenza del sistema di alimentazione. Il sistema SCADA può essere considerato una combinazione di telemetria e acquisizione dati. Comprende la raccolta di informazioni da impianti di processo distribuiti, il trasferimento di questi dati a una postazione centrale, l'analisi di questi dati per conoscere gli stati attuali degli impianti di processo distribuiti, il controllo di supervisione degli impianti di processo, la visualizzazione di questi dati su una serie di schermate o display dell'operatore (interfaccia uomo-macchina) e le azioni di controllo e di intervento necessarie da parte dell'operatore locale. In sostanza, SCADA è un sistema di controllo a circuito chiuso.

Le tecnologie dello SCADA open source

Le principali tecnologie impiegate nella progettazione del sistema SCADA open source di questo articolo sono:

  • Internet of Things (IoT)
  • Protocollo MQTT (Message Queuing Telemetry Transport)
  • Server IoT ThingsBoard
  • Microcontrollore Wi-Fi ESP32 LORA32
  • Sensori

L'Internet of Things è una tecnologia che consente l'interconnessione di dispositivi fisici come edifici, veicoli, etc., con dispositivi ad elettronica integrata, sensori, software e connettività di rete in modo che i dispositivi possano raccogliere e scambiare dati in tempo reale tra di loro e un operatore su una piattaforma comune, il web o la rete. Il sistema SCADA open source si basa sull'architettura IoT-SCADA in cui le funzionalità IoT sono integrate nel sistema SCADA convenzionale per un'acquisizione dati più robusta, per il monitoraggio remoto e il controllo di supervisione.

Protocollo MQTT

MQTT è un leggero protocollo di comunicazione dati standard open source. L'MQTT, con un frame fisso a 2 byte, è particolarmente adatto per applicazioni IoT in quanto supporta applicazioni con risorse limitate come larghezze di banda ridotte, bassa potenza di calcolo, poca memoria, ridotto consumo energetico, ovvero, requisiti tipici in un dominio IoT. MQTT opera su connessione TCP/IP e può essere implementato su varie reti come Ethernet e WLAN (Wireless Local Area Networks). L'architettura generale del protocollo MQTT essenzialmente utilizza un meccanismo di messaggistica di pubblicazione-sottoscrizione ed è costituito da un broker (server) e da client. Il broker MQTT è solitamente un server in esecuzione nel cloud o su Internet, ed è responsabile dell'archiviazione dei dati pubblicati in base a diversi argomenti, e del rilascio del messaggio (dati) agli abbonati legittimi.

Il client MQTT è una qualsiasi parte di hardware, software o combinazione di hardware e software che si connette al broker allo scopo di scambiare dati. Quando un dispositivo o un client connesso scarica i dati dal broker (server), il processo viene chiamato sottoscrizione e quel particolare client è noto come abbonato. D'altra parte, quando un dispositivo connesso (client) invia dati a un broker (server), il client viene indicato come Publisher e il processo viene chiamato Publishing. Da qui, il termine "Pubblica-Sottoscrivi", meccanismo su cui si basa il protocollo MQTT.

Server IoT ThingsBoard

ThingsBoard è una piattaforma IoT open source per la raccolta, l'elaborazione, la visualizzazione e la gestione dei dispositivi. Fornisce una soluzione IoT cloud pronta all'uso per abilitare l'infrastruttura lato server per varie applicazioni IoT. Costruito sulla piattaforma Java 8, ThingsBoard fornisce supporto al 100% per i protocolli IoT standard per la connettività dei dispositivi, inclusi MQTT, CoAP e HTTP, e attualmente supporta tre diverse opzioni di database: SQL, NoSQL e database ibridi.

La piattaforma ThingsBoard utilizza questi database per archiviare entità (come dispositivi, risorse, dashboard, utenti, allarmi, client, etc.), e dati di telemetria (attributi, letture di sensori di serie temporali, statistiche, eventi, etc.). Le telemetrie sono serie temporali di coppie chiave-valore di dati associate a un dispositivo specifico e ThingsBoard archivia i dati ricevuti come telemetria. Gli asset sono contenitori per riorganizzare i dati ricevuti e potrebbero essere utilizzati per caricare i risultati dell'elaborazione dei dati. Gli attributi, d'altra parte, di solito rappresentano le funzionalità del dispositivo come la versione del firmware, le specifiche hardware, etc. , che vengono assegnate ai dispositivi e alle risorse registrati sotto forma di coppie chiave-valore.

Sensori elettronici di tensione

Il sensore di tensione analogico utilizza il concetto di partitore di tensione integrato per misurare la tensione del sistema di alimentazione utilizzando un convertitore analogico digitale (ADC) a 12 bit. Le uscite dei sensori sono collegate al microcontrollore ESP32 per l’elaborazione e la trasmissione wireless al sistema di controllo centrale.

Sensore di corrente ad effetto Hall

Il sensore di corrente completamente integrato, si basa sul principio dell'effetto Hall e fornisce una tensione in uscita in funzione della corrente che attraversa il sensore. Quando viene applicata la tensione di alimentazione al sensore, in genere 5 V, la corrente che scorre attraverso il percorso di conduzione in rame genera un campo magnetico che il sensore converte in una tensione di uscita proporzionale alla corrente. Utilizzando la sensibilità del sensore, la tensione del segnale e la risoluzione ADC del microcontrollore ESP32, la corrente di uscita equivalente viene calcolata da questa tensione di uscita utilizzando il software IDE di Arduino. Tuttavia, poiché la tensione del segnale del sensore di corrente può arrivare fino a 5 V, non può essere collegato direttamente al pin ADC del microcontrollore ESP32 poiché i pin ADC hanno valori logici operativi tra 0 V e 3,3 V. Pertanto, per garantire la precisione dei valori misurati, un partitore di tensione viene utilizzato per garantire il requisito di compatibilità del segnale a 5 V del sensore di corrente a quello del segnale 3,3 V dell'ADC dell’ESP32.

Microcontrollore ESP32 LoRa32 OLED

La scheda microcontrollore ESP32 LoRa32 con display OLED da 0,96 pollici (Figura 1) ha le seguenti specifiche chiave: [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2093 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend