Internet of Things

Teaching Methodologies

The subject is presented in classes that include theory and practice components. Initially the theory is presented, followed by the
demonstration of its application with practical examples. It is intended that those examples are part of a project that will be built throughout
the classes, to allow a global view on how IoT can be used to develop solutions for real problems.
The students will be exclusively evaluated through one practical work. The work should be done in groups. There will be a defense where
the students will present their work and answer questions. The student grade will consider the work report and the defense. Students can
submit their work on any of the exam dates to which they are entitled; however, for each delivery a new report is required.

Learning Results

This course aims to provide the student with a set of knowledge that allows him to design a solution using IoT technologies, from data
acquisition (using embedded systems programmed in MicroPython) to its presentation to the user through dashboards. The student should
be able to create solutions that help automate data collection and analysis within an organization.
Specifically, it is intended that the student acquires basic skills to identify the requirements and design a solution using available techniques
and technologies, such as IoT device programming, IoT communication protocols, usual data management and storage tools, data analysis
and building dashboard-based data visualization interfaces.

Program

1. Introduction to IoT
1.1 Motivation
1.2 Basic concepts
1.3 Application domains
2. IoT device programming using MicroPython
2.1 Python review
2.2 IoT Device Programming
3. Communication technologies
3.1 Bluetooth and WiFi
3.2 LoRaWAN and NB-IoT
4. Key Application Protocols
4.1 MQTT
4.2 HTTP
4.3 CoAP
5. Processing and analysis of data generated by IoT devices
6. Building User Interfaces based on Dashboard platforms

Internship(s)

NAO

Bibliography

Santos,R.,& Santos,S.(2021).MicroPython programming with ESP32 and ESP8266.Random Nerd Tutorials
Beningo,J.(2020).MicroPython projects.Packt Publishing
Dain,J.(2023).Fundamentals of IoT:For students and professionals.Wiley-IEEE Press
Hanes,D.,& Salgueiro,G.(2017)IoT fundamentals:Networking technologies,protocols,and use cases for the IoT. Cisco Press
Sinclair,B.(2017).IoT Inc:How your company can use the internet of things to win in the outcome economy.McGraw-Hill
Warden,P.,& Situnayake,D.(2019).TinyML.O’Reilly
Lea,P.(2020).IoT and edge computing for architects:Implementing edge and IoT systems from sensors to clouds with communication
systems,analytics,and security(2nd ed.).Packt Publishing
Situnayake,D.,& Plunkett,J.(2023).AI at the edge:Solving real-world problems with embedded machine learning.O’Reilly Media
Alwan,M.A.(2022).Designing production-grade and large-scale IoT solutions:A comprehensive and practical guide to implementing end-toend
IoT solutions.Packt Publishing