Network of Things Engineering Lab (NoTE Lab)

IDA

Inside the NoTE Lab

The NoTE Lab was established in 2023 and is located on the 11th floor, Room 1103. It is also comprehensively documented in book form. The lab was developed to provide students with hands-on experience in the software and hardware development of IoT devices within edge and cloud computing systems. It allows students to apply cutting-edge concepts in hardware, networking, and software engineering through a fully open-source-based implementation.

 

NoTE Lab modules

The network of Things Engineering (NoTE) Lab, with seven hands-on lab modules covering topics ranging from “Interfacing sensors and actuators” and “Connecting IoT and Edge with MQTT” to “Data pipelining in cloud computing”.

  1. NoTE Lab 0 - Getting started
  • Getting familiar with hardware. 
  • Basics on Linux command-line interface.
  • Setting up a wireless router configuration.
  • Introduction to Arduino and Python programming.

2.   NoTE Lab 1 - Interfacing sensors and actuators 

  • Building hardware circuits following Fritzing diagrams. 
  • Connecting Arduino to actuators (LED and LCD display).
  • Connecting Arduino to temperature, distance, and motion sensors. 
  • Implementation of Arduino libraries.
  • Reading and printing sensor values.

3.    NoTE Lab 2 - Connecting IoT and Edge with MQTT

  • Deploying Mosquitto broker on the Raspberry Pi using Docker.
  • Testing Mosquitto broker with mosquitto-clients.
  • Implementing an MQTT client library in Arduino.
  • Reading temperature data and sending it to Mosquitto.
  • Subscribing to the temperature topic and activating an external LED.

4.   NoTE Lab 3 - Connecting edge/cloud with AMQP

  • Deploying RabbitMQ on k3s in the cloud.
  • Testing RabbitMQ broker with amqp-tools.
  • Implementing an AMQP client in Python with pika library.
  • Testing the AMQP client with RabbitMQ.

5.   NoTE Lab 4 - Connecting edge/cloud with HTTP

  • Deploying Elasticsearch on k3s in the cloud.
  • Testing Elasticsearch with curl.
  • Implementing an HTTP client in Python with the requests library.
  • Testing the HTTP client Elasticsearch.

6.   NoTE Lab 5 - Prototyping data connectors 

  • Implementing an MQTT client in Python.
  • Prototyping and testing a data connector for sensor data.
  • Prototyping and testing a data connector for actuator data.
  • Deploying Logstashon k3s in the cloud.
  • Testing Logstash with amqp-tools and curl.

7.   NoTE Lab 6 - Integrating IoT with edge and cloud

  • Deploying of RabbitMQ and Elasticsearch in the cloud.
  • Implementing data processing in Sensor Controller.
  • Testing Sensor Controller with mosquitto-clients and amqp-tools.
  • Implementing data processing in Actuator Controller.
  • Testing Actuator Controller with mosquitto-clients, amqp-tools and curl.

8.   NoTE Lab 7 - Network-of-Things final setup

  • Implementing a single Arduino sketch for all sensors.
  • Implementing a single Arduino sketch for all actuators .
  • Testing sketches with Mosquitto.
  • Deploying full-stack software components and hardware.
  • Testing and benchmarking the final setup.

 

 

Learning Outcomes of the NoTE Lab

Students will learn:

Programming Languages:
Python and C++ for developing embedded and IoT applications.

Communication Protocols:
MQTT, AMQP, and HTTP  for data exchange between devices and cloud services.

Tools and Platforms:

  • Logstash for data processing

  • Kubernetes (K3S) for lightweight container orchestration

  • Docker for containerized cloud deployment

  • Elasticsearch used as an HTTP-based search and analytics engine

  • Mosquitto as an MQTT broker

  • RabbitMQ as an AMQP broker

Embedded Hardware:
Raspberry Pi and Arduino Uno development boards are used for hands-on embedded system projects.

Objectives of the Lab

  • Allow the students (little or no experience with IoT devices) to setup IoT/edge/cloud systems.
  • Encompass the concepts of networking and computing software with devices and hardware in practice.

About the NoTE book

The book introduces practical engineering concepts for IoT systems operating across edge and cloud environments. It covers essential topics in hardware platforms, networking technologies, and software architectures. The content is structured around the Network of Things Engineering (NoTE) Lab, which consists of seven hands-on laboratory modules.

As a TU Braunschweig student, you can access the book online using the following link:

https://link.springer.com/book/10.1007/978-3-031-20635-1

You can also find it by searching for the ISBN: 978-3-031-20634-4.

IDA

For any questions send an email to   i.zacarias(at)tu-braunschweig.de