Smart City e Tecnologie Mobili

Dati generali

  • Docente: Prof. Dario Maio
  • Tutor: Luca Calderoni
  • Collaboratori: Antonio Magnani
  • Periodo: primo semestre
  • Crediti: 6
  • Modalità didattiche: lezioni in aula, esercitazioni in laboratorio
  • Modalità di esame: elaborato di progetto, prova orale
  • Orario lezioni: Da definire
  • Ricevimento
    Prof. Dario Maio: mer. 14:30 – 16:30

Conoscenze

Oggi Smart City rappresenta un’area di ricerca e applicazione con enormi potenzialità di crescita e coinvolge una molteplicità di aspetti rilevanti: il ruolo delle amministrazioni per la programmazione strategica e lo sviluppo di una nazione, la costruzione di capitale sociale e relazionale, le tecnologie come fattori innovativi facilitanti, il nuovo posizionamento dei cittadini e delle loro associazioni.
Alla fine del corso lo studente possiede le conoscenze di base – in termini di tecnologie, metodi e strumenti – per la progettazione e lo sviluppo di applicazioni software di ausilio alla realizzazione di servizi innovativi in contesti di città digitali, con particolare riferimento alle tecnologie mobili. Ulteriore obiettivo del corso è la presentazione di alcune linee della ricerca scientifica nel settore ICT per Smart City che potranno, nel prossimo futuro, innescare processi d’innovazione tecnologica nelle varie applicazioni d’interesse.

Programma

Riconoscendo come decisivo il ruolo delle tecnologie mobili, dei sistemi embedded e della “sensoristica diffusa” in uno scenario moderno di infrastrutture di interconnessione e di “nuvole di elaborazione”, il corso vuole porsi, in via prioritaria, come base per l’apprendimento dei metodi e degli strumenti per lo sviluppo di applicazioni software per la realizzazione di servizi innovativi in contesti di città digitali.

Principali contenuti del corso

  • Le basi per la realizzazione di servizi innovativi in contesti Smart City
  • Internet of Things
  • Tecnologie di sensing
  • Sistemi embedded e applicazioni  (es. monitoraggio ambientale, videosorveglianza, smart building, domotica, visione artificiale)
  • Tecnologie di Realtà Aumentata
  • Metodologie di progettazione e ambienti di sviluppo per applicazioni su dispositivi mobili
  • Cloud Computing e Big data

Sono previsti anche seminari tematici su alcuni aspetti d’interesse per Smart City.

Il corso è affiancato da esercitazioni guidate in laboratorio, programmate in modo che lo studente possa realizzare praticamente le soluzioni dei problemi illustrati durante le lezioni.

Strumenti

Gran parte dei progetti illustrati durante il corso derivano dalle esperienze condotte nell’ambito di Smart City Lab (http://smartcity.csr.unibo.it), un laboratorio di ricerca del DISI dove sono fruibili alcuni single-board computer (es. Raspberry PI) e relative piattaforme di sviluppo software per sistemi embedded, dispositivi di sensing e dispositivi mobili.  In particolare per gli aspetti relativi alla realizzazione di sistemi embedded si utilizzeranno i sistemi operativi Linux e Microsoft Windows. Per la realizzazione di applicazioni software su dispositivi mobili (smartphone e tablet) si farà uso prevalentemente di ambienti di sviluppo per piattaforme Android e Microsoft Windows.

Metodi

Il corso di carattere prevalentemente progettuale dedica, senza pretesa di esaustività, alcuni spazi specifici alle discipline che non possono essere trascurate quando si affronta un progetto complesso nell’ambito Smart City. Durante le lezioni saranno discusse le problematiche generali connesse con la progettazione e lo sviluppo di “servizi smart”. Il corso sarà affiancato da esercitazioni guidate in aula e in laboratorio. Queste attività sono programmate in modo che all’interno di ogni esercitazione lo studente possa realizzare praticamente le soluzioni dei problemi delineati in forma teorica durante le lezioni.

Verifica

L’esame si compone di due parti:

  • svolgimento di un elaborato di progetto, che consiste nella realizzazione di un’applicazione software relativa a uno o più argomenti trattati nel corso; la consegna della documentazione di progetto e del software sviluppato è indispensabile per poter sostenere la prova orale;
  • una prova orale che consiste principalmente nella discussione dell’elaborato di progetto ma prevede anche domande di approfondimento sul programma del corso.

Linee guida per la stesura della documentazione di progetto

Scarica qui il template per la relazione.

Prossimi appelli

Gli appelli d’esame sono riportati nella piattaforma AlmaEsami.
Nota bene: la consegna dell’elaborato d’esame attraverso upload in apposito repository è da effettuarsi almeno 3 giorni lavorativi prima dell’appello al quale si intende iscriversi.

Proposte di Tesi

Di seguito alcune proposte di tesi:

  • Progettazione ed implementazione di un software basato su piattaforme di cloud computing per l’analisi e la visualizzazione in tempo reale dei dati raccolti tramite sensoristica diffusa (in particolare rilevatori di gas radon in ambienti indoor). Valutazione della connessione di devices basati su tecnologie Raspberry Pi e NodeMCU.
  • Realizzazione di un device basato su una board a basso costo (come RaspberryPI) dotato di misuratore attivo di gas radon e display. Utilizzo di piattaforme di cloud computing al fine di collezionare i dati generati dai device e renderli fruibili da parte di applicazioni terze.
  • Installazione e messa in opera di MySQL Cluster su un gruppo di RaspberryPi. Realizzazione di un applicativo che risponda ad alcuni comuni design pattern di Cloud Computing sull’architettura realizzata.

Materiale didattico

Testi

Dispense a cura del docente sotto elencate.

Slide

Argomenti introduttivi Slide
Syllabus Slide
Smart City: definizione, ambiti e tecnologie Slide
IoT, Cloud Computing e NoSQL Slide
Internet of Things Slide
Fondamenti di Cloud Computing e Fog Computing Slide
AWS IoT Core Slide
Introduzione ai DBMS NoSQL Slide
Introduzione ai Big Data Slide
Google Bigtable, Google BigQuery Slide
MongoDB Slide
DynamoDB Slide
Tecnologie di sensing Slide
Introduzione alle tecnologie di sensing Slide
Accelerometro Slide
Giroscopio Slide
Magnetometro e bussola elettronica Slide
Sensore di pressione atmosferica Slide
Sensore di prossimità Slide
Near Field Communication Slide
Microfono MEMS Slide
Sensore d’immagine Slide
Touchscreen Slide
GPS Slide
Sensori biometrici Slide
Misurazione del particolato Slide
Misure fotometriche Slide
Misurazione del pH delle piogge Slide
Monitoraggio strutturale Slide
Sistemi embedded e videosorveglianza Slide
Sistemi embedded: concetti di base, architetture e metodologie di sviluppo Slide
Microprocessori ARM Slide
Raspberry Pi Slide
Sistemi embedded per la visione artificiale Slide
Videosorveglianza panoramica e sistemi multicamera Slide
Realtà aumentata e ambient intelligence Slide
Realtà aumentata: concetti di base Slide
Realtà aumentata: Visual AR marker-based Slide
Realtà aumentata: Visual AR markerless Slide
Ambient Intelligence Slide
Ambient Intelligence: activity recognition Slide
Appendici e approfondimenti Slide
Appendici Slide
Laboratorio Slide Esercitazioni
Android (laboratorio) Slide Esercitazioni
AWS (laboratorio) Slide Esercitazioni
IoT Manager (laboratorio) Slide Esercitazioni
MongoDB (laboratorio) Slide Esercitazioni
RaspberryPi (laboratorio) Slide Esercitazioni
Immagine Raspberry Pi3
Realtà Aumentata (laboratorio) Slide Esercitazioni
Windows Phone (laboratorio) Slide Esercitazioni

Invio proposte di progetto

Le proposte di progetto vanno inviate al seguente link:
INVIA PROPOSTA DI PROGETTO