80 resultados para discovery Internet of Things MQTT Kura IoT Scalabilita
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Grazie alla costante evoluzione tecnologica, negli ultimi anni sempre più oggetti di vita quotidiana stanno accedendo ad Internet. Il proliferare dei dispositivi “smart” ha dato il via ad una nuova rivoluzione tecnologica: quella di Internet of Things (IoT), che sta portando nelle mani degli utenti un elevatissimo numero di informazioni in grado di offrire notevoli benefici alla vita di ogni giorno. Per poter accedere ai dati messi a disposizione risulterà necessario realizzare un servizio in grado di consentire la scoperta, l’accesso e l’interazione con i nodi della rete che si occuperanno della gestione delle informazioni. In letteratura sono già disponibili alcuni di questi meccanismi, ma essi presentano dei difetti che verrebbero ancor più accentuati dalle ridotte capacità computazionali dei terminali IoT. In questo progetto di tesi verrà presentato un servizio di discovery per gateway IoT Kura-based, pensato, grazie all’utilizzo del protocollo di messaggistica MQTT, per operare con terminali dalle performance limitate ed in situazioni di scarsa connettività. Il servizio realizzato prevede che degli smartphone Android richiedano a tutti i gateway in una determinata località i parametri per entrare nel loro network. La richiesta verrà inviata mediante un messaggio MQTT pubblicato in un topic location-specific su un broker remoto. I gateway che riceveranno il messaggio, se interessati alle caratteristiche del client, gli risponderanno comunicando i dati di accesso al network in modo che il dispositivo possa auto-configurarsi per accedervi. Ad accesso avvenuto client e gateway comunicheranno in modo diretto attraverso un broker locale. In fase di testing si valuteranno le performance del servizio analizzando i tempi di risposta e l’utilizzo di risorse lato gateway, e l’assorbimento di potenza lato client.
Resumo:
Realizzazione di un supporto CoAP per il framework Kura con le seguenti caratteristiche: 1. Ottima scalabilità, ad organizzazione gerarchica, con aggiunta e rimozione dinamica di nodi e gestione automatica delle disconnessioni. 2. Integrazione efficiente di tecnologie CoAP ed MQTT progettate appositamente per l’IoT tramite lo sviluppo di un pattern di comunicazione per la gestione degli scambi delle informazioni. 3. Un limitato uso di risorse con modifiche su entrambe le implementazioni standard dei protocolli usati in modo tale da adattarle agli obiettivi prefissati. Il tutto a un costo bassissimo, dato che si basa su tecnologie open e grazie alla possibilità di utilizzo su Raspberry Pi.
Resumo:
Questa tesi si pone l'obiettivo di esplorare alcuni aspetti di uno dei settori più in crescita in questi anni (e nei prossimi) in ambito informatico: \textbf{Internet of Things}, con un occhio rivolto in particolar modo a quelle che sono le piattaforme di sviluppo disponibili in questo ambito. Con queste premesse, si coglie l'occasione per addentrarsi nella scoperta della piattaforma realizzata e rilasciata da pochi mesi da uno dei colossi del mercato IT: Microsoft. Nel primo capitolo verrà trattato Internet of Things in ambito generale, attraverso una panoramica iniziale seguita da un'analisi approfondita dei principali protocolli sviluppati per questa tecnologia. Nel secondo capitolo verranno elencate una serie di piattaforme open source disponibili ad oggi per lo sviluppo di sistemi IoT. Dal terzo capitolo verrà incentrata l'attenzione sulle tecnologie Microsoft, in particolare prima si tratterà Windows 10 in generale, comprendendo \emph{UWP Applications}. Di seguito, nel medesimo capitolo, sarà focalizzata l'attenzione su Windows IoT Core, esplorandolo dettagliatamente (Windows Remote Arduino, Modalità Headed/Headless, etc.). Il capitolo a seguire concernerà la parte progettuale della tesi, comprendendo lo sviluppo del progetto \textbf{Smart Parking} in tutte le sue fasi (dei Requisiti fino ad Implementazione e Testing). Nel quinto (ed ultimo) capitolo, saranno esposte le conclusioni relative a Windows IoT Core e i suoi vantaggi/svantaggi.
Resumo:
Negli ultimi 50 anni Internet è passata da una piccola rete di ricerca, formata da pochi nodi, ad un’infrastruttura globale capace di connettere più di un milione di utenti. La progressiva miniaturizzazione e la riduzione di costi di produzione dei dispositivi elettronici, permette, tuttora, l’estensione della rete a una nuova dimensione: gli oggetti intelligenti. In questi scenari dove le risorse di rete sono spesso proibitive o la mobilità dei nodi è una caratteristica comune, è necessario che sia garantita forte robustezza a transitori di connessione. Lo dimostra uno studio precedente riguardo ad un applicativo d'agricoltura di precisione denominato Agri-Eagle. In esso vengono confrontate due diverse implementazioni utilizzando il framework SMART M3 e MQTT. Il lavoro di tesi in esame ne estende le considerazioni ed esplora vari metodi per conferire robustezza ad applicazioni sviluppati su SMART-M3. Verrà studiata la funzionalità di Lastwill e Testament proprie di MQTT e se ne tenterà una trasposizione nel mondo semantico. Infine verrà modificato il meccanismo di sottoscrizione in modo da renderlo più robusto a cadute di connessione.
Resumo:
L'obiettivo su cui è stata basata questa Tesi di Laurea è stato quello di integrare la tecnologia delle Wireless Sensor Networks (WSN) al contesto dell'Internet delle cose (IoT). Per poter raggiungere questo obiettivo, il primo passo è stato quello di approfondire il concetto dell'Internet delle cose, in modo tale da comprendere se effettivamente fosse stato possibile applicarlo anche alle WSNs. Quindi è stata analizzata l'architettura delle WSNs e successivamente è stata fatta una ricerca per capire quali fossero stati i vari tipi di sistemi operativi e protocolli di comunicazione supportati da queste reti. Infine sono state studiate alcune IoT software platforms. Il secondo passo è stato quindi di implementare uno stack software che abilitasse la comunicazione tra WSNs e una IoT platform. Come protocollo applicativo da utilizzare per la comunicazione con le WSNs è stato usato CoAP. Lo sviluppo di questo stack ha consentito di estendere la piattaforma SensibleThings e il linguaggio di programmazione utilizzato è stato Java. Come terzo passo è stata effettuata una ricerca per comprendere a quale scenario di applicazione reale, lo stack software progettato potesse essere applicato. Successivamente, al fine di testare il corretto funzionamento dello stack CoAP, è stata sviluppata una proof of concept application che simulasse un sistema per la rilevazione di incendi. Questo scenario era caratterizzato da due WSNs che inviavano la temperatura rilevata da sensori termici ad un terzo nodo che fungeva da control center, il cui compito era quello di capire se i valori ricevuti erano al di sopra di una certa soglia e quindi attivare un allarme. Infine, l'ultimo passo di questo lavoro di tesi è stato quello di valutare le performance del sistema sviluppato. I parametri usati per effettuare queste valutazioni sono stati: tempi di durata delle richieste CoAP, overhead introdotto dallo stack CoAP alla piattaforma Sensible Things e la scalabilità di un particolare componente dello stack. I risultati di questi test hanno mostrato che la soluzione sviluppata in questa tesi ha introdotto un overheadmolto limitato alla piattaforma preesistente e inoltre che non tutte le richieste hanno la stessa durata, in quanto essa dipende dal tipo della richiesta inviata verso una WSN. Tuttavia, le performance del sistema potrebbero essere ulteriormente migliorate, ad esempio sviluppando un algoritmo che consenta la gestione concorrente di richieste CoAP multiple inviate da uno stesso nodo. Inoltre, poichè in questo lavoro di tesi non è stato considerato il problema della sicurezza, una possibile estensione al lavoro svolto potrebbe essere quello di implementare delle politiche per una comunicazione sicura tra Sensible Things e le WSNs.
Resumo:
Internet of Things (IoT): tre parole che sintetizzano al meglio come la tecnologia abbia pervaso quasi ogni ambito della nostra vita. In questa tesi andrò a esplorare le soluzioni hardware e soprattutto software che si celano dietro allo sviluppo di questa nuova frontiera tecnologica, dalla cui combinazione con il web nasce il Web of Things, ovvero una visione globale, accessibile da qualsiasi utente attraverso i comuni mezzi di navigazione, dei servizi che ogni singolo smart device può offrire. Sarà seguito un percorso bottom-up partendo dalla descrizione fisica dei device e delle tecnologie abilitanti alla comunicazione thing to thing ed i protocolli che instaurano fra i device le connessioni. Proseguendo per l’introduzione di concetti quali middleware e smart gateway, sarà illustrata l’integrazione nel web 2.0 di tali device menzionando durante il percorso quali saranno gli scenari applicativi e le prospettive di sviluppo auspicabili.
Resumo:
Il progresso scientifico e le innovazioni tecnologiche nei campi dell'elettronica, informatica e telecomunicazioni, stanno aprendo la strada a nuove visioni e concetti. L'obiettivo della tesi è quello d'introdurre il modello del Cloud computing per rendere possibile l'attuale visione di Internet of Thing. Nel primo capitolo si introduce Ubiquitous computing come un nuovo modo di vedere i computer, cercando di fare chiarezza sulla sua definizione, la sua nascita e fornendo un breve quadro storico. Nel secondo capitolo viene presentata la visione di Internet of Thing (Internet delle “cose”) che si avvale di concetti e di problematiche in parte già considerate con Ubiquitous computing. Internet of Thing è una visione in cui la rete Internet viene estesa agli oggetti di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati ambientali sono solo alcuni esempi. Per realizzare questo tipo di applicazioni le tecnologie wireless sono da considerare necessarie, sebbene questa visione non assuma nessuna specifica tecnologia di comunicazione. Inoltre, anche schede di sviluppo possono agevolare la prototipazione di tali applicazioni. Nel terzo capitolo si presenta Cloud computing come modello di business per utilizzare su richiesta risorse computazionali. Nel capitolo, vengono inizialmente descritte le caratteristiche principali e i vari tipi di modelli di servizio, poi viene argomentato il ruolo che i servizi di Cloud hanno per Internet of Thing. Questo modello permette di accelerare lo sviluppo e la distribuzione di applicazioni di Internet of Thing, mettendo a disposizione capacità di storage e di calcolo per l'elaborazione distribuita dell'enorme quantità di dati prodotta da sensori e dispositivi vari. Infine, nell'ultimo capitolo viene considerato, come esempio pratico, l'integrazione di tecnologie di Cloud computing in una applicazione IoT. Il caso di studio riguarda il monitoraggio remoto dei parametri vitali, considerando Raspberry Pi e la piattaforma e-Health sviluppata da Cooking Hacks per lo sviluppo di un sistema embedded, e utilizzando PubNub come servizio di Cloud per distribuire i dati ottenuti dai sensori. Il caso di studio metterà in evidenza sia i vantaggi sia le eventuali problematiche che possono scaturire utilizzando servizi di Cloud in applicazioni IoT.
Resumo:
La seguente tesi ha come scopo la progettazione e la realizzazione di un sistema intelligente per la gestione e il monitoraggio dell'acqua in impianti facenti uso di docce attraverso 'l'Internet Of Things', con l'obiettivo di ridurre gli sprechi favorendo cosi un risparmio sia di tipo energetico sia di tipo idrico. Stabiliti i requisiti si passa alla fase di progettazione dove vengono analizzate tutte le funzionalità che il sistema deve soddisfare. Segue la fase di implementazione, il cui scopo e realizzare concretamente le funzionalità producendo un prototipo iniziale. Quest'ultimo sara sottoposto ad eventuali test per verificare il corretto funzionamento del sistema e delle singole parti che lo costituiscono.
Resumo:
Un analisi delle problematiche sulla sicurezza e sulla privacy riguardante l'IoT suddivisa nei Layer dei quali si compone, dai piccoli sensori ai fornitori di servizi nel Cloud. In coda anche una breve trattazione delle emergenti questioni etiche e sociali.
Resumo:
Con la crescita in complessità delle infrastrutture IT e la pervasività degli scenari di Internet of Things (IoT) emerge il bisogno di nuovi modelli computazionali basati su entità autonome capaci di portare a termine obiettivi di alto livello interagendo tra loro grazie al supporto di infrastrutture come il Fog Computing, per la vicinanza alle sorgenti dei dati, e del Cloud Computing per offrire servizi analitici complessi di back-end in grado di fornire risultati per milioni di utenti. Questi nuovi scenarii portano a ripensare il modo in cui il software viene progettato e sviluppato in una prospettiva agile. Le attività dei team di sviluppatori (Dev) dovrebbero essere strettamente legate alle attività dei team che supportano il Cloud (Ops) secondo nuove metodologie oggi note come DevOps. Tuttavia, data la mancanza di astrazioni adeguata a livello di linguaggio di programmazione, gli sviluppatori IoT sono spesso indotti a seguire approcci di sviluppo bottom-up che spesso risulta non adeguato ad affrontare la compessità delle applicazione del settore e l'eterogeneità dei compomenti software che le formano. Poichè le applicazioni monolitiche del passato appaiono difficilmente scalabili e gestibili in un ambiente Cloud con molteplici utenti, molti ritengono necessaria l'adozione di un nuovo stile architetturale, in cui un'applicazione dovrebbe essere vista come una composizione di micro-servizi, ciascuno dedicato a uno specifica funzionalità applicativa e ciascuno sotto la responsabilità di un piccolo team di sviluppatori, dall'analisi del problema al deployment e al management. Poichè al momento non si è ancora giunti a una definizione univoca e condivisa dei microservices e di altri concetti che emergono da IoT e dal Cloud, nè tantomento alla definzione di linguaggi sepcializzati per questo settore, la definzione di metamodelli custom associati alla produzione automatica del software di raccordo con le infrastrutture potrebbe aiutare un team di sviluppo ad elevare il livello di astrazione, incapsulando in una software factory aziendale i dettagli implementativi. Grazie a sistemi di produzione del sofware basati sul Model Driven Software Development (MDSD), l'approccio top-down attualmente carente può essere recuperato, permettendo di focalizzare l'attenzione sulla business logic delle applicazioni. Nella tesi viene mostrato un esempio di questo possibile approccio, partendo dall'idea che un'applicazione IoT sia in primo luogo un sistema software distribuito in cui l'interazione tra componenti attivi (modellati come attori) gioca un ruolo fondamentale.
Resumo:
L'Internet of Things (IoT) è oggetto di grande interesse per la ricerca e per l'industria. Le numerose tecnologie che sono state sviluppate rendono possibile la creazione di nuovi e utili servizi, ma introducono problemi legati alla reciproca incompatibilità. Nell'elaborato si analizza nel dettaglio questa situazione e si descrive l'implementazione di un sistema che ha come obiettivo la realizzazione di una rete composta da dispositivi che fanno uso di tecnologie differenti. Il progetto usa un Raspberry Pi come router, il cui scopo è quello di gestire le differenze fra gli standard di comunicazione utilizzati. Le tecnologie wireless supportate sono: WiFi, Bluetooth, ZigBee, nRF24L01 e moduli radio 433MHz. Sulla rete cosi formata è inoltre possibile lo sviluppo di applicazioni IoT, grazie alle logiche di funzionamento messe a disposizione dal sistema.
Resumo:
The need for data collection from sensors dispersed in the environment is an increasingly important problem in the sector of telecommunications. LoRaWAN is one of the most popular protocols for low-power wide-area networks (LPWAN) that is made to solve the aforementioned problem. The aim of this study is to test the behavior of the LoRaWAN protocol when the gateway that collects data is implemented on a flying platform or, more specifically, a drone. This will be pursued using performance data in terms of access to the channel of the sensor nodes connected to the flying gateway. The trajectory of the aircraft is precomputed using a given algorithm and sensor nodes’ clusterization. The expected results are as follows: simulate the LoraWAN system behavior including the trajectory of the drone and the deployment of nodes; compare and discuss the effectiveness of the LoRaWAN simulator by conducting on-field trials, where the trajectory design and the nodes’ deployment are the same.
Resumo:
La pandemia da COVID-19 ha cambiato le nostre vite obbligandoci a vivere mesi di lockdown, distanziamento sociale ed uso delle mascherine. Il distanziamento sociale e l'uso delle mascherine, anche dopo la prima fase della pandemia, sono state le contromisure principali in quanto permettevano di limitare i contagi permettendo comunque alla gente di uscire di casa. Tutte queste contromisure hanno creato gravi danni all'economia del paese e alla vita personale dei cittadini. Dalla fase iniziale della pandemia si è capito che per gestirla al meglio era necessario effettuare il numero maggiore di tamponi possibili per monitorare al meglio la diffusione del virus ma ciò non era possibile in quanto non esistevano le tecnologie necessarie per testare milioni di persone al giorno. Da questa necessità sono nati i sistemi di Contact Tracing, sistemi che permettono di monitorare in modo anonimo e protetto i contatti sociali delle persone così da capire se sono entrate in contatto con persone infette dal COVID-19 e solo in quel caso effettuare un tampone in modo tale da verificare se sono stati contagiati o meno. Tutti i sistemi di Contact tracing sviluppati ad oggi hanno mostrato problemi relativi alla protezione dei dati, alla scarsa ed inefficace comunicazione e non hanno ridotto al meglio il numero di tamponi effettuati per rilevare realmente coloro che erano stati contagiati avendo quindi uno scarso utilizzo soprattutto a causa della poca fiducia degli utenti riguardo l'utilizzo dei loro dati ed al fatto che dovevano autodichiararsi positivi. Con questa tesi presenterò una nuova tecnica per effettuare il Contact Tracing che combina l'utilizzo del Group Testing all'utilizzo dell'IoT e delle reti per tracciare i contatti tra gli utenti ed il virus chiamata Asynchronous Contact Tracing. Mostrerò come è stato progettato e sviluppato e mostrerò le performance grazie a degli esperimenti reali.
Resumo:
Grazie al progresso dell'elettronica, ai giorni nostri, è possibile costruire dispositivi elettronici molto piccoli, che col passare del tempo lo sono sempre più. Questo ci permette di poter imboccare nuove strade nel mondo dell'informatica, sfruttando proprio questo fatto. Le dimensioni ridotte dei dispositivi in commercio, come sensori, attuatori, tag e tanto altro, sono particolarmente adatte a nuovi scenari applicativi. Internet of Things è una visione in cui Internet viene esteso alle cose. Facendo largo uso di dispositivi come sensori e tag è possibile realizzare sistemi intelligenti che possono avere riscontri positivi nella vita di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati sull'ambiente per realizzare sistemi automatici (ad esempio regolare automaticamente la luce o la temperatura di una stanza) sono solo alcuni esempi. Internet of Things è la naturale evoluzione di Internet, ed è destinato a cambiare radicalmente la nostra vita futura, poichè la tecnologia sarà sempre più parte integrante della nostra vita, aumentando sempre più il nostro benessere e riducendo sempre più il numero delle azioni quotidiane da compiere. Sempre più sono middleware, le piattaforme e i sistemi operativi che nascono per cercare di eliminare o ridurre le problematiche relative allo sviluppo di sistemi di questo genere, e lo scopo di questa tesi è proprio sottolinearne l'importanza e di analizzare gli aspetti che questi middleware devono affrontare. La tesi è strutturata in questo modo: nel capitolo uno verrà fatta una introduzione a Internet of Things, analizzando alcuni degli innumerevoli scenari applicativi che ne derivano, insieme però alle inevitabili problematiche di tipo tecnologico e sociale. Nel secondo capitolo verranno illustrate le tecnologie abilitanti di Internet of Things, grazie alle quali è possibile realizzare sistemi intelligenti. Nel terzo capitolo verranno analizzati gli aspetti relativi ai middleware, sottolineandone l'importanza e prestando attenzione alle funzioni che devono svolgere, il tutto riportando anche degli esempi di middleware esistenti. Nel quarto capitolo verrà approfondito il middleware Java Embedded di Oracle.