Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


PROGRAMMAZIONE PER L'INTERNET OF THINGS
INTERNET OF THINGS PROGRAMMING

A.A. CFU
2022/2023 6
Docente Email Ricevimento studentesse e studenti
Emanuele Lattanzi Lunedì ore 16.00-18.00
Didattica in lingue straniere
Insegnamento con materiali opzionali in lingua straniera Inglese
La didattica è svolta interamente in lingua italiana. I materiali di studio e l'esame possono essere in lingua straniera.

Assegnato al Corso di Studio

Informatica Applicata (LM-18)
Curriculum: PERCORSO COMUNE
Giorno Orario Aula
Giorno Orario Aula

Obiettivi Formativi

Il Corso ha lo scopo di illustrare l'architettura, le funzionalità ed i metodi di comunicaizone dei sistemi per l'Internet of Things con particolare riferimento alle tecniche di programmazione utilizzate. In particolare, il corso affronta i metodi e le tecnologie per la programmazione dei sistemi embedded dedicati all'Internet of Things e basati su microcontrollori e sistemi operativi realtime.

Programma

01. Introduzione all’IoT

    01.01 Panoramica e definizioni

    01.02 Punto di vista funzionale

    01.03 Punto di vista dell’infrastruttura

    01.04 Applicazioni

02. Edge computing

    02.01 Sensori e attuatori

    02.02 Acquisizione ed elaborazione dei dati

    02.03 Gestione dei dati

    02.04 Database per serie temporali

03. Tecniche di programmazione per sistemi embedded

    03.01 Super-loop  

    03.02 Macchine a stati finiti

    03.03 Programmazione Event-driven

    03.04 Sistemi operativi Real-time

04. Comunicazione

    04.01 Network layers

    04.02 Wireless Edge Network per IoT

    04.03 Constrained Application Protocol (CoAP)

    04.04 Message Queuing and Telemetry Transport (MQTT)

05. Machine Learning per IoT

    05.01 Machine Learning centralizzato

    05.02 Machine Learning distribuito

    05.03 Machine Learning per edge computing

06. Attività di laboratorio

    06.01 Gestione di sensori e attuatori con Raspberry Pi

    06.02 Configurazione di un database per serie temporali (InfluxDB)

    06.03 Programmazione di un MCU ESP con FreeRTOS

    06.04 Raccolta dati da un MCU ESP con ThingSpeak

    06.05 Utilizzo del protocollo MQTT con Mosquitto

Eventuali Propedeuticità

Non vi sono propedeuticità obbligatorie.

Risultati di Apprendimento (Descrittori di Dublino)

  • Conoscenza e capacità di comprensione: Lo studente al termine del corso acquisirà le conoscenze fondamentali sulla struttura e sulle funzionalità dei sistemi per l'Internet of Things. Conoscerà le più diffuse tecniche di programmazione, le piattaforme di sviluppo ed i protocolli di comunicazione dedicati a questi sistemi.
  • Conoscenza e capacità di comprensione applicate: Lo studente acquisirà competenze sulla creazione di applicazioni lato dispositivo e lato cloud tipiche dei sistemi per l'Internet of Things. In particolare, acquisirà competenze di programmazione su sistemi operativi real-time in linguaggio C, su piattaforme Arduino compatibili in linguaggio Processing e su piattaforma Raspberry Pi in linguaggio Python
  • Autonomia di giudizio: Lo studente, al termine del corso, saprà distinguere i principali vantaggi e svantaggi delle possibili soluzioni IoT e sarà in grado di scegliere autonomamente le tecnologie hardware/software, i protocolli di comunicazioni e le piattaforme cloud per la creazione di un sistema IoT sulla base dello scenario di riferimento.
  • Abilità comunicative: Lo studente acquisirà la capacità di esprimere i concetti fondamentali che stanno alla base del funzionamento e della programmazione dei sistemi per l'Internet of Things con terminologia appropriata e rigorosa. Imparerà a descrivere i problemi inerenti la programmazione e le metodologie adottate per la loro soluzione. Inoltre, la presentazione in classe del progetto d'esame darà agli studenti la capacità di integrare in autonomia le conoscenze apprese durante il corso con ulteriori conoscenze e di sintetizzare tali argomenti al fine di impostare con chiarezza una presentazione.
  • Capacità di apprendere: Lo studente acquisirà la capacità di studiare ed apprendere la struttura, il funzionamento e le tecniche di programmazione dei sistemi per l'Internet of Things. 

Materiale Didattico

Il materiale didattico predisposto dalla/dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni della/del docente specifiche per l'insegnamento sono reperibili all'interno della piattaforma Moodle › blended.uniurb.it

Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento

Modalità didattiche

Lezioni frontali ed esercitazioni di laboratorio.

Obblighi

Sebbene fortemente consigliata, la frequenza delle lezioni non è obbligatoria.

Testi di studio
  • Milan Milenkovic, Internet of Things: Concepts and System Design, Springer.
  • Dominique Guinard, Building the Web of Things: With Examples in Node.js and Raspberry Pi, Manning.
  • Gary Smart , Practical Python Programming for IoT: Build advanced IoT projects using a Raspberry Pi 4, MQTT, RESTful APIs, WebSockets, and Python 3, Packt Publishing
Modalità di
accertamento

La prova d'esame prevede la consegna di un progetto ed una sua presentazione orale. 

  • Il progetto, preventivamente concordato con il docente, dovrà essere corredato da una relazione sintetica (massimo 10 pagine) e dovrà essere consegnato almeno una settimana prima della prova orale.
  • La prova orale consisterà in una presentazione (utilizzando delle opportune slide) e in una dimostrazione del funzionamento del progetto. Alla presentazione seguirà una discussione. 
Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

« torna indietro Ultimo aggiornamento: 07/07/2022


Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top