| Both sides previous revision Previous revision Next revision | Previous revision |
| report:dvp [2026/06/14 16:29] – [Hardware] team2 | report:dvp [2026/06/14 22:14] (current) – [Smart System] team2 |
|---|
| The tablet application manages all user interactions, including session booking, environment configuration, and session control. Once the user selects a session and its parameters, the application sends commands to the embedded system. | The tablet application manages all user interactions, including session booking, environment configuration, and session control. Once the user selects a session and its parameters, the application sends commands to the embedded system. |
| |
| The ESP32 receives these commands and applies them to the physical lightning component. During the session, the system maintains the selected environment and ensures that the session duration is respected through a timer mechanism. | The ESP32 receives these commands and applies them to the physical lighting component. During the session, the system maintains the selected environment and ensures that the session duration is respected through a timer mechanism. |
| |
| This architecture ensures a clear separation between user interaction and hardware control, making the system easier to develop, test, and extend. | This architecture ensures a clear separation between user interaction and hardware control, making the system easier to develop, test, and extend. |
| <WRAP centeralign> | <WRAP centeralign> |
| <figure fig:LEDflow> | <figure fig:LEDflow> |
| {{ :report:led_flow.drawio.png?400 |}} | {{ :report:led_flow.drawio.png?500 |}} |
| <caption>Flow diagram of controlling LED</caption> | <caption>Flow diagram of controlling LED</caption> |
| </figure> | </figure> |
| The client receives commands from the server in a simple string-based message format, for example: message = "RGB:255,0,0\n". In this case, the LED will only emit red light, as the red value is set to 255 while the green and blue values are set to 0. The client code reads the incoming message by checking if it starts with the "RGB:" prefix. It then extracts the red, green, and blue values from the string and converts them into integers, which are used to control the LED output. The code developed in the Arduino IDE is included in the Deliverables section. | The client receives commands from the server in a simple string-based message format, for example: message = "RGB:255,0,0\n". In this case, the LED will only emit red light, as the red value is set to 255 while the green and blue values are set to 0. The client code reads the incoming message by checking if it starts with the "RGB:" prefix. It then extracts the red, green, and blue values from the string and converts them into integers, which are used to control the LED output. The code developed in the Arduino IDE is included in the Deliverables section. |
| |
| **Software Implementation and Code Flowcharts** | === Software Implementation and Code Flowcharts === |
| |
| The Bloem application was developed as a native Android tablet app. The app is responsible for the main user interaction, including booking a session, browsing available environments, starting or ending a session, and controlling the capsule atmosphere. This solution was chosen instead of a website because it provides a more stable experience on the tablet and allows easier integration with local functions such as sound playback and hardware communication. | The Bloem application was developed as a native Android tablet app. The app is responsible for the main user interaction, including booking a session, browsing available environments, starting or ending a session, and controlling the capsule atmosphere. This solution was chosen instead of a website because it provides a more stable experience on the tablet and allows easier integration with local functions such as sound playback and hardware communication. |
| <WRAP centeralign> | <WRAP centeralign> |
| <figure fig:session_booking> | <figure fig:session_booking> |
| {{:report:session_booking.png?600|}} | {{ :report:session_booking.png?600 |}} |
| <caption>Flow of booking a session</caption> | <caption>Flow of booking a session</caption> |
| </figure> | </figure> |
| <WRAP centeralign> | <WRAP centeralign> |
| <figure fig:session_controle> | <figure fig:session_controle> |
| {{:report:sessioncontrol.png?600|}} | {{ :report:sessioncontrol.png?600 |}} |
| <caption>Session control and environment flow</caption> | <caption>Session control and environment flow</caption> |
| </figure> | </figure> |
| <WRAP centeralign> | <WRAP centeralign> |
| <figure fig:LED_controle> | <figure fig:LED_controle> |
| {{:report:ledcontrol.png?600|}} | {{ :report:ledcontrol.png?600 |}} |
| <caption>TCP communication used for LED control</caption> | <caption>TCP communication used for LED control</caption> |
| </figure> | </figure> |
| | |
| ==== Summary ==== | ==== Summary ==== |
| //Provide here the conclusions of this chapter and make the bridge to the next chapter.// | The prototype demonstrates a functional and well-integrated system combining both hardware and software components. The structural design reflects the intended capsule form, while the LED lighting system, controlled through a client–server architecture, operates as expected. The Android application provides an intuitive user interface, enabling session booking, environment selection, and real-time control of lighting and sound. |
| | |
| | Although some elements of the design were simplified or not implemented due to limitations in time, budget, and materials, the prototype still successfully validates the core concept and key functionalities of the system. Both hardware and software testing indicate that the implemented features perform consistently and meet the defined requirements. |
| | |
| | This leads to the final discussion of the project, where the achievements, limitations, and future development will be presented. |