Logo UAB
2023/2024

Internet de les Coses

Codi: 105075 Crèdits: 6
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OT 4 1

Professor/a de contacte

Nom:
Jordi Carrabina Bordoll
Correu electrònic:
jordi.carrabina@uab.cat

Idiomes dels grups

Podeu accedir-hi des d'aquest enllaç. Per consultar l'idioma us caldrà introduir el CODI de l'assignatura. Tingueu en compte que la informació és provisional fins a 30 de novembre de 2023.

Equip docent

Marc Codina Barbera

Prerequisits

L'assignatura és autocontinguta i per tant no hi ha prerequisits especifics.


Objectius

Descripció:

El món de les TIC s'està estructurant sobre diversos conceptes. Un d'ells és el de l'Internet dels Objectes, que es basa en ampliar el domini dels sistemes computacionals connectats als objectes (devices) amb solucions molt petites que intereactuen amb el mon real via sensors i actuadors de molt baix consum, en diferents àmbits: personal/wearables, salut, domòtica, medi ambient, distribució d'energia i aigua, automoció, etc. Aquests es connecten mitjançant diversos protocols a una plataforma intermèdia fixa o mòbil (edge) que gestiona, filtra i processa una part de les dades de manera local, i que és connecta al núvol (cloud) on s'emmagatzemen, processen i visualitzen les dades. La posta en marxa d'aquests sistemes requereix integrar els diversos conceptes, adquirits als estudis de grau, en aquest nou paradigma device-edge-cloud associat a diferents tipus de plataformes computacionals (single-, multi-, many-core processors) amb diferents requeriments de funcionalitat, energia, latència, amplada de banda i cost; i diferents models de programació i comunicacions, i les diferents solucions cloud de back-end i front-end, per la qual cosa cal un major nivell d'abstracció a nivell de interfases (APIs i Middleware) i virtualització (computació i comunicacions).

Objectius:

Establir els fonaments de l'internet dels objectes (IoT): dispositiu, perifèria (edge) i núvol (cloud)
Aprendre a classificar els processadors, sensors, actuadors i sistemes integrats, i a seleccionar protocols de comunicacions
Avaluar els requeriments de funcionalitat i les prestacions en termes de cost, temps real i eficiència energètica
Avaluar el cost de les estructures de dades en funció dels sensors, computació, comunicació, emmagatzematge i visualització a cada nivell.
Seleccionar plataformes encastades i mòbils per a la perifèria (edge) i les solucions cloud per a back-end i front-end
Gestionar la virtualització de la computació i les comunicacions
Dissenyar un cas d'exemple teòric i pràctic de la cadena IoT d’aplicació específica


Competències

  • Capacitat per definir, avaluar i seleccionar plataformes de maquinari i programari per al desenvolupament i l'execució de sistemes, serveis i aplicacions informàtiques.
  • Capacitat per dissenyar, desenvolupar, avaluar i assegurar l'accessibilitat, l'ergonomia, la usabilitat i la seguretat dels sistemes, serveis i aplicacions informàtiques, així com de la informació que gestionen.
  • Comunicació.
  • Conèixer les matèries bàsiques i les tecnologies que capacitin per a l'aprenentatge i el desenvolupament de nous mètodes i tecnologies, així com d'aquelles que els dotin d'una gran versatilitat per a adaptar-se a noves situacions.
  • Tenir una actitud personal adequada.

Resultats d'aprenentatge

  1. Comparar i avaluar les possibles plataformes per a complir els requeriments de les aplicacions.
  2. Comunicar eficientment, oralment o per escrit, coneixements, resultats i habilitats, tant en entorns professionals com davant de públics no experts.
  3. Dissenyar i desenvolupar sistemes de còmput complint les especificacions del sistema i de l'aplicació, en particular en el que fa referència als sistemes empotrats i de temps real.
  4. Generar propostes innovadores i competitives en l'activitat professional.
  5. Gestionar la informació incorporant de manera crítica les innovacions del propi camp professional, i analitzar les tendències de futur.
  6. Identificar les necessitats de seguretat que han de complir els sistemes empotrats.
  7. Reconèixer i identificar els mètodes, sistemes i tecnologies propis de l'enginyeria informàtica.
  8. Seleccionar la plataforma més adequada per a una aplicació específica i dissenyar i desenvolupar la solució basada en el microprocessador corresponent.
  9. Utilitzar l'anglès com l'idioma de comunicació i de relació professional de referència.

Continguts

Teoria i problemes

1. Visió global del Internet dels Objectes i Virtualitzacuió

  • Funcionalitat i arquitectura dels sistemes IoT: Dispositiu, perifèria, núvol
  • Cloud back-end & front-end
  • Plataformes virtuals per a sistemes incrustats
  • Plataformes virtuals per a sistemes de núvol: IaaS, PaaS, SaaS
  • Virtualització de comunicacions

2. Introducció a les comunicacions cablejades i sense fils

  • Estandardització de les comunicacions
  • Protocols cablejats per a connectar dispositius, perifèria i núvol
  • Xarxes sense fils entre dispositius i perifèria: WBAN, WPAN, WLAN, LPWAN
  • Xarxes sense fils entre perifèria i núvol: WLAN, WAN, LPWAN, 5G
  • Paquetització de dades en comunicacions

3. Plataformes embedded i mòbils

  • Plataformes embedded: obertes i industrials
  • Exemples de plataformes 
  • Plataformes mòbils

4. Dispositius IoT

  • Exemples i Casos d’ús
  • Components HW: processadors, sensors, actuadors, energia, passius, mecànica
  • Prestacions: cost, temps-real (latència, throughput) i eficiència energètica
  • Estàndards i propietat intel.lectual

Projecte guiat: Disseny d'un sistema IoT (original)

P1. Idees originals per al disseny d'un sistema IoT i estudi de mercat preliminar
P2. Especificacions funcionals i de prestacions del projecte 
P3. Arquitectura de blocs i comunicacions del sistema IoT i alternatives d'implementació
P4. Implementació del sistema. Selecció de components i plataformes
P5. Estimació de planificació, costos, prestacions i model de negoci
P6. Document,presentació i defensa del projecte 
 

Laboratori: Prototip del sistema IoT (original)

L1. Introducció a la programació d'un SoC MCU-BLE 
L2. Emulació de dades dels sensors + MCU + Bluetooth.
L3. Programació d'aplicacions Android I: adquisició de dades i transmission per Bluetooth Low Energy.
L4. Programació Android II: computació i aplicació JSON de connexió a un servidor.
L5. Aplicació al núvol: back-end & front-end
L6. Presentació final


Metodologia

La metodologia d’aprenentatge combinarà: classes magistrals, activitats en sessions tutoritzades; casos d’ús; exercicis utilitzant exemples reals i aprenentatge basat en projectes; debats i altres activitats col·laboratives; i sessions de laboratori amb plataformes actuals.

L’assistència és obligatòria per a les activitats: projecte de disseny IoT i les pràctiques de laboratori que és faran en grups de 2 o 3 persones.

Les sessions de laboratori es faran en format supervisat (no guiat) per oferir major autonomia als estudiants i un suport més personalitzat.

S’utilitzarà el campus virtual de la UAB a https://cv.uab.cat.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes magistrals i seminaris 30 1,2 1, 2, 3, 6, 7, 8, 9
Tipus: Supervisades      
Laboratoris i Projecte de Disseny 28 1,12 2, 3, 7, 9
Tipus: Autònomes      
Estudi i treball fora de l'aula 90 3,6 1, 2, 3, 4, 5, 7, 8, 9

Avaluació

Aquesta assignatura no preveu el sistema d’avaluació única

L'avaluació dels alumnes utilitzarà l'avaluació continuada i la nota final del curs es calcula de la següent manera:
A - 20% de la nota obtinguda per l'avaluació de les activitats proposades (tipus exercicis). Quan es programi una activitat d’avaluació s’indicarà quins indicadors s'usaran per avaluar i el seu pes en la qualificació.
B - 40% de la nota obtinguda per l'avaluació del treball de disseny d'un sistema IoT (original). 
C - 40% de la nota obtinguda per l'estudiant dels treballs de laboratori. Cal superar el 5 (sobre 10) en aquest ítem per aprovar l'assignatura.

Per obtenir MH caldrà que els alumnes tinguin una qualificació global superior a 9 amb les limitacions de la UAB (1MH/20alumnes). Com a criteri de referència, s'assignaran per ordre descendent.

Una nota final ponderada no inferior al 50% és suficient per superar el curs, sempre que s’assoleixi una puntuació superior a un terç de la gamma en els 2 primers ítems (A i B). 

No es tolerarà el plagi. Tots els estudiants implicats en una activitat de plagi seran suspesos automàticament. S'assignarà una nota final no superior al 30%.

Un estudiant que no hagi aconseguit una nota mitjana ponderada suficient, pot optar per sol·licitar activitats de recuperació (treballs individuals o proba de síntesi) de l'assignatura en les següents condicions:
- l'estudiant ha d'haver participat en els treballs de laboratori i projecte de disseny,
- l'estudiant ha de tenir una mitjana ponderada final superior al 30%, i
- l'estudiant no ha fallat en cap activitat per culpa del plagi.

L’estudiant rebrà una nota de “No Avaluable” en cas que:
- l'estudiant no hagi pogut ser avaluat en les activitats de laboratori per no haver-hi assistit o no haver entregat els corresponents informes sense causa justificada.
- l'estudiant no hagi realitzar un mínim del 50% de les activitats proposades.
- l'estudiant no hagi realitzat el treball de disseny.

Els estudiants repetidors podran "guardar" la seva qualificació en les activitats de laboratori.


Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Activitats individuals (tipus exercicis) 20% 0 0 1, 2, 3, 6, 7, 8, 9
Avaluació d'activitats desenvolupades en sessions tutoritzades (laboratoris) 40% 0 0 2, 3, 7
Informe i presentació del projecte de disseny 40% 2 0,08 1, 2, 3, 4, 5, 6, 7, 8, 9

Bibliografia

C. Pfister. Getting Started with the Internet of Things: Connecting Sensors and Microcontrollers to the Cloud (Make: Projects) . O'Really. 2011.

A. McEwen, H. Cassimally. Designing the Internet of Things.2014. Willey.

A. Bahga, V. Madisetti. Internet of Things: A Hands-on Approach. VTP. 2015.

S. Greengard, The Internet of Things. The MIT Press Essential Knowledge series.

V. Zimmer. Development Best Practices for the Internet of Things.

A. Bassi, M. Bauer, M. Fiedler, T. Kramp, R. van Kranenburg, S. Lange, S. Meissner. (Eds) Enabling Things to Talk - Designing IoT solutions with the IoT Architectural Reference Model. Springer.

J. Olenewa, Guide to Wireless Communications, 3rd Edition, Course Technology, 2014.

P. Raj and A. C. Raman, The Internet of Things: Enabling Technologies, Platforms and Use Cases, CRC Press 2017.

H. Geng (Ed.), Internet of the Things and Data Analytics Handbook, Wiley 2017.

Y. Noergaard, "Embedded Systems Architecture" 2nd Edition, 2012, Elsevier

K. Benzekki, Softwaredefined networking (SDN): a survey, 2017, https://doi.org/10.1002/sec.1737

https://blogs.cisco.com/innovation/barcelona-fog-computing-poc

https://aws.amazon.com/

A.K. Bourke et al. Evaluation of waist-mounted tri-axial accelerometer based fall-detection algorithms during scripted and continuous unscripted activities, Journal of Biomechanics, Volume 43, Issue 15, 2010, pp. 3051-3057

N. Jia. Detecting Human Falls with a 3-Axis Digital Accelerometer. Analog Devices. http://www.analog.com/en/analog-dialogue/articles/detecting-falls-3-axis-digital-accelerometer.html


Programari

S'utilitzarà la plataforma SoC-BLE de Nordic Semiconductors com a device; el mòbil amb Android com a Edge; y una opció (a triar pels alumes) de servidor cloud amb front-end i back-end.