L'Internet of Things (IoT) riguarda i sistemi in cui i dispositivi fisici sono connessi a Internet. L’IoT è fondamentale per l’informatica, dato che si prevede che le connessioni globali dei dispositivi IoT continueranno a crescere per molti anni a venire. L'insegnamento è incentrato sulle attività di progettazione e implementazione di sistemi IoT, e copre tutti i loro livelli principali (edge, trasporto e informatica): sensori, attuatori e programmazione di dispositivi; protocolli IoT; programmazione guidata dagli eventi e cloud computing.
Learning methods, protocols, architectures, and platforms for the development of distributed and mobile applications for the Internet of Things, including machine to machine protocols, distributed algorithms for fault tolerance and replication, service oriented architectures platforms, embedded operating systems, real time and streaming data, geolocation, and collaborative framework.
Al termine dell'insegnamento, lo studente/la studentessa sarà in grado di
Programmazione Object-Oriented Programmazione e sistemi concorrenti e distribuiti Sistemi operativi e reti
Lezioni frontali in aula dedicate alla teoria e alle demo.
Esercizi individuali di programmazione event-driven e IoT in Node,js.
Sviluppo in team di un progetto finale.
Gli esercizi di programmazione e il progetto finale sono sviluppati con il sistema collaborativo di controllo delle versioni GitHub Classroom per migliorare l'interazione tra studenti e docenti
JavaScript
Node.js
Device Programming
- sensori e attuatori
- Physical Web con Estimote Beacon
- Raspberry
-SensorLab per Android: Dashboard per dati sensoriURL
-Javascript per Mobile Apps: React Native
-sviluppo su Arduino
-Low.js: Node.js per microcontrollersURL
-Microbit, Javascript e Micropython
IoT Application Layer: reti e protocolli
-Protocolli di rete: BLE, 6LowPan, ZigBee, ThreadFile
-Physical Web in Node.js: Noble, Express and ClusterFolder
-Protocolli in Node.js: COAP, MQTT, Websocket in Node.js
-Node.js Serverside: Scheduler con Immediate and NextTick, Fork and ClusterFile
-Smart Cities, IoT and data interoperability
Piattaforme IoT
- Node-RED
- ThingWorx
- Ubidots
Disponibili sul sito del corso del portale Aulaweb Unige.
Ricevimento: Su appuntamento tramite email o Teams
Ricevimento: Su appuntamento in presenza o Teams
GIORGIO DELZANNO (Presidente)
DANIELE D'AGOSTINO
DAVIDE ANCONA (Presidente Supplente)
In accordo con il calendario approvato dal Consiglio di Corso di Laurea di Informatica.
Esame orale e discussione progetto
Gli esercizi individuali di programmazione servono a valutare la capacità di applicazione dei concetti base della programmazione guidata dagli eventi e l'apprendimento dei protocolli IoT più utili. La valutazione si basa sulla correttezza, efficienza e leggibilità del codice.
Il progetto finale ha l'obiettivo di verificare la capacità
La valutazione si basa sull'idoneità dell'architettura scelta, sull'efficacia, scalabilità, usabilità e correttezza del sistema implementato.
La presentazione e discussione del progetto ha lo scopo di verificare le attitudini collaborative degli studenti nell'ideare e sviluppare un progetto all'interno di un piccolo team. La valutazione si basa sul livello di comprensione del funzionamento complessivo e dei dettagli tecnici del progetto.