Skip to content
Snippets Groups Projects
relazione.md 2.62 KiB
Newer Older
  • Learn to ignore specific revisions
  • Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    # Introduzione
    Il progetto presentato dal gruppo2 si occupa di fornire ad un utente funzionalità di domotica in una LAN, e sono le seguenti: controllo remoto delle luci, sistema di antifurto e metodo di deterrenza delle intrusioni.
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    # 1. Specifiche funzionali
    ## 1.1. Controllo tramite sensori ed attuatori
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    Il sistema nella LAN è costituito da una beaglebone (con attuatori e led) e un arduino (che presenta un sensore di luminosità).
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    Gli attuatori simulano gli interruttori nell'applicazione ed i sensori di movimento. Questi ultimi controllano l'attivazione dell'allarme dell'antifurto e, assieme agli interruttori e al sensore di luminosità, lo stato delle luci.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    ## 1.2. Accessibilita' via internet
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    La parte in cloud consiste di un server che fornisce una webapp, dalla quale poter controllare gli elementi della LAN; il servizio di autenticazione con Keycloak; il domain manager, responsabile di mantenere la consistenza dei dati; e il cloud app manager, il quale s'interfaccia con il broker mosquitto che è connesso in bridge con la beaglebone della LAN.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    I servizi sono stati resi sicuri con l'implementazione di HTTPS e per il broker con TLS (e WSS).
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    # 2. Analisi
    ## 2.1. Installazione del sistema in reti private
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    L'installazione del sistema avviene senza configurazioni particolari poiché l'uso di mosquitto, con la configurazione da noi impostata, rende il sistema plug-n-play, ovvero è sufficiente collegarlo alla rete per avere le funzionalità disponibili.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    ## 2.2. Accessibilita' da rete pubblica e da rete privata 
    Tutti i microservizi comunicano tra di loro grazie a connessioni ai broker mosquitto. I due broker sono connessi tra loro grazie al bridging, che ci permette di effettuare lo scambio di comandi su entrambi i servizi.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    Grazie a questa caratteristica, l'accesso può avvenire sia dalla rete pubblica che da quella privata, senza distinzioni.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    ## 2.3. Caratteristiche del traffico dati da sostenere e vincoli in tempo reale
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    Essendo un sistema di domotica, è necessario che l'utente, dopo aver impartito un comando esso venga attutato una ed una sola volta.
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    ## 2.4. Tecniche viste a lezione con cui soddisfare i requisiti
    
    
    # 3. Approccio tecnologico
    ## 3.1. Vantaggi dell'uso di un message broker e come lo giudichiamo rispetto alle altre scelte
    
    # 4. Architettura del software
    ## 4.1. Organizzazione del software (evidenziandone i moduli)
    
    ## 4.2. Distribuzione delle funzionalita' tra i moduli, attivita' e loro interazione
    
    # 5. Descrizione dell'implementazione
    ## 5.1. UML delle classi implementate
    
    ## 5.2. Descrizione della UI
    
    # 6. Validazione del software
    ## 6.1. Procedure usate per verificare il corretto funzionamento del sistema