+
+
+
+
+
logo

Architettura

Il sistema adotta un’architettura modulare che assicura affidabilità e scalabilità, ripartendo le funzioni tra Edge Device, Frontend Web e Backend. Sul lato backend è stata adottata un’architettura a microservizi che comunicano attraverso il protocollo AMQP implementato con RabbitMQ, così da favorire l’indipendenza dei componenti. Il frontend segue un approccio a micro-frontend, separando la parte di presentazione del servizio dalla webapp principale, più complessa e con maggiori requisiti computazionali. L’applicazione è predisposta a ricevere misure sia dai dispositivi singoli sia da nodi intermedi che aggregano dati da più sorgenti, al fine di ridurre il numero di handshakes nei messaggi scambiati tramite broker MQTT. Le principali componenti in cui si articola il sistema sono:

architettura
Frontend
L'interfaccia web permette agli utenti di visualizzare le mappe degli inquinanti sull'intero territorio pugliese o, a scelta, solo su Lecce. In base al ruolo, gli utenti possono eseguire simulazioni, mentre la gestione dell'applicazione è riservata esclusivamente all'Admin.
Gateway
I microservizi sono stati connessi al frontend utilizzando KrakenD, un gateway con configurazione basata su JSON.
User Service
Il microservizio User Service gestisce gli utenti del sistema, occupandosi di registrazione, autenticazione, gestione degli account e dei domini affiliati da parte dell’Admin. Utilizza token JWT per garantire un accesso sicuro alle risorse e interagisce con il Notification Service per l’invio di email.
Notification
Il microservizio gestisce l’invio delle email e comunica con il microservizio UserService tramite il protocollo AMQP, implementato con RabbitMQ.
Smartbox
La Smartbox, basata su ESP32 DevKit-C, rileva inquinanti e invia al broker MQTT le misure al minuto 50 di ogni ora, destinate a un microservizio. Gestisce inoltre disconnessioni e malfunzionamenti tramite messaggi e API dedicate.
Device Indexer
Il microservizio Device Indexer mantiene il registro dei dispositivi, traccia lo stato di connessione, riceve e inoltra le misurazioni al Data Processor. Inoltre espone API per la gestione dei dispositivi e la loro disconnessione in caso di anomalie.
Data Processor
Il Data Processor si occupa direttamente del post processing dei dati, della generazione delle immagini e della gestione delle simulazioni. Esegue interpolazioni per generare mappe di distribuzione degli inquinanti e supporta simulazioni ambientali e sanitarie, fornendo inoltre API per l’accesso alle immagini e metriche.
Client MQTT
Un client Python simula l’invio concorrente di misurazioni da più dispositivi, generando dati realistici basati sulla distribuzione geografica delle province pugliesi.

Hardware

Al centro del sistema ci sono le Smartbox, dispositivi intelligenti costruiti attorno al microcontrollore ESP32 DevKit-C, che rappresentano i sensori distribuiti sul territorio per rilevare gli inquinanti atmosferici. Questi dispositivi sono progettati per funzionare in modo autonomo e intelligente: ogni Smartbox è dotata di connettività Wi-Fi integrata e può essere configurata facilmente dagli utenti attraverso un web server incorporato, accessibile semplicemente collegandosi all'indirizzo IP del dispositivo tramite un normale browser web. Una volta configurate, le Smartbox operano secondo un ciclo regolare, pubblicando automaticamente le misurazioni degli inquinanti ogni ora, precisamente al 50° minuto, utilizzando il protocollo MQTT.

Funzionalità

Il sistema offre una serie di funzionalità avanzate per il monitoraggio della qualità dell'aria e visualizzazione dei dati accessibile a tutti. La piattaforma, caratterizzata da un’interfaccia user-friendly, offre strumenti di visualizzazione intuitivi, mappe interattive per ogni inquinante e funzionalità di analisi storica dei dati, rendendo le informazioni ambientali comprensibili e utilizzabili anche da utenti non specializzati. Particolare attenzione è stata dedicata al settore accademico e alla pubblica amministrazione: per gli studenti universitari, i ricercatori e gli enti pubblici non solo è garantito l’accesso gratuito dei dati raccolti consultando le mappe, ma anche l’utilizzo di funzionalità avanzate di simulazione. Queste includono modelli predittivi per valutare l’impatto attuale e futuro dell’inquinamento sulla salute e strumenti per stimare la riduzione degli inquinanti in seguito ad interventi di forestazione urbana.