Abstract
The Internet of Things (IoT) introduces unique challenges at the application layer, where traditional Internet protocols like HTTP often fall short due to the resource constraints of IoT devices, such as limited battery life and processing power. This course explores cutting-edge application protocols tailored for IoT, categorized into two major paradigms:
-
Client/Server Protocols (e.g., HTTP, CoAP)
-
Publish/Subscribe Protocols (e.g., MQTT, XMPP, and AMQP)
Beyond these protocols, the course delves into IoT-specific service architectures, including 3GPP IoT and oneM2M, providing students with the foundational knowledge to design and deploy IoT applications. This year, the course includes an expanded focus on Lightweight M2M (LwM2M), a protocol designed to enhance IoT device management and interoperability.
By blending theoretical principles with hands-on experience, students will gain the skills to implement efficient and scalable IoT solutions.
Teaching and Learning Methods:
The course consists of four lectures that establish a strong theoretical foundation on IoT application protocols and architectures. During the fifth lecture, students will receive detailed instructions for a hands-on assignment designed to apply the concepts covered in class.
This assignment will involve practical activities on selected protocols studied during the lectures, offering students an opportunity to deepen their understanding through implementation and experimentation. Students will have the flexibility to complete the assignment from home, with generous deadlines to accommodate their schedules and promote comprehensive learning.
In detail:
-
Lectures: The first four lectures will focus on building a strong theoretical foundation by covering the principles, protocols, and architectures specific to IoT. Concepts will be explained with real-world examples and case studies to enhance understanding.
-
Hands-On Instruction: The fifth lecture will transition into practical applications, where students will be introduced to a hands-on assignment. This assignment will involve implementing and experimenting with some of the protocols covered during the lectures, enabling students to connect theory to practice.
-
Office Hours (Sixth and Seventh Lectures): The final two lectures will be dedicated to office hours. These sessions are designed to provide students with the opportunity to seek clarifications on lab activities and course content. Students are encouraged to come with any questions or requests for further explanations on topics covered throughout the course.
-
Independent Work: Students will have the flexibility to complete the hands-on assignment at their own pace, working from home with detailed instructions and support. Flexible deadlines ensure students have sufficient time to engage deeply with the material while accommodating their schedules.
Course Policies
-
Attendance to the lectures is not mandatory but is highly recommended to gain a comprehensive understanding of the course material.
-
Lab reports (three in total) are mandatory. Failure to submit a lab report will result in a score of 0 for that specific assignment.
The course slides include pointers to relevant sources and references that support the material covered during lectures. Additional bibliography might be made available on the Moodle platform. These supplementary resources are optional and intended for students who wish to explore the topics in greater depth; they are not required for the course or its assessments.
Ce cours nécessite des connaissances de base en matière de réseaux et de programmation informatique afin que les étudiants puissent s'engager pleinement dans la matière. Plus précisément, les étudiants doivent être familiers avec
- Concepts de mise en réseau : Comprendre les principes de base des réseaux, tels que le modèle OSI, TCP/IP, HTTP et la communication client-serveur.
- Compétences en programmation : Maîtrise d'au moins un langage de programmation (par exemple, Python) pour mettre en œuvre et expérimenter les protocoles de l'IdO pendant les travaux pratiques.
- Compétences techniques générales : Il est fortement recommandé de se familiariser avec les outils de ligne de commande Linux, les techniques de débogage de base et les outils de développement de logiciels.
Bien qu'une exposition préalable à l'IdO ou aux protocoles d'application ne soit pas obligatoire, les étudiants sont encouragés à réviser les documents pertinents s'ils se sentent moins confiants dans ces domaines.
Description This course introduces the key application protocols specifically designed for the Internet of Things (IoT), focusing on their principles, functionalities, and real-world applications. Students will explore the following topics:
|
Learning Outcomes
By the end of this course, students will be able to:
-
Understand IoT Protocols: Explain the principles, features, and differences between client/server and publish/subscribe protocols, including CoAP, MQTT, XMPP, AMQP, and others.
-
Apply IoT Concepts: Demonstrate the ability to implement and experiment with IoT application protocols in practical scenarios, leveraging the knowledge gained during hands-on activities.
-
Analyze IoT Architectures: Evaluate the structure and components of IoT service architectures, such as oneM2M and 3GPP IoT frameworks, and their suitability for specific use cases.
-
Design IoT Applications: Develop applications that use IoT protocols to address real-world challenges, considering resource constraints and scalability requirements.
-
Explore Advanced Topics: Gain insights into emerging IoT technologies like Lightweight M2M (LwM2M) and their role in enhancing interoperability and device management.
-
Critically Assess Protocols: Identify the strengths and limitations of different IoT protocols and architectures, and justify the selection of appropriate protocols for specific scenarios.
Nb hours: 25,00
Evaluation
To successfully pass the course, your final grade (the weighted average of the written exam and lab reports) must be 10/20 or higher, with a minimum score of 8/20 in the written exam. |