Logo UAB
2021/2022

Internet de les Coses

Codi: 105075 Crèdits: 6
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OT 4 1
La metodologia docent i l'avaluació proposades a la guia poden experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.

Professor/a de contacte

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

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
anglès (eng)
Grup íntegre en anglès:
No
Grup íntegre en català:
Grup íntegre en espanyol:
No

Equip docent

Marc Codina Barbera

Prerequisits

L'assignatura és autocontinguta i per tant no hi ha pre-requisits 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 diferentes 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
Seleccionar plataformes encastades i móvils per a la periferia (edge) i les solucions cloud per a back-end i front-end
Gestionar la virtualizació de la computació i les comunicacions
Dissenyar un cas d'exemple de tota la cadena IoT

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

  • Funcionalitat i arquitectura dels sistemes IoT: Dispositiu, perifèria, núvol
  • 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

2. Introducció a les comunicacions cablejades i sense fils

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

3. Plataformes embedded i mòbils

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

4. Virtualització

  • 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
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: Sistema de detecció de caigudes

L1. Introducció a la programació d'un SoC MCU-BLE a la plataforma Thingy
L2. Algorisme de detecció de caigudes amb acceleròmetre + MCU + Bluetooth.
L3. Programació d'aplicacions Android I: adquisició de dades i transmission per Bluetooth Low Energy.
L4. Programació Android II: computacio i aplicació JSON de connexió a un servidor.
L5. Aplicació al núvol: back-end & front-end

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 totes les activitats presencials (amb el permís de les pandèmies).

El projecte de disseny i les pràctiques de laboratori és farà en grups de 2 o 3 persones.

Les sessions de laboratoria es farán 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ó

L'avaluació dels alumnes utilitzarà l'avaluació continuada i la nota final del curs es calcula de la següent manera:
A - 10% de la nota obtinguda per l'estudiant procedent de l'assistència a classe i la participació activa a les discussions.
B - 25% 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ó.
C - 30% de la nota obtinguda per l'avaluació del treball de disseny d'un sistema IoT (original). 
D - 35% 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 3 primers ítems (A, B i C). 

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ó

Títol Pes Hores ECTS Resultats d'aprenentatge
Activitats individuals (tipus exercicis) 25% 0 0 1, 2, 3, 6, 7, 8, 9
Assistència i participació activa 10% 0 0 2, 4, 5, 7, 9
Avaluació d'activitats desenvolupades en sessions tutoritzades (laboratoris) 35% 0 0 2, 3, 7
Informe i presentació del projecte de disseny 30% 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 Thingy de Nordic Semiconductors com a device; el mòbil amb Android com a Edge; y una opció (a trar pels alumes) de servidor cloud amb front-end i back-end.

Es possible que hi hagi millores en aquesta cadena (que es mantindrà la mateixa estructura).