<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://home.roboticlab.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://home.roboticlab.eu/feed.php">
        <title>Robotic &amp; Microcontroller Educational Knowledgepage - Network of Excellence - en:iot-open:practical:hardware:sut:esp32</title>
        <description></description>
        <link>https://home.roboticlab.eu/</link>
        <image rdf:resource="https://home.roboticlab.eu/_media/wiki/logo.png" />
       <dc:date>2026-04-05T01:50:57+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/adv1_1?rev=1759490529&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1a_1?rev=1712667339&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1b_1?rev=1745872342&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb2_1?rev=1745872281&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb3_1?rev=1719676485&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb4_1?rev=1759490295&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb5_1?rev=1711096443&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb6_1?rev=1712309062&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb7_1?rev=1719676447&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb8_1?rev=1712667807&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9a_1?rev=1711101621&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9b_1?rev=1745872492&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb10_1?rev=1712667526&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_1?rev=1711477288&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_2?rev=1713699568&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_3?rev=1714322751&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_4?rev=1713727095&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_5?rev=1714570112&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_6?rev=1719676378&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_7?rev=1714648304&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_8?rev=1744447028&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_9?rev=1714814401&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_10?rev=1714647900&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/scenarios?rev=1759490887&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://home.roboticlab.eu/_media/wiki/logo.png">
        <title>Robotic & Microcontroller Educational Knowledgepage - Network of Excellence</title>
        <link>https://home.roboticlab.eu/</link>
        <url>https://home.roboticlab.eu/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/adv1_1?rev=1759490529&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-03T11:22:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ADV1: Using timers to execute code asynchronously</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/adv1_1?rev=1759490529&amp;do=diff</link>
        <description>ADV1: Using timers to execute code asynchronously

It is advised to use timers that periodically execute a function to handle repeating tasks. Hardware timers work parallel to the CPU and consume few CPU resources. ESP32-S3 has 4 hardware timers, but each timer can execute multiple handlers. You can think about these handlers as they are interrupted handling functions, but instead of externally triggered interrupts, those are initiated internally by the hardware timer.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1a_1?rev=1712667339&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-09T12:55:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB1A: Controlling a FAN with PWM</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1a_1?rev=1712667339&amp;do=diff</link>
        <description>EMB1A: Controlling a FAN with PWM

This scenario presents how to handle the rotation speed of the fan. It is done using a PWM signal, as presented in this tutorial. The fan pumps the air into the yellow pressure chamber with a pressure sensor inside. Because it is pretty hard to monitor rotation speed with the camera, this scenario should be run along with scenario following scenario</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1b_1?rev=1745872342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-28T20:32:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB1B: Reading environmental data with a Bosch integrated sensor</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb1b_1?rev=1745872342&amp;do=diff</link>
        <description>EMB1B: Reading environmental data with a Bosch integrated sensor

We will read environmental data using a BME 280 sensor in this scenario. It is one of the most popular sensors in weather stations. It integrates a single chip&#039;s digital thermometer, hygrometer (air humidity), and air pressure meter. This sensor is located inside the yellow pressure chamber, under the fan in our laboratory nodes.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb2_1?rev=1745872281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-28T20:31:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB2: Using a digital potentiometer</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb2_1?rev=1745872281&amp;do=diff</link>
        <description>EMB2: Using a digital potentiometer

Digital potentiometer DS1803 is an I2C-controlled device that can digitally control the potentiometer.
Opposite to the physical potentiometers, there are no movable parts.

DS1803 has two digital potentiometers controlled independently. We use just one with the lower cardinal number (index 0). In our example, it is a 100k spread between GND and VCC, and its output is connected to the ADC (analogue to digital converter) input of the ESP32 MCU. This way, the po…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb3_1?rev=1719676485&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-29T15:54:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB3: Use of integrated temperature and humidity sensor</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb3_1?rev=1719676485&amp;do=diff</link>
        <description>EMB3: Use of integrated temperature and humidity sensor

In this scenario, we will introduce a popular DHT11 sensor. The DHT series covers DHT11, DHT22, and AM2302. Those sensors differ in accuracy and physical dimensions but can all read environmental temperature and humidity. This scenario can be run stand-alone to read weather data in the laboratory nodes&#039; room. The DHT11 sensor is controlled with one GPIO (in all our laboratory nodes, it is GPIO 47) and uses a proprietary protocol.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb4_1?rev=1759490295&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-03T11:18:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB4: 1-Wire Temperature Sensor</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb4_1?rev=1759490295&amp;do=diff</link>
        <description>EMB4: 1-Wire Temperature Sensor

The temperature-only sensor DS18B20 uses a 1-wire protocol. “1-wire” applies only to the bidirectional bus; power and GND are on separate pins. The sensor is connected to the MCU using GPIO 6 only. Many devices can be connected on a single 1-wire bus, each with a unique ID.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb5_1?rev=1711096443&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-22T08:34:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB5: Using LCD Display</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb5_1?rev=1711096443&amp;do=diff</link>
        <description>EMB5: Using LCD Display

Alphanumerical LCD is one of the most popular output devices in the Embedded and IoT. Using LCD with predefined line organisation (here, 2 lines, 16 characters each) is as simple as sending a character&#039;s ASCII code to the device. This is so much simpler than in the case of the use of dot-matrix displays, where it is necessary to use fonts. The fixed organisation LCD has limits; here, only 32 characters can be presented to the user simultaneously.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb6_1?rev=1712309062&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-05T09:24:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB6: Using ePaper display</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb6_1?rev=1712309062&amp;do=diff</link>
        <description>EMB6: Using ePaper display

VREL NExtGen laboratory node is equipped with b/w, ePaper module. It is a dot matrix display with a native resolution of 250×122 pixels. It has 64kB display memory and is controlled via SPI. The ePaper display presents data even if powered off, so don&#039;t be surprised that finishing your application does not automatically clean up the display, even if you use some other code later. To clean up the display, one has to clear the screen explicitly.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb7_1?rev=1719676447&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-29T15:54:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB7: Using OLED display</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb7_1?rev=1719676447&amp;do=diff</link>
        <description>EMB7: Using OLED display

This scenario presents how to use the OLED display. Our OLED display is an RGB (16bit colour, 64k colours) 1.5in, 128×128 pixels. The OLED chip is SSD1351, and it is controlled over the SPI interface using the following pin configuration:</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb8_1?rev=1712667807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-09T13:03:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB8: Controlling Smart LED stripe</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb8_1?rev=1712667807&amp;do=diff</link>
        <description>EMB8: Controlling Smart LED stripe

A Smart LED stripe (also referenced as Digital LED or NEOPIXEL) is a chain of connected LEDs, commonly RGB, but other combinations such as RGBWW (Red+Green+Blue+Warm White+Cold White) or WWA (Warm White+Cold White+Amber) exist. They are controlled with just one pin/GPIO. GPIO drives a first LED in a chain and the LED relays configuration to the next one, and so on.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9a_1?rev=1711101621&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-22T10:00:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB9A: Use of RGB LEDs</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9a_1?rev=1711101621&amp;do=diff</link>
        <description>EMB9A: Use of RGB LEDs

This scenario presents how to handle the brightness control of the tri-coloured LEDs. One is observable via camera, as presented in the figure (component 9A), while another is hidden inside the black enclosure and lights a colour sensor (component 9B). Both LEDs are electrically bound and cannot be controlled independently. Those LEDs have 3 colour channels, controlled independently: R (Red), G (Green) and B (Blue). Mixing of those colours creates other ones, such as pink…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9b_1?rev=1745872492&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-28T20:34:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB9B: Reading colour sensor</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb9b_1?rev=1745872492&amp;do=diff</link>
        <description>EMB9B: Reading colour sensor

A colour sensor (TCS 34725) can detect the brightness and colour of the light emitted. It works with the I2C; in our laboratory, each sensor has a fixed 0x29 address in the I2C bus. The sensor is in the black enclosure, ensuring no ambient light impacts readings. The only light source is an RGB LED, controlled as described in the scenario</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb10_1?rev=1712667526&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-09T12:58:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EMB10: Controlling standard servo</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/emb10_1?rev=1712667526&amp;do=diff</link>
        <description>EMB10: Controlling standard servo

You will learn how to control a standard miniature servo in this scenario. Standard miniature, so-called “analogue” servo is controlled with a PWM signal of 50Hz with a duty cycle between 1 ms (rotate to 0) and 2 ms (rotate to 180 degrees), where 1.5 ms corresponds to 90 degrees.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_1?rev=1711477288&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-26T18:21:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT1: Reading MAC address of the WiFi</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_1?rev=1711477288&amp;do=diff</link>
        <description>IOT1: Reading MAC address of the WiFi

Each network IP card is supposed to have a unique MAC address. ESP32 chip has built-in MAC. MAC can be used to identify devices, but note that it is not a “strong” ID: it can be programmatically changed and easily discovered. In the following scenario, we only present how to read the MAC address. A part regarding displaying on the selected screen is up to the developer. You can refer to the appropriate scenario, as listed below.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_2?rev=1713699568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-21T11:39:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT2: Reading IP address of the WiFi</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_2?rev=1713699568&amp;do=diff</link>
        <description>IOT2: Reading IP address of the WiFi

On the networking level, IP devices are identified by MAC. In the case of our laboratory and network, you will obtain the IP address from the DHCP server integrated with the WiFi access point. To connect to the WiFi network, one needs to use credentials that are present in the general laboratory description, available here:</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_3?rev=1714322751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-28T16:45:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT3: Connecting to the MQTT and publishing data</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_3?rev=1714322751&amp;do=diff</link>
        <description>IOT3: Connecting to the MQTT and publishing data

In the following scenario, you will learn how to connect to the MQTT broker and publish a message.

Prerequisites

To implement this scenario, it is necessary to get familiar with at least one of the following scenarios first:</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_4?rev=1713727095&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-21T19:18:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT4: Connecting to the MQTT and subscribing to the messages</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_4?rev=1713727095&amp;do=diff</link>
        <description>IOT4: Connecting to the MQTT and subscribing to the messages

In the following scenario, you will learn how to connect to the MQTT broker and subscribe to the message.

Prerequisites

To implement this scenario, it is necessary to get familiar with at least one of the following scenarios first:</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_5?rev=1714570112&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-01T13:28:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT5: Setting up a CoAP service</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_5?rev=1714570112&amp;do=diff</link>
        <description>IOT5: Setting up a CoAP service

The following scenario will show you how to create a CoAP server on the IoT end node device.

A CoAP service is an endpoint that provides information. It is UDP-based, and the protocol configuration (confirmable and non-confirmable messages) requires more than one handler to be implemented in complex and fully implemented scenarios.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_6?rev=1719676378&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-29T15:52:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IOT6: Connecting to the CoAP service</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_6?rev=1719676378&amp;do=diff</link>
        <description>IOT6: Connecting to the CoAP service

The following scenario will show you how to connect to the existing CoAP server. The server can be either an implementation on another node as present in the scenario IOT5: Setting up a CoAP service or a software implementation present in the network.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_7?rev=1714648304&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-02T11:11:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IoT7: BLE Beacon</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_7?rev=1714648304&amp;do=diff</link>
        <description>IoT7: BLE Beacon

This scenario presents how to create the Bluetooth Low Energy beacon device which periodically broadcasts a small amount of information, and the client device which can receive packets sent by the beacon. Beacons are usually used for sending useful information (eg. the web address of the owner, a link to the page with tourist information). In some cases, they simply send the identification number recognised by a dedicated mobile application allowing the users to localise themse…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_8?rev=1744447028&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-12T08:37:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IoT8: BLE Communication with characteristics</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_8?rev=1744447028&amp;do=diff</link>
        <description>IoT8: BLE Communication with characteristics

This scenario presents how to create the Bluetooth Low Energy server device and the corresponding client device. The server can be the sensor device which responds to the client with the results of the measurements. This can also be the output device, which we can control by writing the data to. The client connects to a server and reads the data. This scenario presents the use of the concept of services and characteristics.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_9?rev=1714814401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-04T09:20:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IoT9: BLE Communication with notify/indicate</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_9?rev=1714814401&amp;do=diff</link>
        <description>IoT9: BLE Communication with notify/indicate

This scenario presents how to extend the Bluetooth Low Energy server and client devices with a notification/indication mechanism for sending data automatically. If enabled, notifications or indications are sent at any time while the data in the server is updated. A difference between them is that a notification is an unacknowledged message while an indication is an acknowledged message. While one of them is enabled by the client, the server decides o…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_10?rev=1714647900&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-02T11:05:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IoT10: BLE Client</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/iot_10?rev=1714647900&amp;do=diff</link>
        <description>IoT10: BLE Client

This scenario presents the Bluetooth Low Energy client device with a notification/indication mechanism for receiving data. It works in cooperation with the server device created in the IoT9: BLE Communication with notify/indicate.

Prerequisites

It is necessary to understand the principles of the Bluetooth Low Energy protocol with concepts of services, characteristics and descriptors. Notification and indication methods of data transmission should be known. We will use in thi…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/scenarios?rev=1759490887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-03T11:28:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SUT ESP32 Laboratory Scenarios</title>
        <link>https://home.roboticlab.eu/en/iot-open/practical/hardware/sut/esp32/scenarios?rev=1759490887&amp;do=diff</link>
        <description>SUT ESP32 Laboratory Scenarios

Know the hardware

The following scenarios explain the use of hardware components and services that constitute the laboratory node. It is intended to seamlessly introduce users to IoT scenarios where using sensors and actuators is an intermediate step, and the main goal is to use networking and communication. Besides IoT, those scenarios can be utilised as part of the Embedded Systems Modules.</description>
    </item>
</rdf:RDF>
