## 1 Overview

Your group is tasked with developing a smartphone app to control the lamp in the doll's house, allowing you to turn it on and off. Once your app is ready for testing, you will collaborate with a team working on the doll's house.

You will create the app using MIT App Inventor.

To exchange data between the smartphone and the doll's house, you will use the MQTT protocol. MQTT is widely used in IoT devices because of its simplicity and efficiency. It enables remote control of actuators and the reading of sensor data over the Internet, making it ideal for this project.

### 1.1 Actuator Switching via MQTT Broker

With a smartphone, you should be able to switch the light (or another actuator) on or off in the dollhouse. This endeavor could be simplified via MQTT as follows:

### 1.2 Understanding the MQTT protocol

Unlike HTTP with its request/response method, MQTT implements a publish/subscribe architecture. In HTTP, a point-to-point connection with request and response is common. The transmission in MQTT works differently: devices that have something to report simply send their data to the broker (central server in the IoT system), that is, they publish their messages. The broker forwards these messages to other devices that have subscribed to these messages.

Devices that can be networked with MQTT include:

- Smartphone (Android or iOS)
- Raspberry Pi (Linux), built into the doll's house
- Network-capable micro controller board (e.g. Wio Terminal or ESP32)
- PC (Windows)
- MAC (OS X)
- Generally: Network-capable, intelligent units in which the MQTT protocol is implemented

All devices connected to an MQTT broker are also referred to as MQTT clients. An MQTT network thus consists of several MQTT clients and one MQTT broker.