Internet Of Things 2021
10589747 - INTERNET OF THINGS
(A. A. 2020/2021)
Technology is moving beyond the personal computer to everyday devices with embedded technology and connectivity as computing devices become progressively smaller and more powerful. We are going through a new phase of computing evolution that involves processing capabilities in everything: objects, places, people, and processes. Almost any device, from clothing to tools to appliances to cars to homes to the human body to your coffee mug, can be embedded with chips to connect the device to an infinite network of other devices.
The Internet of Things (IoT) goes beyond the realm of personal computers: devices, networks, and cloud services are being merged with people and their activities - individuals or groups - to provide new and exciting possibilities in everything we do. Such highly interconnected computational components act autonomously and intelligently through the use of software agents that seamlessly integrate humans in the loop, creating new opportunities for intelligent systems where humans and agents interact continuously.
Course Objectives
The course aims to introduce students to the main concepts behind the Internet of Things (IoT) necessary to (a) understand the meaning of digital ubiquity and how connections, sensors, and data are revolutionizing business by examining emerging application scenaria and studying characteristic design approaches of pervasive systems and embedded networks; (b) build physical prototypes of smart objects that embedded processing capabilities to almost any device, from clothing to appliances to homes to cars to business machines taking into consideration the constrained resources available on embedded systems; (c) design robust and efficient information & communication infrastructures for the acquisition, processing and storage of sensor data; (d) examine essential algorithmic techniques and performance limits and provide the foundations for algorithms engineering in open-design; (e) evaluate the performance of the solution implemented in terms of network, energy, and cybersecurity requirements using real-world experimentation facilities.
This course introduces the students to programming for embedded devices, real-time operating systems and hardware platforms based on the ARM Cortex-M architecture. Techniques for task scheduling and power management in low-power and real-time operating systems. Networking technologies and standards for low-power and long-range wide area networks. Advanced techniques for over-the-air programming in lossy wireless networks. Low-power cryptographic mechanisms for data encryption and network security.
The students will study data processing architectures that achieve certain service level requirements (a) based on the cloud computing paradigm to integrate sensors data with web and mobile services; (b) combining Big Data analytics for stream processing of sensor data; (c) building upon the edge computing and fog computing paradigms to take advantage all the resources available on the cloud-edge-device processing continuum; (d) utilize distributed ledger technologies and smart contracts to integrate sensor data in advanced services; (e) protect the privacy and confidentiality of date by utilizing privacy preserving aggregation and group computation techniques. The course focuses on technologies to collect, integrate and processing data in the most efficient way rather than in exploiting those data to distill new knowledge (e.g. machine learning).
The course is characterized by a learn-by-doing approach. To pass the exam students have to carry out individual assignments and a final group project.
Syllabus
The course is organized in the following modules:
- Module 1: Designing Applications for the Internet of Things.
- Introduction to the main concepts of the IoT and design aspects of IoT platform enabled applications. Overview of specific IoT application areas such as Transportation/Mobility, Energy, Retail and Healthcare. Study of specific use cases and IoT projects. Experience/Interaction design for IoT applications.
- Introduction to research areas of Ambient Intelligence, Collective Intelligence, Participatory sensing and Crowdsensing. Presentation of scientific & technological challenges.
- Connected Things Connecting Europe, Communications of the ACM, March 2019.
- Digital Ubiquity: How Connections, Sensors, and Data Are Revolutionizing Business, Harvard Business Review, November 2014.
- Module 2: Embedded Operating Systems and Hardware Platforms.
- Introduction to embedded operating systems and offered services. Overview of IoT operatings systems (Riot-OS, Contiki, TinyOS). Deployment methodology and offered services. Task scheduling and power management in low-power and real-time operating system.
- Hardware prototyping platforms. The ST Microelectronnics NUCLEO platform and the ARM Cortex M architecture.
- The Future of Sensing is Batteryless, Intermittent, and Awesome, 15th ACM Conference on Embedded Network Sensor Systems (SENSYS), November 2017.
- Internet of Things (IoT) Operating SystemsSupport, Networking Technologies, Applications,and Challenges: A Comparative Review, IEEE Communications Surveys & Tutorials, Vol. 20, No. 3, 2018.
- Module 3: Networks, Protocols, Security.
- Low-Power Wireless Networks. The 802.15.4 communication protocol. The 6LoWPAN and IPv6 for the IoT. Routing in Low-Power Wireless Networks.
- Low-Power Wide-Area Networks. LoRa alliance and LoRaWAN, 5G and NB-IOT.
- Machine-to-Machine (M2M) communication, basic principles of interoperability.
- Securing the Internet of Things, TinyDTLS and Elliptic Curve Cryptography.
- Application Domain-Based Overview of IoT Network Traffic Characteristics, ACM Computing Surveys, Vol. 53, No. 4, July 2020.
- A Survey of Enabling Technologies of Low Power and Long Range Machine-to-Machine Communications, IEEE Communications Surveys & Tutorials, Vol. 19, No. 4, 2017.
- Module 4: Performance Evaluation.
- Introduction to different aspects of performance evaluation for IoT applications. Elements of network performance and wireless communication. Measuring power consumption and energy efficiency. Looking into the security and privacy of data.
- Tools for conducting performance evaluation. Overview of software simulators. Synthetic models for wireless channels, node mobility and application traffic generation. Using real-world datasets.
- Experimentation-as-a-service: IoT Lab for very large scale open real-world experimentation.
- Flexible experimentation in wireless sensor networks, Communications of the ACM, January 2012.
- A Framework to Implement IoT Network Performance Modelling Techniques for Network Solution Selection, MDPI Sensors, 16(12), article 2038, 2016.
- Module 5: Data, Analytics, Privacy.
- Introduction to data processing architectures. Big Data analytics in IoT enabled applications. AIOT: Artificial Intelligence for IoT. Cloud vs Edge computing, technical challenges and service level requirements. Basic notions of Fog computing and research challenges.
- Presentation of Amazon Web Services for the Internet of Things. Detailed presentation of IoT Core, IoT Analytics, GreenGrass. SageMaker @ Edge
- Blockchain for IoT. Opportunities and Challenges of Smart Contracts for IoT. Introducing IoT data in Smart Contracts using Oracles. IOTA: open-source distributed ledger and cryptocurrency designed for the Internet of things.
- Privacy Preserving Computation. Privacy preserving aggregation and group computation.
- Analytics for the Internet of Things: A Survey, ACM Computing Surveys, Vol. 51, No. 4, July 2018.
- Applications of Distributed Ledger Technologies to the Internet of Things: A Survey, ACM Computing Surveys, Vol. 52, No. 6, November 2019.
Individual Assignments
Students will need to carry out a set of assignments that realize an IoT system. A total of three assignments will be handed over. The assignments are individual and need to be submitted through Google Classroom.
Students will receive an STM NUCLEO-64 F401RE development board provided by ST Microelectronics.
Students are required to buy an electronics components kit. The electronic components kit in combination with the STM NUCLEO-64 F401RE development board will be used to learn the basics of embedded programming and circuit assembly. Additional components may be needed, depending on your design choices for the realization of the individual assignments.
- 1st Assignment
Deadline: 29th March 2021
- 2nd Assignment
Deadline: 26th April 2021
- 3rd Assignment
Deadline: 31st May 2021
The above three assignments are done by each student individually. Clearly you should discuss with other students of the course about the assignments. However, you must understand well your solutions, the code and the final write-up must be yours and written in isolation. In addition, even though you may discuss about how you could implement an algorithm, what type of libraries to use, and so on, the final code must be yours. You may also consult the internet for information, as long as it does not reveal the solution. If a question asks you to design and implement an algorithm for a problem, it's fine if you find information about how to resolve a problem with character encoding, for example, but it is not fine if you search for the code or the algorithm for the problem you are being asked. For the projects, you can talk with other students of the course about questions on the programming language, libraries, some API issue, and so on, but both the solutions and the programming must be yours. If we find out that you have violated the policy and you have copied in any way you will automatically fail. If you have any doubts about whether something is allowed or not, ask the instructor.
Group Assignments
Students are organized in groups of three and take over the design, development and evaluation of a pervasive system. The system goal is to address a real-world problem within the context of Blue Growth.
- Blue growth and ecosystem services, Luca Mulazzani and Giulio Malorgio, Marine Policy, Volume 85, November 2017, Pages 17-24.
- Smart Ports: Point of View, Deloitte Port Services, 2017.
- Future of the Logistics Industry, PWC, 2016.
Towards this end the students will be involved in a end-user driven design to define their project based on a series of interviews to identify the most important features and understand how to design their system. Each group will be supported by a student from the MSc in Product & Service Design.
The development will be based on the STM NUCLEO-64 F401RE development board allowing the students to try out their ideas and to quickly create prototypes for evaluation. Each project will be demonstrated at the end of the semester along with a detailed presentation of the evaluation of the end-to-end performance.
The group assignment thematic area, expected results and delivery schedule will be presented in detail during the 5th Lecture.
- 1st Delivery: Initial Idea Pitch
Deadline: 8th April 2021
- 2nd Delivery: Intermediate Presentation
Deadline: 20th May 2021
- Exam: Final Presentation
Deadline: Final Exam Data
The following groups submitted a project during the year:
- Safety Floater
- Water Quality for Fisheries
- Smart beam lighthouse
- Kloaka
- Harbor Waste Controul
- Fish Farming Water Monitoring
- Unmanned marine life quality monitoring device
- Reproducing Mussels
- Group: Mehrdad Hassanzadeh, Alireza Samadi, Fariba Noorighomsheh
- GitHub Repository
- Smart Sea Side
Final Exam
The course will be evaluated based on the performance of (a) the three individual assignments, (b) the two deliveries of the group project, (c) the final presentation and overall quality of the group project, and (d) the active participation of the student during the semester.
You can find detailed information on what you are expected to submit, how and when for each of the individual assignments, the two deliveries of the group project and the final exam on the previous sections by following the links "Instructions".
Additional information about exam products are given during the class and communicated through the Google Classroom system. We strongly suggest students to attend the class and to participate to these activities in order to complete the assignments within the dates of the course.
Instructors
- Ioannis Chatzigiannakis, Sapienza University of Rome.
- Andrea Vitaletti, Sapienza University of Rome.
- Marco Zecchini, Sapienza University of Rome.
- Eleni Christopoulou, Hellenic Open University.
- Dimitris Riggas, Ionian University.
- Sissy Tziortzioti, Hellenic Open University.
Location & Schedule
- Tuesday, 14:00 - 16:00, A7
- Thursday, 16:00 - 19:00, A7
Contact & Discussions
A Google Classroom is available using the following code: 372j6wc
A slack channel is available at the following URL: https://iot2021diag.slack.com
Course Plan & Detailed Material
- Lecture 1: Tuesday, February 23, 2021. Presentation of Course Plan, Requirements, Course work and Final Exam.
- Lecture 2: Thursday, February 25, 2021. Introduction to the Internet of Things, Application areas and Use cases, Networking Technologies, Data processing architectures, Opportunities and Challenges. module 1 module 2 module 3 module 5
- Lecture Slides in PDF
- Key concepts and skills for getting started in IoT, IBM Developer
- Architetture dei Calcolatori, Corso di Laurea in Ingegneria Informatica e Automatica.
- Lecture 3: Tuesday, March 2, 2021. Introduction to Embedded Operating Systems. module 2
- Lecture Slides in PDF
- RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT, Emmanuel Baccelli, Cenk Gündoğan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, IEEE Internet of Things Journal, Vol. 5, No. 6, pp. 4428-4440, December 2018.
- RIOT and the evolution of operating systems for IoT devices
- Choosing the best hardware for your next IoT project, IBM Developer
- Lecture 4: Thursday, March 4, 2021. RIOT-OS and STM Nucleo Platform. module 2
- How to create a new RIOT application
- RIOT-OS Hands-on Introduction
- RIOT-OS Hands-on Tutorial
- Hands-on Examples
- Using a Digital Sensor for measuring Temperature and Relative Humidity: Code, Video Tutorial
- Using an Analog Sensor for measuring Luminosity: Code, Video Tutorial
- Lecture 5: Tuesday, March 9, 2021. Presentaton of Group Projects Thematic Area: Blue Growth. module 1
- Lecture 6: Thursday, March 11, 2021. Machine-to-Machine (M2M) communications (Part 1). module 3
- Lecture Slides in PDF
- Connecting all the things in the Internet of Things, IBM Developer
- CoAP
- MQTT
- Lecture 7: Tuesday, March 16, 2021. Machine-to-Machine (M2M) communications (Part 2). module 3
- MQTT-S / MQTT-SN
- Urs Hunkeler, Hong Linh Truong, and Andy Stanford-Clark: MQTT-S – A Publish/Subscribe Protocol For Wireless Sensor Networks, 3rd IEEE International Conference on Communication Systems Software and Middleware and Workshops (COMSWARE '08), Bangalore, India, 2008, pp. 791-798, doi: 10.1109/COMSWA.2008.4554519.
- Introduction to MQTT-SN (MQTT for Sensor Networks)
- RSMB: Really Small Message Broker
- MQTT-S / MQTT-SN
- Lecture 8: Thursday, March 18, 2021. Experimentation-as-a-service: Large scale real-world evaluation module 4
- FIT IoT-LAB: A Large Scale Open Experimental IoT Testbed – C. Adjih, E. Baccelli, E. Fleury, G. Harter, N. Mitton, T. Noel, R. Pissard-Gibollet, F. Saint-Marcel, G. Schreiner, J. Vandaele, T. Watteyne – IEEE World Forum on Internet of Things (IEEE WF-IoT), Milan, Italy, December 2015. View Paper
- Step-by-step IOT-Lab Tutorials
- Measuring Consumption using INA226
- Hands-on Example on how to do periodic sampling of the digital sensor using low power sleep
- MQTT-SN with public IPv6 network and A8-M3 nodes
- Lecture 9: Tuesday, March 23, 2021. UI/UX for Internet of Things. module 1
- Lecture 10: Thursday, March 25, 2021. IoT Cloud Services and AWS. module 5
- Lecture 11: Tuesday, March 30, 2021. Performance Evaluation for IoT module 4
- Lecture 12: Tuesday, April 8, 2021. Group Projects: Initial Ideas Pitch
- Lecture 13: Tuesday, April 13, 2021. Low-Power Long-Range Networks module 3
- Lecture 14: Thursday, April 15, 2021. Wireless Mesh Networking, 802.15.4 (Part 1). module 3
- Lecture Slides in PDF
- Chapter 5: Routing, Data Networks (2nd Edition) by Dimitri P. Bertsekas and Robert G. Gallager
- Mobile Ad Hoc Networks: Routing, MAC and Transport Issues slides by Nitin H. Vaidya
- The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4, IETF MANET Working Group, INTERNET-DRAFT.
- Ad hoc On-Demand Distance Vector (AODV) Routing, IETF MANET Working Group, INTERNET-DRAFT.
- Lecture 15: Tuesday, April 20, 2021. Wireless Mesh Networking, 802.15.4 (Part 2). module 3
- Lecture 16: Thursday, April 22, 2021. Security for IoT module 3
- Lecture 17: Tuesday, April 27, 2021. Blockchains for IoT and Smart Contracts module 5
- Lecture 18: Thursday, April 29, 2021. Algorand, IoTA. module 5
- Lecture 19: Tuesday, May 4, 2021. Privacy Preserving Computation (Part 1) module 5
- Lecture 20: Thursday, May 6, 2021. Privacy Preserving Computation (Part 2) module 5
- Lecture 21: Tuesday, May 11, 2021. Participatory and Crowd Sensing. module 1
- Lecture 22: Thursday, May 13, 2021. Smart Cities (Part 1) module 1
- Lecture 23: Tuesday, May 18, 2021. Smart Cities (Part 2) module 1
- Lecture 24: Thursday, May 20, 2021. Group Project MVP Presentation (Part 1)
- Lecture 25: Tuesday, May 25, 2021. Group Project MVP Presentation (Part 2)
- Lecture 26: Thursday, May 27, 2021. Group Project MVP Presentation (Part 3)