Logo UAB
2023/2024

Internet de las Cosas

Código: 105075 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2502441 Ingeniería Informática OT 4 1

Contacto

Nombre:
Jordi Carrabina Bordoll
Correo electrónico:
jordi.carrabina@uab.cat

Idiomas de los grupos

Puede consutarlo a través de este enlace. Para consultar el idioma necesitará introducir el CÓDIGO de la asignatura. Tenga en cuenta que la información es provisional hasta el 30 de noviembre del 2023.

Equipo docente

Marc Codina Barbera

Prerrequisitos

La asignatura es autocontenida y por tanto no hay pre-requisitos específicos.


Objetivos y contextualización

Descripción:

El mundo de las TIC se está estructurando sobre diversos conceptos. Uno de ellos es el del Internet de las Cosas, que se basa en ampliar el dominio de los sistemas computacionales conectados a los objetos (devices) con soluciones muy pequeñas pero que intereactuen con el mundo real vía sensores y actuadores de muy bajo consumo, en diferentes ámbitos: personal / wearables, salud, domótica, medio ambiente, distribución de energía y agua, automoción, etc. Estos se conectan mediante protocolos diversos a una plataforma intermedia fija o móvil (edge) que la gestiona, filtrando y procesando una parte de los datos de manera local. A su vez, ésta se conecta a la nube (cloud) donde se almacenan, procesan y visualizan los datos. La puesta en marcha de estos sistemas requiere integrar los diversos conceptos, adquiridos en los estudios de grado, en este nuevo paradigma device-edge-cloud asociado a diferentes tipos de plataformas computacionales (sigle-, multi-, many-core processors) con diferentes requerimientos de funcionalidad, energía, latencia, ancho de banda y coste; diferentes modelos de programación y comunicaciones; y diferentes soluciones cloud de back-end y front-end, por lo que es necesario un mayor nivel de abstracción a nivel de interfases (APIs y Middleware) y virtualización (computación y comunicaciones).

Objetivos:

Establecer los fundamentos del internet de las cosas (IOT): dispositivo, periferia (edge) y nube (cloud)
Aprender a clasificar los procesadores, sensores, actuadores y sistemas integrados, y seleccionar protocolos de comunicaciones
Evaluar los requerimientos funcionales y las prestaciones de coste, tiempo real y eficiencia energética
Evaluar el coste de las estructuras de datos en función de los sensores, computación, comunicación, almacenamiento y visualización en cada nivel
Seleccionar plataformas empotradas y moviles para la periferia (edge) y las soluciones cloud para front-end y back-end
Gestionar la virtualización de la computación y las comunicaciones
Diseñar un caso de ejemplo teórico-pràctico de toda la cadena IoT para una aplicación específica


Competencias

  • Actitud personal.
  • Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
  • Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • Comunicación.
  • Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.

Resultados de aprendizaje

  1. Comparar y evaluar las posibles plataformas para cumplir los requerimientos de las aplicaciones.
  2. Comunicar eficientemente, de forma oral y/o escrita, conocimientos, resultados y habilidades, tanto en entornos profesionales como ante públicos no expertos.
  3. Diseñar y desarrollar sistemas de cómputo cumpliendo las especificaciones del sistema y de la aplicación, en particular en lo que hace referencia a los sistemas empotrados y de tiempo real.
  4. Generar propuestas innovadoras y competitivas en la actividad profesional.
  5. Gestionar la información incorporando de forma crítica las innovaciones del propio campo profesional, y analizar las tendencias de futuro.
  6. Identificar las necesidades de seguridad que deben cumplir los sistemas empotrados.
  7. Reconocer e identificar los métodos, sistemas y tecnologías propios de la ingeniería informática.
  8. Seleccionar la plataforma más adecuada para una aplicación específica y diseñar y desarrollar la solución basada en el microprocesador correspondiente.
  9. Utilizar el inglés como idioma de comunicación y relación profesional de referencia.

Contenido

Teoría y problemas

1. Visión global del Internet de los Objetos y Virtualización

  • Funcionalidad y arquitectura de los sistemas IoT: Dispositivo, periferia, nube
  • Cloud back-end & front-end
  • Plataformas virtuales para sistemas incrustados
  • Plataformas virtuales para sistemas de nube: IaaS, PaaS, SaaS
  • Virtualización de comunicaciones

2. Introducción a las comunicaciones cableadas e inalámbricas

  • Estandarización de las comunicaciones
  • Protocolos cableados para conectar dispositivos, periferia y nube
  • Redes inalámbricas entre device y edge: WBAN, WPAN, WLAN, LPWAN
  • Redes inalámbricas entre edge y cloud: WLAN, WAN, LPWAN, 5G
  • Empaquetado de datos en comunicaciones

3. Plataformas empotradas y móviles

  • Plataformas empotradas: abiertas e industriales
  • Ejemplos de plataformas 
  • Plataformas móviles

4. Dispositivos IoT

  • Ejemplos y Casos de uso
  • Componentes HW: procesadores, sensores, actuadores, energía, pasivos, mecánica
  • Prestaciones: coste, tiempo-real (latència, throughput) y eficiencia energética
  • Estándares y propiedad intelectual

Proyecto guiado: Diseño de un sistema IoT (original)
P1. Ideas originales para el diseño de un sistema IoT y estudio de mercado preliminar
P2. Especificaciones funcionales y de prestaciones del proyecto
P3. Arquitectura de bloques y comunicaciones del sistema IoT. Alternativas de implementación
P4. Implementación del sistema. Selección de componentes y plataformas
P5. Estimación de planificación, costes , prestaciones y modelo de negocio
P6. Documento, presentación y defensa del proyecto 

Laboratorio: Prototipo del sistema IoT (original)
L1. Introducción a la programación del SoC MCU-BLE.
L2. Emulació de dades dels sensors + MCU + Bluetooth.
L3. Programación de aplicaciones Android I: adquisición de datos y transmisión por Bluetooth Low Energy.
L4. Programación Android II: computación y aplicación JSON de conexión a un servidor.
L5. Aplicación en la nube: back-end & front-end
L6. Presentación final


Metodología

La metodología de aprendizaje combinará: clases magistrales, actividades en sesiones tutorizadas, casos de uso y aprendizaje basado en proyectos; debates y otras actividades colaborativas; y sesiones de laboratorio.

La asistencia es obligatoria para las actividades: Proyecto de diseño IoT y prácticas de laboratorio, que se realizarán en grupos de 2 o 3 personas.

Las sesiones de laboratorio utilizaran un formato supervisado (no guiado) para ofrecer mayor autonomía a los alumnos y un apoyo más personalizado. 

Este curso se utilizará el campus virtual de la UAB a https://cv.uab.cat.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.


Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases magistrales y seminarios 30 1,2 1, 2, 3, 6, 7, 8, 9
Tipo: Supervisadas      
Laboratorios y Proyecto de diseño 28 1,12 2, 3, 7, 9
Tipo: Autónomas      
Estudio y trabajo fuera del aula 90 3,6 1, 2, 3, 4, 5, 7, 8, 9

Evaluación

Esta asignatura no prevé el sistema de evaluación única

La evaluación de los alumnes utilitzará el modelo de evaluación continua y la nota final del curso se calcula de la siguiente manera:
A - 20% de la nota obtenida por la evaluación de las actividades propuestas (tipo de ejercicio). Cuando se programa una actividad de evaluación, indicará qué indicadores se utilizarán para evaluar y su peso en la calificación.
B - 40% de la marca obtenida por la evaluación del trabajo de diseño de un sistema IoT (original).
C - 40% de la nota obtenida por el estudiante de los trabajos de laboratorio. Es necesario superar 5 (de cada 10) en este ítem para aprobar la asignatura.

Para obtener MH será necesario que los alumnos tengan una qulificació global superior a 9 con las limitaciones de la UAB (1MH /20alumnes). Como criterio de referencia, se asignan por orden descendente.

Una nota final ponderada no inferior al 50% es suficiente para superar el curso, siempre que se alcance una puntuación superior a un tercio del rango siempre que se alcance una puntuación superior a un tercio del rango en los 3 primeros ítems (A y B). Si és inferior se assignará una nota de 4.0.

No se tolerará el plagio. Todos los estudiantes implicados en una actividad de plagio serán suspendidos automáticamente. Se asignará una nota final no superior al 30%.

Un estudiante que no haya conseguido una nota media ponderada suficiente, puede optar por solicitar actividades de recuperación (trabajos individuales o prueba de síntesis adicional) de la asignatura en las siguientes condiciones:
- el estudiante debe haber participado en las actividades de laboratorio y el proyecto de diseño,
- el estudiante debe tener un promedio ponderado final superior al 30%, y
- el estudiante no debe haber fallado en ninguna actividad por culpa del plagio.

El estudiante recibirá una nota de "No Evaluable" en caso de que:
- el estudiante no haya podido ser evaluado en las actividades de laboratorio por no haber asistido o no haber entregado los correspondientes informes sin causa justificada.
- el estudiante no haya realizar un mínimo del 50% de las actividades propuestas.
- el estudiante no haya realizado el trabajo de diseño.

Los estudiantes repetidores podrán "guardar" su calificación en las actividades de laboratorio y de aprendizaje basado en problemas pero no las del resto de actividades.


Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Actividades individuales (tipo ejercicios) 20% 0 0 1, 2, 3, 6, 7, 8, 9
Evaluación de actividades desarrolladas en sesiones tutorizadas (laboratorios) 40% 0 0 2, 3, 7
Informe y presentación del proyecto de diseño 40% 2 0,08 1, 2, 3, 4, 5, 6, 7, 8, 9

Bibliografía

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


Software

Se utilitzará la plataforma SoC-BLE de Nordic Semiconductors como device; el movil con Android como Edge; y una opción (a elegir por los alumnos) de servidor cloud con front-end y back-end.