====== SUT ESP32 Laboratory Scenarios ======
The remote access lab will not let you use the most common approach towards tracing, as you're physically away from the device and do not have access to, e.g. its serial port or debugger. For this reason, understanding actuators (mostly displays) is essential because the only way to monitor execution is to observe the results remotely via the video stream.
Note that video streaming has limitations, such as the number of frames per second, resolution, common use of many devices (dynamic video colours problem) and stream quality. That impacts how you write the software, e.g., using larger fonts and not changing display contents rapidly because you may be unable to observe those changes remotely.
* [[en:iot-open:practical:hardware:sut:labscenariotemplate]] Laboratory scenario template. To be removed in the final version
**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 a part of the Embedded Systems Modules.
* [[en:iot-open:practical:hardware:sut:esp32:emb5_1]] How do you use LCD (component 5)?
* [[en:iot-open:practical:hardware:sut:esp32:emb6_1]] How do you use the ePaper display (component 6)?
* [[en:iot-open:practical:hardware:sut:esp32:emb7_1]] How do you use an OLED display (component 7)?
* [[en:iot-open:practical:hardware:sut:esp32:emb8_1]] How do you use the Smart LED stripe (component 8)?
* [[en:iot-open:practical:hardware:sut:esp32:emb9A_1]] How do you use RGB LED (component 9A)?
* [[en:iot-open:practical:hardware:sut:esp32:emb9B_1]] How do you use light and colour intensity sensors (component 9B)?
* [[en:iot-open:practical:hardware:sut:esp32:emb10_1]] How do you control a standard miniature servo (component 10)?
* [[en:iot-open:practical:hardware:sut:esp32:emb1A_1]] How do you control a FAN (component 1A)?
* [[en:iot-open:practical:hardware:sut:esp32:emb1B_1]] How do you use pressure and environmental integrated sensor (component 1B)?
* [[en:iot-open:practical:hardware:sut:esp32:emb2_1]] How do you use a digital potentiometer (component 2)?
* [[en:iot-open:practical:hardware:sut:esp32:emb3_1]] How do you use temperature and humidity integrated sensors (component 3)?
* [[en:iot-open:practical:hardware:sut:esp32:emb4_1]] How do you use a temperature-only sensor (component 4)?
** Advanced techniques **\\
In the following scenarios, we will focus on advanced programming techniques, such as asynchronous programming and timers.
* [[en:iot-open:practical:hardware:sut:esp32:adv1_1]] Using timers to handle the asynchronously periodic data display.
** IoT programming **\\
In the following scenarios, you will write programs interacting with other devices, services, and networks, which are pure IoT applications.
* [[en:iot-open:practical:hardware:sut:esp32:IoT_1]] Presenting MAC address of the WiFi interface
* [[en:iot-open:practical:hardware:sut:esp32:IoT_2]] Connecting to the WiFi Access Point and presenting IP
* [[en:iot-open:practical:hardware:sut:esp32:IoT_3]] Setting-up BT Beacon
* [[en:iot-open:practical:hardware:sut:esp32:IoT_4]] Scanning nearby BT devices
* [[en:iot-open:practical:hardware:sut:esp32:IoT_5]] Connecting to the MQTT broker and publishing data
* [[en:iot-open:practical:hardware:sut:esp32:IoT_6]] Connecting to the MQTT broker and subscribing to the data
* [[en:iot-open:practical:hardware:sut:esp32:IoT_7]] Publishing a CoAP service
* [[en:iot-open:practical:hardware:sut:esp32:IoT_8]] Connecting to the CoAP service