Module Number: EI78049
Duration: 1 Semester
Occurence: Winter semester and Summer Semester
Number of ECTS: 6
Professor in charge: Sebastian Steinhorst
Contact hours: 45
Self-study hours: 135
Achievement of the intended learning outcomes regarding standards, protocls, and their application to system architectures is assessed in a single written exam at the end of the semester. The written exam is performed in a closed book policy without supporting material. Additionally, 3 assignments given during the semester are evaluated and contribute for the 50% of the final grade. Assessment criteria are: (A)Ability to use the required IP-level protocols in a programming environment for communicating with IoT devices. (B)Ability to compose applications from multiple IoT devices remotely. (C)Ability to develop simple IoT devices. (D)Ability to make design decisions for software architecture based on the standards which have been discussed in the course, combining theoretical concepts with practical implementation considerations.
Recommendations: Basic principles of computer systems and IP-level protocols. Must: good programming knowledge.
Introduction of JSON and JSON Schema standards; Introduction of Thing Description standard; Introduction to the node.js programming language; Introduction to HTTP, CoAP and MQTT protocols; Programming application logic using multiple protocols and data structures; Programming of an IoT device based on a Raspberry Pi or ESP32
Upon successful completion of the module, the participants are able to explain, apply IoT standards and protocols. The participants can also apply these standards and protocols in different system architectures found in IoT systems. Additionally, they are able to separate application and protocol logic in the implementation of the IoT devices as well as the application logic of the systems.
The content will be introduced in the introductory lectures in the classroom. After each lecture, the students are given assignments to submit. All the assignments can be done remotely, including programming the application logic and the devices.
The following media are used: - Presentations (Projector, Whiteboard) - E-learning platform Moodle
- IoT Remote Lab Web Interface - Various IoT devices, such as robots, lights and sensors
- Design Patterns: Elements of Reusable Object-Oriented Software Book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm - Web of Things (WoT) Thing Description Standard by World Wide Web Consortium Further literature will be discussed in the course.