Università degli Studi Milano Bicocca
Corso di laurea magistrale in Informatica
LABORATORIO DI PROGETTAZIONE
Sistema di risparmio energetico aziendale
Analisi della gestione dell’illuminazione
Analisi di dominio
•
•
•
La struttura sulla quale verrà installato il sistema è un edificio aziendale costituito
da uno o più piani con diversi ambienti. Ai fini della gestione dell’illuminazione,
ogni ambiente verrà considerato come una stanza, suddivisa in uno o più settori. I
settori delle stanze vengono definiti in fase di configurazione del sistema.
Saranno presenti uno o più terminali Video Touch Screen BTicino di controllo da
15’ per ogni piano e in altri punti strategici come l’ufficio del direttore e la
portineria.
L'edificio è equipaggiato con i seguenti impianti di domotica della Bticino. In base
alla dimensione della stanza saranno presenti:








Una o più luci a risparmio energetico.
Un rilevatore di presenza per ogni settore.
Un sensore di luminosità interna per ogni settore.
Uno o più sensori di luminosità esterna per ogni lato dell'edificio.
Uno o più pulsanti di regolazione delle luci per ogni settore.
Uno o più pulsanti di apertura/chiusura delle tapparelle/tende per ogni settore.
Un sensore di stato per ogni componente (luci/tende/tapparelle).
Uno o più attuatori. Ogni componente (tapparella/tenda/luce) sarà collegato ad un
attuatore, ed eventualmente più componenti potranno essere collegati allo stesso
attuatore.
Analisi di dominio
•
•
L’associazione tra i sensori di luminosità esterna e i settori viene definita in fase di
configurazione del sistema.
Altri elementi non riguardanti unicamente la gestione dell’illuminazione sono:



Un web server collegato ad internet e alla rete locale per la gestione del sistema
Ogni stanza deve essere coperta da una connessione bluetooth collegata al sistema di risparmio
energetico
I percorsi dei robot devono essere tracciati lungo tutto l’edificio per mezzo di indicatori RFID (d’ora in
poi chiamati waypoint). Ogni waypoint deve contenere il proprio identificativo univoco e una tabella
contenente la direzione per raggiungere i waypoint contigui. Esempio tabella waypoint 2:
In fase di configurazione viene caricata nel sistema la mappa di tutti i waypoint dell’edificio sotto
forma di grafo e la collocazione di ogni waypoint nel rispettivo settore di una stanza.
•
Su ogni piano sarà presente almeno un Robot "Lego Mindstorms" con processore a
32 bit Atmel AT91SAM7S256 (classe ARM7) a 48 MHz con 256KB memoria flash e
64KB di memoria RAM.
Definizioni
Amministratore: utente loggato, con privilegi di amministrazione
Sensore: dispositivo che effettua rilevazioni di una grandezza fisica, si divide in:
• Sensore di luminosità interno ed esterno
• Termo rilevatori di presenza
• Sensore di stato
Componenti: elementi sui quali il sistema può compiere delle azioni di modifica dello
stato (Luci, Tapparelle elettriche, Tende elettriche)
Attuatore: meccanismo che comanda uno o più componenti. Può essere impostato su
manuale o automatico. Gli attuatori impostati su automatico vengono
controllati dal sistema, al contrario il sistema non può comandare gli
attuatori impostati su manuale.
Trigger: è un insieme di esattamente tre condizioni:
• una data/ora di inizio
• una data/ora di fine
• presenza di persone (si/no)
Livello di luminosità: un valore di luminosità espresso in scala da 0 a 100 (rispetto alla
scala da 0 a 1000 lux – lumen/metro2 – raccomandata dalla Commissione
internazionale per l’illuminazione).
Definizioni
Profilo: un profilo è una coppia trigger-livello di luminosità. Un profilo è associato ad
uno ed un solo settore di una stanza e ad un settore di una stanza è possibile
associare più profili purché i rispettivi trigger non possano essere verificati
contemporaneamente (può essere attivo un solo profilo per volta).
Profilo attivo: è il profilo di un settore il cui trigger è verificato, ovvero per il quale
tutte le condizioni sono vere. Nel caso in cui nessun trigger dei profili del settore
sia verificato, il profilo attivo è quello di default. Per ogni settore esiste uno ed un
solo profilo attivo.
Profilo di default: viene applicato quando nessun profilo è attivo. Impone luminosità
20 (200 lux: luminosità minima degli ambienti di lavoro richiesta per legge) se
viene rilevata presenza di persone e luminosità 0 in caso contrario.
Settore: una stanza è suddivisa in uno o più settori tra loro indipendenti. I componenti
ed i sensori di una stanza devono appartenere ad uno e un solo settore. Per ogni
settore di ogni stanza:
•
•
•
deve essere presente uno ed un solo sensore di luminosità interno
deve essere presente uno ed un solo sensore di presenza
possono essere eventualmente associati uno o più sensori di luminosità esterni
Specifiche
1.
2.
3.
4.
5.
6.
7.
8.
In un settore può essere attivo un solo profilo per volta. Se nessun profilo è attivo viene
applicato il profilo di default.
Quando viene attivato un nuovo profilo (si verificano tutte le condizioni del trigger) tutti gli
attuatori del settore vengono impostati su automatico.
Quando una persona agisce sui pulsanti di controllo di un attuatore, l’attuatore viene
impostato su manuale.
Un profilo viene attivato quando tutte le condizioni espresse dal trigger sono verificate. Il
sistema deve agire sui soli attuatori impostati su automatico utilizzando una politica di
risparmio energetico (punto 6) con lo scopo di ottenere il livello di luminosità del profilo
attivo.
Gli amministratori possono accedere al sistema dalla intranet o da internet
Il sistema deve ottenere il livello di luminosità richiesto dal profilo utilizzando una politica
di risparmio energetico. Quando possibile il sistema deve alzare le tapparelle per sfruttare
la luce esterna, se la luminosità interna non fosse ancora adeguata il sistema deve alzare le
luci in modo incrementale fino a che la luminosità del profilo non è raggiunta.
Se possibile il sistema deve ottenere i valori di luminosità e di presenza per mezzo dei
sensori. Nel caso questo non sia possibile il sistema deve ottenere la rilevazione richiesta
inviando il robot.
Se possibile il sistema deve agire sui componenti per mezzo degli attuatori. Nel caso questo
non sia possibile il sistema deve agire sui componenti inviando il robot.
Specifiche
Operazioni effettuabili da un amministratore
1. Gestione di un settore:
i. Aggiunta di un profilo
ii. Eliminazione di un profilo
iii. Modifica di un profilo
2.
3.
Gestione di più settori (eventualmente appartenenti a stanze diverse): gli
amministratori possono effettuare una selezione multipla di settori, e gestirli in
modo contemporaneo. Il sistema mostrerà gli (eventuali) profili comuni a tutti i
settori selezionati. Le operazioni effettuabili dall’amministratore saranno quindi
uguali a quelle di gestione di un singolo settore
Monitoraggio dello stato del sistema:
i.
ii.
Visualizzazione del consumo energetico totale
Visualizzazione dello stato dei sensori (es. guasto, attivo, standby…) e dei valori
da essi rilevati (es: guasto, acceso, spento, luminosità della stanza)
Specifiche
Movimento del robot
Il movimento del robot è soggetto alle seguenti fasi:
• Rilevamento della posizione del Robot
• Calcolo del percorso
• Invio al Robot della sequenza di waypoint (indicatori RFID) del percorso
Diagrammi Use Case
Use case diagram:
• Generale
• Gestione settori
• Monitoraggio sistema
• Sensori
Scenari
Autenticazione amministratore
Scenario principale:
1. Una persona inserisce nome utente e password
2. Il sistema stabilisce che i campi inseriti dall’utente sono validi
3. Il sistema conferma la correttezza dei campi
4. L’amministratore è abilitato a effettuare le operazioni sul sistema
Estensione:
1a. Una persona inserisce utente e/o password errati
2a. Il sistema stabilisce che i campi inseriti dalla persona non sono validi
3a. Il sistema avverte la persona che i campi inseriti sono errati e chiede il
reinserimento dei dati. Si torna al punto 1 dello scenario principale
Scenari
Gestione di uno o più settori
Scenario principale:
1. L’amministratore seleziona uno o più settori
2. Il sistema mostra i profili comuni a tutti i settori selezionati
Estensione: aggiunta di un profilo
3. L’amministratore crea un profilo
4. Il sistema aggiunge il profilo a tutti i settori selezionati
Estensione: eliminazione di un profilo
3. L’amministratore elimina un profilo
4. Il sistema elimina il profilo da tutti i settori selezionati
Estensione: modifica di un profilo
3. L’amministratore seleziona un profilo
4. Il sistema mostra i dettagli del profilo
5. L’amministratore modifica il trigger e il livello di luminosità del profilo
6. L’amministratore conferma le modifiche
7. Il sistema aggiorna il profilo in tutti i settori selezionati
Scenari
Comando manuale di un attuatore
Scenario principale:
1. Una persona preme un pulsante di comando di un attuatore di un settore
2. Il sistema imposta l’attuatore su manuale
3. Il sistema applica il profilo attivo agendo sugli attuatori impostati su automatico
Scenari
Monitoraggio del sistema
Scenario principale:
1. Un amministratore accede alla pagina di monitoraggio del sistema
2. Il sistema visualizza il consumo energetico del sistema di illuminazione
Estensione: visualizzazione dello stato dei sensori e dei valori rilevati
3. L'amministratore accede alla pagina di monitoraggio dello stato dei sensori e dei
valori rilevati
4. Il sistema richiede la selezione di una stanza e fornisce un elenco delle stanze
5. L’amministratore seleziona una stanza dall’elenco
6. Il sistema richiede la selezione di un settore e fornisce un elenco dei settori della
stanza
7. L’amministratore selezione un settore della stanza
8. Il sistema visualizza lo stato e i valori dei sensori presenti nel settore
Diagrammi Attività
Activity diagram:
• Autenticazione
• Applicazione profilo attivo
• Modifica tramite robot
• Movimento robot
• Scelta profilo attivo (stato)
• Scelta profilo attivo (tempo)
Architettura e Tecnologie
•
•
•
•
•
linguaggio orientato agli oggetti Java
piattaforma Java J2EE (Java Enterprise Edition)
tecnologia dei componenti software riusabili Enterprise JavaBeans EJB
ambiente di sviluppo integrato NetBeans IDE
application server GlassFish
•
Architettura del sistema è 3-tier:
Diagramma Deployment
Classi astratte
Diagrammi delle classi astratte:
• Diagramma generale
• Attuatori
• Edificio
• Profilo
• Sensori
Database
Classi concrete: Profilo
Diagramma delle classi concrete:
•
Profilo – diagramma generale
Classi concrete: sensori e storico
Diagrammi delle classi concrete:
•
•
Sensori – diagramma generale
Storico – diagramma generale
Diagrammi di sequenza:
•
•
Gestione evento generato dal sensore
Gestione invio comando al sensore
Esempio XML per il mapping del protocollo OpenWebNet
Classi concrete: attuatori ed edificio
Diagrammi delle classi concrete:
•
•
•
•
Attuatori ed edificio – diagramma generale
Attuatori ed edificio – attuatori e sensori
Attuatori ed edificio – edificio e percorso
Attuatori ed edificio – robot
Scarica

modifica di un profilo