Springe zum Hauptinhalt

Pervasive Computing Systeme

Themenschwerpunkt Informatik: Internet of Things

Lecture + Lab
 

*** The registration for the summer term 2022 has been opened ***

Registration: Course Link (Opal)
Lecturer: Philipp H. Kindt
Schedule summer 2022: Lecture: Thu, 11:30 - 13:00; Lab: Fr  13:45 - 15:15
Part of Curriculi: B_AICG5, B_AIES5, B_AIMI5, B_AIVS5, B_InET5, B_InEn5, B_InMB5, B_InMa5, B_InOR5, B_InPh5, B_InPs5, B_InWW5, M_AIIM1, M_AIPV1, M_AU__1, M_AE__1, M_NR__1, M_WE__1
Knowledge required: Programming in C

Due to the ongoing corona restrictions, both the lecture and lab will take place online. A video link will be provided to registered users on OPAL.


Description:
The Internet of Things (IoT) is gaining in importance, with IoT nodes being deployed massively around the globe.
This course covers the most important topics related to the IoT and its enabling technologies. It consists of a lecture and a lab part.

The lab part is mainly based on programming the BBC micro:bit v2 in C and/or assembly. We will provide a Micrio:bit board for every participant. It has to be picked up at TU Chemnitz. Unfortunately, we cannot ship the boards to you. If you are unable to come to TU Chemnitz, we recommend you to order your own board online at the distributor of your choice. It is available worldwide. The lab part requires a Linux installation, either on a laptop/PC, or a virtual machine. We recommend Linux Mint.
An Android smartphone is helpful for the lab part.

Contents of the Lecture:

(May be subject to changes)

Lecture 1: Introduction  
 
- Applications of the IoT
- Increasing device deployments
- Organization of the course   

Lecture 2+3: Microcontrollers
 - Core 
 - Assembly (ARM)

Lecture 4+5: Microcontroller Periphery
 - Peripherals 
 - SPI, I2C, UART
- ADCs and DACs

Lecture 6: Introduction to Wireless Communication
- Controlling wireless radios
- LL/MAC protocols
- ALOHA, TDMA, CSMA
- The OSI model

Lecture 7-8: Bluetooth Low Energy
 - Physical layer
 - Advertising and scanning
 - Synchronous communication, BLE connected mode
 - Data representation: ATT and GATT
 - The BLE connection setup procedure

Lecture 10: IoT Operating Systems
 - FreeRTOS:
   - Tasks and scheduler
   - Memory management
   - Semaphores
- Overview on other IoT operating systems

Lecture 11: Sensors and Actuators
 - Interfacing analog sensors
 - Properties of analog-to-digital conversion
 - Interfacing digital sensors
 - Controlling actuators

Lecture 12: Power supply of IoT nodes
- Linear regulators
- Buck converters
- Batteries
- Energy  harvesting

Some of the lectures span more than one appointment.

Lab Contents:

The lab comprises programming an embedded IoT node in the form of a BBC Micro:bit v2.

Exercises in the first halve of this lab comprise programming an ARM v7 core, assembly, accessing peripherals such as the ADC, controlling a LED matrix, reading a microphone, etc. These exercises accompany the topics in the lecture.

The second part of the lab involves a larger project concerning the development of a Bluetooth wireless communication system. While most Bluetooth-based projects are based on using a stack provided by the device manufacturer, we in this lab build parts of a Bluetooth Low Energy (BLE) stack from scratch on bare-metal. This gives deeper insights into the fundamentals of low-power communications.

The goal is to develop parts of a (mostly) standard-compliant heart rate sensor. For those who are interested, this task can be further completed in the lecture-free period to finalize this project by developing all parts of the BLE stack that are mandatory to connect the Micro:bit to a standard heart-rate app running on a smartphone.

Schedule:

(may be subject to changes)

1) Basics
    - Setting up the environment
    - Compiling
    - Programming and Debugging
    - Makefiles
    - UART Console

2) Micrbit Screen (1)
    - Mem-Mapped I/O
    - Timers and Callbacks
    - LEDs
    - Interrupts

3) Micrbit Screen (2)
    - continuation

4) ARM Assembly
    - Introduction 
    - LED by button press

5) ARM Assembly 
    - continuation

6)-14) Wireless Communications - Bluetooth Low Energy

 

   - Introduction to the Nordic BLE Stack
   - ATT and GATT