Internet of Things Laboratory (IN2106, IN4224)

Prof. Dr. Michael Gerndt, Vladimir Podolskiy

 

Dates:Monday, 10:15 - 11.45, 01.06.020

Planning meeting:

2.02.18, 15:00, 01.06.011
First meeting:16.04.18
ECTS:10
Language:English
Type:Master lab course, 6P
Moodle course:click here
Registration:Registration is through the matching system

 

 

Registration

Lectures on Cloud Computing cover most of the necessary theoretical knowledge and practical aspects of Cloud Computing that is a base for the project. In case you haven’t learned Cloud Computing before, we cordially invite you to attend these lectures.

Registration for the IoT Lab is through the matching system. Please provide a statement (e.g. in form of CV) about your background in related topics to v.podolskiy@tum.deThe scoring in the matching system will be done based on this statement.

The topics of interest (= your experience) include but are not limited to:

  • cloud computing (basic knowledge and practical experience with at least one cloud services provider, cloud applications deployment and management)
  • scaling of cloud applications (using e.g. Docker and Kubernetes)
  • single-board computers installation and programming to receive the data from sensors (e.g. Odroid, RaspberryPi)
  • Apache Kafka, RabbitMQ, ElasticSearch
  • programming with Java OR JavaScript (+frameworks: Node.js, Express.js) OR Golang OR Python
  • writing shell scripts
  • basic data analysis

As teams are arranged of multiple students, it is not obligatory to have the experience in all of the mentioned areas.

Objectives

The major objective of the course is to adapt the existing IoT platform implemented previously to the industry's requirements, make it scalable, and implement industry-relevant applications that use the IoT platform as their backend.

You will learn the insides of the simple IoT platform and will help to extend it by implementing additional features, making it scalable using Kubernetes and adding the support for edge computing. You will also create a real-world application that uses the platform according to the industry's requirements. Our major partners in conducting this course are BMW and MakerSpace.

Prerequisites

It is necessary to have the advanced experience in programming (Java/JS/Go/Python/C++), the basic knowledge and experience in cloud computing (areas of interest: VMs management, Docker, Kubernetes) and the basic experience in single-boards computers programming/installation (particularly RaspberryPi, and Odroid). The knowledge of Apache Kafka, RabbitMQ, ElasticSearch, shell scripting is a plus, but could also be acquired in the scope of the practicum.

Ability to work in team is also needed for the successful completion of the course.

Description

Internet of Things (IoT) is a novel area that thrives on numerous different technologies and transforms businesses of such companies as BMW, Siemens, General Electrics, Huawei, and many others. The main idea of Internet of Things is that each object can collect the information about itself and the environment using sensors. Such data is stored and processed in the cloud in order to receive the analytics necessary to manage an enterprise. The central component of each IoT solution is a platform to store sensors data, to prepare it for the analytical processing and to provide it in a scalable and secure manner.

You will contribute to the modification of the IoT cloud-based platform in the scope of the course.

You will get practice in following topics:

  • Adding the scalability and load balancing to the cloud storage and execution platform for IoT (Kubernetes, Docker)
  • Developing the practical IoT applications for the industry
  • Understanding business requirements to cloud applications in IoT
  • Setting up IoT equipment (boards + sensors) on the example of Odroid XU-4 boards + Raspberry Pis
  • Developing on-board apps for sensors data processing and transfer to the cloud
  • Usage of cloud infrastructure and services of LRZ Cloud
  • Development, deployment and management of cloud applications
  • Data storing and streaming data processing solutions for clouds (Kafka, ElasticSearch, RabbitMQ)
  • Giving technical presentations about your work
  • Team work and work with other teams

Our partners will provide course participants with tasks for real IoT applications development.