Pervasive Systems 2018
Elective in Pervasive Systems
(A. A. 2017/2018)
Syllabus
Technology is moving beyond the personal computer to everyday devices with embedded technology and connectivity as computing devices become progressively smaller and more powerful. Pervasive systems go beyond the realm of personal computers: it is the idea that 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 course introduces emerging application scenaria, studies characteristic design approaches of Pervasive systems and networks, examines essential algorithmic techniques and performance limits and provides the foundations for engineer algorithms in open-design.
The course is organized in the following parts:
- Part 1: Internet of Things: STM NUCLEO fast prototyping platform (Atollic TrueStudio development framework). IoT Lab for very large scale open real-world testbed. Riot-OS open-sources operating system. Machine-to-machine Communication (6LowPan - RPL, COAP, MQTT). Low-Power Wide-Area Networks (LPWAN - LoRa, The Things Network). Securing the Internet of Things (TinyDTLS).
- Part 2: ''Intelligent Environments": Design aspects of Intelligent Environments. Experience/Interaction design. Ubiquitous Computing. Participatory sensing. Delay-Tolerant Networking. Sociable Smart Cities.
- Part 3: "Programming Tools": Operating Systems and Embedded Solutions (AWS FreeRTOS, Arm Mbed, Zerynth). Back-end Infrastructure and Middleware (VerneMQ, InfluxDB, API.AI). Cloud Services (AWS IoT, IBM Watson Internet of Things, NodeRED, Blynk). Hardware Prototyping Platforms (Genuino 101, Particle, Estimote, Sensoro, AltBeacon).
Instructors
- Ioannis Chatzigiannakis, Sapienza University of Rome.
- Andrea Vitaletti, Sapienza University of Rome.
- Ugo Colesanti, Intecs solutions.
- Fabio Angeletti, Sapienza University of Rome.
- Irene Mavrommati, Hellenic Open University.
- Eleni Christopoulou, Hellenic Open University.
Location & Schedule
- Wednesday, 14:00 - 16:00, A3
- Friday, 14:00 - 17:00, A3
Contact & Discussions
A slack channel is available at the following URL: https://persys2018-diag.slack.com
Course Plan & Material
- Lecture 1: Wednesday, February 28, 2018. Introduction to Pervasive Systems
- Lecture 2: Friday, March 2, 2018. Projects
- Lecture 3: Wednesday, March 7, 2018. STM Nucleo Platform
- Lecture 4: Friday, March 9, 2018. STM Nucleo Platform
- Lecture 5: Wednesday, March 14, 2018. STM Nucleo Platform Extension boards
- Lecture 6: Friday, March 16, 2018. IoT-Lab
- Lecture 7: Wednesday, March 21, 2018. Riot-OS
- Lecture 8: Friday, March 23, 2018. STM Nucleo Platform Extension boards
- Lecture 9: Wednesday, March 28, 2018. IPv6LoWPAN and CoAP
- Lecture 10: Wednesday, April 4, 2018. CoAP
- Lecture 11: Friday, April 6, 2018. Web of Things, MQTT
- Lecture Slides in PDF
- Introduction to Semantic Web Technologies & Linked Data by Oktie Hassanzadeh
- W3C Semantic Sensor Networks
- MQTT - A practical protocol for the Internet of Things by Bryan Boyd
- MQTT: a machine-to-machine (M2M)/"Internet of Things" connectivity protocol
- Use MQTT-SN with RIOT
- Use MQTT-SN with RIOT on A8-M3 nodes over IoT-Lab
- Use RabbitMQ MQTT adapter for stream data processing with Apache Flink
- Lecture 12: Wednesday, April 11, 2018. UI/UX for Internet of Things
- Lecture 13: Friday, April 13, 2018. Student Group Projects: Initial Ideas Workshop.
- Lecture 14: Wednesday, April 18, 2018. Ubiquitous Computing
- Lecture 15: Friday, April 20, 2018. Sociable Smart Cities
- Lecture 16: Friday, April 27, 2018. Student Group Projects: Design Workshop
- Lecture 17: Wednesday, May 2, 2018. Low-Power Wide-Area Networks
- Lecture 18: Friday, May 4, 2018. Student Group Projects: Initial User Evaluation.
- Lecture 19: Wednesday, May 9, 2018. Student Individual Presentations.
- Lecture 20: Friday, May 11, 2018. Student Individual Presentations.
- Lecture 21: Wednesday, May 16, 2018. Student Individual Presentations.
- Lecture 22: Friday, May 18, 2018. Student Group Projects: MVP.
- Lecture 23: Wednesday, May 23, 2018. Student Individual Presentations.
- Lecture 24: Friday, May 25, 2018. Securing the Internet of Things
- Lecture 25: Wednesday, May 30, 2018. Securing the Internet of Things
- Lecture 26: Friday, June 1, 2018. Student Group Projects: Final Presentations.
Student Individual Presentations
Students will carry out individual mini-projects on one of the following technologies. A detailed presentation of the technology will be presented in front of the class during the semester. Each presentation should also include a quick introduction with hands-on examples.
- Operating Systems for Embedded Devices
- Programming Tools for the Internet of Things
- Java 9 Embedded Edition - Giuseppe Andreetti: Presentation with hands-on code and a video
- Apache Edgent - Soma Shekarchi: Presentation
- Open FAAS - Jacopo Carlini: Presentation with hands-on code
- Deployment Tools for the Internet of Things
- Resin - Andrea Lisanti: Presentation with hands-on code
- Backend Services for the Internet of Things
- Cloud Services for the Internet of Things
- AWS IoT - Roberto Falconi: Presentation with hands-on code, detailed instructions for a demo and a video
- Azure IoT - Mostafa Ramezani: Presentation
- IBM Watson Internet of Things - Davide Gimondo: Presentation with hands-on code
- NodeRED - David Ghedalia: Presentation with hands-on code
- MyDevices - Salvatore Licitra: Presentation with hands-on code and a video demo
- Device Hive - Dario Litardi: Presentation with hands-on code
- Hardware Platforms
- NFC Beacon Technologies
- Estimote - Marco Zecchini: Presentation with hands-on demo
- Sensoro - Lucia Rodino: Presentation with hands-on demo
- AltBeacon - Antonio Ionta: Presentation with hands-on demo
- Wearables and Other devices
- miBand - Luigi Roberto Zollo: Presentation with hands-on demo
- ELM326 OBD - Marco Cuoci: Presentation with hands-on code
- Data analysis on OBD Data - Flavio Massimo Falesiedi: Presentation with hands-on code
- Wireless M-BUS - Alessandro Trapasso: Presentation with hands-on code
- Security & Privacy
- Elliptic Curve Cryptography - Jacopo Maria Valtorta - Presentation with hands-on code
- FreedomBox - David Buscema: Presentation
Student Group Projects
Students are organized in groups of 3 and take over the design, development and evaluation of a pervasive system. The system goal is to address a real-world problem and towards this end the students will be involved in a end-user driven design. A series of interviews will be planned to identify the most important features and understand how to design their system. The development will be based on the STM NUCLEO platform 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.
- Smartage - Smart Garbage Bin
- ChronoSmart - Track Times Measurement System
- Smart Plant
- Pothole Detector
- WaterMApp - Water Quality Monitoring System
- Fish Feeding System
- Lung System - Air Quality Monitoring
- Smart ECG Monitor
- SUOMI
- Remote Control System
- DocHero