Lidia FOTIA | INTERNET OF THINGS
Lidia FOTIA INTERNET OF THINGS
cod. 0612700124
INTERNET OF THINGS
0612700124 | |
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA | |
CORSO DI LAUREA | |
INGEGNERIA INFORMATICA | |
2024/2025 |
ANNO CORSO 3 | |
ANNO ORDINAMENTO 2022 | |
SECONDO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | ||
---|---|---|---|---|---|
INTERNET OF THINGS | |||||
ING-INF/05 | 3 | 24 | LEZIONE | ||
ING-INF/05 | 3 | 24 | LABORATORIO | ||
PROGETTO DI INTERNET OF THINGS | |||||
ING-INF/05 | 3 | 24 | ESERCITAZIONE |
Obiettivi | |
---|---|
L’INSEGNAMENTO INTRODUCE LE ARCHITETTURE, LE TECNOLOGIE E I PROTOCOLLI PER L’INTERNET OF THINGS, PRESENTANDO INOLTRE I PRINCIPALI AMBITI APPLICATIVI. CONOSCENZE E CAPACITÀ DI COMPRENSIONE ARCHITETTURA DI UN’APPLICAZIONE IOT. ARCHITETTURA DI UNA SCHEDA EMBEDDED PER APPLICAZIONI IOT. METODI E PROTOCOLLI PER L’INTERFACCIAMENTO SOFTWARE CON SENSORI ED ATTUATORI. PROTOCOLLI DI COMUNICAZIONE TRA DISPOSITIVI IOT (MQTT). PIATTAFORME SOFTWARE PER LA REALIZZAZIONE DI APPLICAZIONI IOT. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE INTERFACCIARE A LIVELLO FISICO ED APPLICATIVO UNA SCHEDA EMBEDDED CON SENSORI ED ATTUATORI. PROGETTARE ED IMPLEMENTARE SEMPLICI APPLICAZIONI IOT PER DISPOSITIVI EMBEDDED IN GRADO DI COMUNICARE CON UN SERVER MQTT. |
Prerequisiti | |
---|---|
PROPEDEUTICITÀ: ALGORITMI E STRUTTURE DATI, ANALISI DEI SEGNALI, ELETTROTECNICA È PREFERIBILE AVERE CONOSCENZE DI BASE SUI PROTOCOLLI DI RETE E LINGUAGGI DI PROGRAMMAZIONE ORIENTATI AGLI OGGETTI. |
Contenuti | |
---|---|
UNITÀ DIDATTICA 1: INTRODUZIONE ALL’INTERNET OF THINGS E BASI PER LO SVILUPPO IN LINGUAGGIO PYTHON (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 3/6/0) 1. (3 ORE LEZIONE): INTERNET OF THINGS. INTRODUZIONE GENERALE. ESEMPI DI APPLICAZIONI. ARCHITETTURA DI UN'APPLICAZIONE IOT. IOT FRAMEWORKS. 2. (3 ORE ESERCITAZIONE): PYTHON: ESPRESSIONI E VARIABILI. SELEZIONE E ITERAZIONE. DEFINIZIONE DI FUNZIONI. 3. (3 ORE ESERCITAZIONE): ARRAY, TUPLE E DIZIONARI. ESERCIZI ED ESEMPI PYTHON CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DELL’ARCHITETTURA DI UN SISTEMA IOT. ACQUISIRE LE CONOSCENZE RELATIVE AGLI ELEMENTI FONDAMENTALI DEL LINGUAGGIO DI PROGRAMMAZIONE PYTHON. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER CODIFICARE IN PYTHON SEMPLICI PROGRAMMI MEDIANTE L’USO DI FUNZIONI, ARRAY, TUPLE E DIZIONARI. UNITÀ DIDATTICA 2: INTRODUZIONE ALLA SCHEDA ESP32 E SUA PROGRAMMAZIONE IN MICROPYTHON (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 9/6/0) 1. (3 ORE LEZIONE): PANORAMICA SULLA SCHEDA ESP32: ARCHITETTURA E CARATTERISTICHE PRINCIPALI. IL FRAMEWORK MICROPYTHON 2. (2 ORE LEZIONE E 1 ORA ESERCITAZIONE): GPIO. GESTIONE DI OUTPUT DIGITALI E DI INPUT DIGITALI; INPUT ANALOGICI TRAMITE CONVERSIONE ANALOGICO-DIGITALE. PRIMI ESEMPI DI SVILUPPO IN MICROPYTHON 3. (2 ORE LEZIONE E 1 ORA ESERCITAZIONE): ORGANIZZAZIONE DI UNA BREADBOARD ED ESEMPI DI SEMPLICI CIRCUITI CON LED, RESISTORI, PULSANTI E POTENZIOMETRI. GESTIONE GPIO ESP32 CON MICROPYTHON: ACCENSIONE DI UN LED, CONNESSIONE E GESTIONE DI UN PULSANTE ESTERNO, LETTURA DEI SEGNALI PROVENIENTI DA UN FOTORESISTORE. GESTIONE DI UN POTENZIOMETRO. 4. (2 ORE LEZIONE E 1 ORA ESERCITAZIONE): INTRODUZIONE AL PULSE WIDTH MODULATION (PWM). PRIMI ESEMPI PWM CON ESP32: CONTROLLO DELL’INTENSITÀ LUMINOSA E FADING DI UN LED. 5. (3 ORE ESERCITAZIONE): ULTERIORI ESEMPI PWM. CONTROLLO DEL TIMBRO E DELL’INTONAZIONE DI UN BUZZER PASSIVO. CONTROLLO DELLA VELOCITÀ DI UN MOTORE DC. CONTROLLO ROTAZIONE DI UN MOTORE SERVO. CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DELL’ARCHITETTURA DELLA SCHEDA ESP32 E SUOI INPUT/OUTPUT DIGITALI. COMPRENSIONE DEL PRINCIPIO DI FUNZIONAMENTO DI SEMPLICI SENSORI ED ATTUATORI. ACQUISIZIONE DELLE CONOSCENZE DI BASE RELATIVE AL FRAMEWORK MICROPYTHON. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER PREDISPORRE SU BREADBOARD SEMPLICI CIRCUITI CON RESISTORI, LED, PULSANTI E SENSORI. SAPER CODIFICARE IN MICROPYTHON PROGRAMMI PER ESP32 CHE CONSENTONO DI ACQUISIRE DATI PROVENIENTI DA SENSORI. SAPER CODIFICARE IN MICROPYTHON PROGRAMMI PER ESP32 CHE CONSENTONO IL CONTROLLO DI MOTORI DC E SERVO. UNITÀ DIDATTICA 3: INTERFACCIAMENTO SERIALE CON SENSORI ED ATTUATORI (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/4/0) 1. (2 ORE LEZIONE E 1 ORA ESERCITAZIONE): INTRODUZIONE AI PROTOCOLLI SERIALI: RS232, I2C, SPI. 2. (3 ORE ESERCITAZIONE): INTERFACCIAMENTO A SENSORI SU BUS I2C CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DEL PRINCIPIO DI FUNZIONAMENTO DEI PIÙ COMUNI PROTOCOLLI SERIALI PER SISTEMI IOT. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER CODIFICARE IN MICROPYTHON UN DRIVER PER UN SEMPLICE SENSORE PROVVISTO DI INTERFACCIAMENTO TRAMITE PROTOCOLLO SERIALE. UNITÀ DIDATTICA 4: PROTOCOLLI DI RETE PER SISTEMI IOT (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/7/0) 1. (2 ORE LEZIONE E 1 ORA ESERCITAZIONE): IL PARADIGMA PUBLISH&SUBSCRIBE E IL PROTOCOLLO MQTT. LIVELLI DI QUALITÀ DEL SERVIZIO IN MQTT. SVILUPPO DI UN CLIENT MQTT IN PYTHON CON ECLIPSE PAHO. TIPOLOGIE DI FUNZIONI LOOP E FUNZIONI CALLBACK. 2. (3 ORE ESERCITAZIONE): CONNESSIONE DEL MICROCONTROLLORE ESP32 ALLA RETE WIFI E COMUNICAZIONE TRAMITE MODULO SOCKET. USO DELLA LIBRERIA MICROPYTHON MQTT PER ESP32 E SVILUPPO DI UN SENSORE DI INTENSITÀ LUMINOSA “SMART”. 3. (3 ORE ESERCITAZIONE): ULTERIORI ESEMPI MQTT SU ESP32. CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DEL PARADIGMA PUBLISH&SUBSCRIBE E DELLE CARATTERISTICHE FONDAMENTALI DEL PROTOCOLLO MQTT. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER CODIFICARE IN MICROPYTHON UN PROGRAMMA PER ESP32 CHE CONSENTA LO SCAMBIO DATI TRAMITE PROTOCOLLO MQTT. UNITÀ DIDATTICA 5: REALIZZAZIONE DI GUI PER SOLUZIONI IOT ED INTEGRAZIONE IN PIATTAFORME PER SMART HOME (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 3/6/0) 1. (3 ORE LEZIONE): PANORAMICA SUGLI STRUMENTI PER LA REALIZZAZIONE DI DASHBOARD REMOTE PER SOLUZIONI IOT. INTRODUZIONE A NODERED. 2. (3 ORE ESERCITAZIONE): IMPLEMENTAZIONE DI SEMPLICI FLUSSI NODE-RED PER L'INTERAZIONE CON SERVIZI MQTT E HTTP. IL PACCHETTO DASHBOARD. PERSISTENZA DEI DATI ACQUISITI. 3. (3 ORE ESERCITAZIONE): PIATTAFORME WEB-BASED PER SMART HOME. INTRODUZIONE AD OPENHAB. INTEGRAZIONE DI UNA SOLUZIONE MQTT BASED IN OPENHAB. CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENDERE I CONCETTI ALLA BASE DELLA PROGETTAZIONE DI INTERFACCE UTENTE PER SOLUZIONI IOT. COMPRENDERE LE MODALITÀ DI SVILUPPO FLOW BASED DI NODERED. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER SVILUPPARE ED IMPLEMENTARE FLUSSI NODERED PER LA REALIZZAZIONE DI DASHBOARD DI MONITORAGGIO E CONTROLLO REMOTO DI SOLUZIONI IOT. SAPER INTEGRARE UNA SOLUZIONE IOT MQTT BASED IN OPENHAB. UNITÀ DIDATTICA 6: PROJECT WORK (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 0/0/24) 1. (3 ORE LAB): PRESENTAZIONE DEI PROGETTI ED AVVIO DELLE ATTIVITÀ 2.-8. 7 UNITA’ DIDATTICHE DI 3 ORE CIASCUNA: ATTIVITÀ PROGETTUALE ASSISTITA CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENDERE E SAPER INTERPRETARE UNA SPECIFICA DI PROGETTO PER UN SISTEMA IOT. CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER SVILUPPARE ED IMPLEMENTARE DAL PUNTO DI VISTA HARDWARE/SOFTWARE UN SISTEMA IOT, SULLA BASE DI UNA DATA SPECIFICA, COSTITUITO DA UNO O PIÙ MICROCONTROLLORI CONNESSI AD UN INSIEME DI SENSORI ED ATTUATORI. TOTALE ORE LEZIONE 19 /ORE ESERCITAZIONE 29 / ORE LABORATORIO 24 |
Metodi Didattici | |
---|---|
L'INSEGNAMENTO PREVEDE LEZIONI FRONTALI ED ESERCITAZIONI VOLTE A ILLUSTRARE L'USO DI STRUMENTI HARDWARE E SOFTWARE PER LA REALIZZAZIONE DI APPLICAZIONI IOT. LE ATTIVITÀ DI ESERCITAZIONE PRATICA SARANNO FINALIZZATE AD APPLICARE LE CONOSCENZE ACQUISITE PER LA PROGRAMMAZIONE DEL MICROCONTROLLORE UTILIZZANDO IL LINGUAGGIO PYTHON, LA PROGETTAZIONE DI SEMPLICI CIRCUITI ELETTRICI FINALIZZATI ALL’INTERFACCIAMENTO ED IL CONTROLLO DI COMPONENTI HW COME LED, MOTORI E SENSORI DI VARIA NATURA UTILIZZANDO I DIVERSI PROTOCOLLI (I2C, SPI, I/O DIGITALE ED ANALOGICO, PWM). LE ORE DI LABORATORIO VERRANNO UTILIZZATE PER AVVIARE LA REALIZZAZIONE DEL PROGETTO CHE DOVRÀ ESSERE DISCUSSO IN SEDE DI ESAME. PER POTER SOSTENERE LA VERIFICA FINALE DEL PROFITTO E CONSEGUIRE I CFU RELATIVI ALL’ATTIVITÀ FORMATIVA, LO STUDENTE DOVRÀ AVERE FREQUENTATO ALMENO IL 70% DELLE ORE PREVISTE DI ATTIVITÀ DIDATTICA ASSISTITA. |
Verifica dell'apprendimento | |
---|---|
L'ESAME PREVEDE LA REALIZZAZIONE DI UN PROGETTO DI GRUPPO (CON GRUPPI DI 3 PERSONE) E UN TEST A RISPOSTA MULTIPLA E DUE QUESITI A RISPOSTA APERTA DI CARATTERE TEORICO. IL PROGETTO È VOLTO A DIMOSTRARE LA CAPACITÀ DI REALIZZARE UNA APPLICAZIONE IOT CON GLI STRUMENTI PRESENTATI NEL CORSO, SARANNO RITENUTI SUFFICIENTI I PROGETTI CHE PREVEDONO L’INTERFACCIAMENTO DI SENSORI CONNESSI TRAMITE PROTOCOLLO I2C O SPI, CONTROLLO DI UN DEVICE TRAMITE PWM E LA COMUNICAZIONE VERSO L’ESTERNO TRAMITE MQTT. LA DISCUSSIONE DEL PROGETTO MIRERÀ A VERIFICARE IL CONTRIBUTO FORNITO DAI SINGOLI MEMBRI DEL GRUPPO NELLA REALIZZAZIONE DELLO STESSO. VIENE VALUATATA LA CAPACITÀ DELLO STUDENTE DI PRESENTARE EFFICACEMENTE I CONTENUTI E DISCUTERE CRITICAMENTE DEGLI ARGOMENTI ESPOSTI. IL PUNTEGGIO AL PROGETTO VIENE ATTRIBUITO IN BASE ALLA COMPLETEZZA DEL SISTEMA REALIZZATO, LA COMPLESSITÀ ARCHITETTURALE E LA QUANTITÀ E TIPOLOGIA DI SENSORI REALIZZATI, LE INTERFACCE DI CONTROLLO ED INTERAZIONE. IL TEST MIRA A VERIFICARE LA COMPRENSIONE DEGLI ARGOMENTI TEORICI CON PARTICOLARE RIFERIMENTO AI PROTOCOLLI MQTT, I2C E SPI ALL’UTILIZZO DEL PWM PER IL CONTROLLO DEI MOTORI MICRO E SERVO. IL VOTO FINALE SARÀ CALCOLATA COME MEDIA PESATA DEL VOTO ATTRIBUITO AL PROGETTO (60%) ED DEL TEST SUGLI ARGOMENTI DI CARATTERE TEORICO (40%). L’ECCELLENZA SARÀ ATTRIBUITA AGLI STUDENTI CHE OTTERRANNO IL PUNTEGGIO MASSIMO IN ENTRAMBE LE PROVE E LA REALIZZAZIONE DI UN PROGETTO CON L’UTILIZZO DI SENSORI NON PRESENTATI A LEZIONE. |
Testi | |
---|---|
MATERIALE DIDATTICO FORNITO DAI DOCENTI. MATERIALE DIDATTICO INTEGRATIVO SARA' DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO. |
Altre Informazioni | |
---|---|
L'INSEGNAMENTO E' EROGATO IN ITALIANO |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-12-13]