IoT Remote Lab

Module Number: EI78049

Duration: 1 Semester

Occurence: Winter semester and Summer Semester

Language: English

Number of ECTS: 6

Staff

Professor in charge: Sebastian Steinhorst

Amount of work

Contact hours: 45

Self-study hours: 135

Total: 180

Description of achievement and assessment methods

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.

(Recommended) requirements

Recommendations: Basic principles of computer systems and IP-level protocols. Must: good programming knowledge.

Contents

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

Study goals

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.

Teaching and learning methods

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.

Media formats

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

Literature

- 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.