Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| report:dvp [2026/06/13 21:40] – [Hardware] team2 | report:dvp [2026/06/14 22:14] (current) – [Smart System] team2 | ||
|---|---|---|---|
| Line 398: | Line 398: | ||
| The tablet application manages all user interactions, | The tablet application manages all user interactions, | ||
| - | The ESP32 receives these commands and applies them to the physical | + | The ESP32 receives these commands and applies them to the physical |
| 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. | ||
| Line 428: | Line 428: | ||
| ==== Prototype ==== | ==== Prototype ==== | ||
| === Structure === | === Structure === | ||
| - | The prototype was developed based on the principles of the 3D model. It was designed as a puzzle-like construction that could be assembled without the use of nails. During the planning phase, the intention was to create a full-scale replica of the 3D model, including all insulation layers and the wooden exterior of the capsule. However, this proved to be too ambitious within the available time and resources. As a result, the decision was made to complete the prototype using paper instead of wood for the outer shell. Consequently, | + | The prototype was developed based on the principles of the 3D model. It was designed as a puzzle-like construction that could be assembled without the use of nails. During the planning phase, the intention was to create a full-scale replica of the 3D model, including all insulation layers and the wooden exterior of the capsule. However, this proved to be too ambitious within the available time and resources. As a result, the decision was made to complete the prototype using paper instead of wood for the outer shell. Consequently, |
| - | The prototype was built at a scale of 1:6,25. This scale was chosen because it matched the dimensions of the wood that had been purchased for the project and fits the budget of the materials for the prototype. | ||
| - | |||
| - | In the images below, the wooden framework of the prototype can be seen, which was constructed first. It fits together like a puzzle. The capsule’s hardware is integrated into the base, where it controls the lighting and audio system through an app. | ||
| - | Due to the deadline of the scientific paper and a different deadline for the prototype, the prototype is not finished yet. | ||
| <WRAP centeralign> | <WRAP centeralign> | ||
| - | <figure fig: Prototype> | + | <figure fig:Prototype1> |
| {{ : | {{ : | ||
| - | < | + | < |
| + | </ | ||
| + | </ | ||
| + | |||
| + | As a next step, the outer shell of the capsule was added, as shown in Figure {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| </ | </ | ||
| </ | </ | ||
| + | As a final step, an insulation layer was planned to be integrated into the prototype in order to represent the acoustic concept of the final product. Since the intended materials, namely hemp insulation and cork panels, would have significantly exceeded the available prototype budget, bubble wrap was selected as a low-cost substitute. Although it does not provide the same acoustic performance, | ||
| === Hardware === | === Hardware === | ||
| Regarding the prototype’s hardware, the primary focus has been to integrate a reliable and functional LED-based light source. To enable user control of the lighting in Bloem, a client–server architecture was implemented. In this setup, the ESP32 operates as a client, communicating with a server defined within the application. The client receives commands from the server, which processes user input from the app and returns responses that change the color of the LED. Figure 30 shows the data flow. | Regarding the prototype’s hardware, the primary focus has been to integrate a reliable and functional LED-based light source. To enable user control of the lighting in Bloem, a client–server architecture was implemented. In this setup, the ESP32 operates as a client, communicating with a server defined within the application. The client receives commands from the server, which processes user input from the app and returns responses that change the color of the LED. Figure 30 shows the data flow. | ||
| Line 447: | Line 453: | ||
| <WRAP centeralign> | <WRAP centeralign> | ||
| <figure fig: | <figure fig: | ||
| - | {{ : | + | {{ : |
| < | < | ||
| </ | </ | ||
| Line 463: | Line 469: | ||
| </ | </ | ||
| - | The client receives commands from the server in a simple string-based message format, for example: message = "RGB:0,0,255\n". In this case, the LED will only emit blue light, as the blue value is set to 255 while the red and green values are set to 0. The client code reads the incoming message by checking if it starts with the " | + | 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 " |
| - | === Software === | + | === Software |
| - | Detail and explain any changes made in relation to the designed solution, including different software components, tools, platforms, etc. | + | |
| - | The code developed for the prototype (smart device | + | The Bloem application was developed |
| + | The prototype software is divided into two main parts. The Android app manages the interface, session logic, timer, and audio playback through a Bluetooth speaker. The ESP32 is responsible for controlling the LED lighting system. Communication between the app and the ESP32 is done through Wi-Fi using TCP commands. | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | In the above Figure {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | In the above Figure {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | In the above Figure {{ref> | ||
| + | |||
| + | Overall, the flowcharts explain how the app separates the user experience from the hardware control. The tablet application handles interaction and audio, while the ESP32 manages the physical lighting system inside the capsule. | ||
| === Tests & Results === | === Tests & Results === | ||
| Line 496: | Line 532: | ||
| == Software tests == | == Software tests == | ||
| - | Software | + | **Software |
| - | (i) functional tests regarding | + | |
| - | (ii) performance | + | The Bloem mobile application was tested through |
| - | (iii) usability tests according | + | |
| + | **Functional Tests** | ||
| + | |||
| + | Functional | ||
| + | |||
| + | <WRAP 100%> | ||
| + | |||
| + | <table tab: | ||
| + | < | ||
| + | ^ Test ID ^ Related Use Case / User Story ^ Test Description ^ Expected Result ^ Status ^ | ||
| + | | FT1 | Book a session | User selects session duration and available time slot | Booking is confirmed and session is saved | Passed | | ||
| + | | FT2 | Book a session | User selects an unavailable time slot | App displays an unavailable message and asks the user to choose again | Passed | | ||
| + | | FT3 | Start session | User starts a booked session | Session timer starts and environment options become available | Passed | | ||
| + | | FT4 | Choose environment preset | User selects Calm, Ocean, Rain, or Energetic | Correct sound and lighting preset is selected | Passed | | ||
| + | | FT5 | Set LED color | User selects a light color in the app | RGB command is sent to ESP32 and LED color changes | Passed | | ||
| + | | FT6 | Control sound setting | User selects a sound option | Audio plays through the tablet and Bluetooth speaker | Passed | | ||
| + | | FT7 | End session | User ends the session manually or timer expires | Audio stops and LED system is reset or turned off | Passed | | ||
| + | | FT8 | Connection error | ESP32 is unavailable during LED command | App displays an error message and does not crash | Passed | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Performance Tests** | ||
| + | |||
| + | Performance | ||
| + | |||
| + | |||
| + | <WRAP 100%> | ||
| + | |||
| + | <table tab: | ||
| + | < | ||
| + | ^ Test ID ^ Operation ^ Data Exchanged ^ Repetitions ^ Metric Measured ^ Average Result | ||
| + | | PT1 | Send LED color command | ||
| + | | PT2 | Start session command | 200 B (session object write) | 10 | Runtime | ||
| + | | PT3 | End session command | 100 B (session status update) | 10 | Runtime | ||
| + | | PT4 | Change environment preset | 320 B (preset config read + commands) | 10 | Runtime | ||
| + | | PT5 | App screen navigation | Negligible (internal UI state) | 10 | Runtime | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| ==== Summary ==== | ==== Summary ==== | ||
| - | //Provide here the conclusions | + | The prototype demonstrates a functional and well-integrated system combining both hardware and software components. The structural design reflects |
| + | |||
| + | Although some elements of the design were simplified or not implemented due to limitations in time, budget, and materials, | ||
| + | |||
| + | This leads to the final discussion of the project, where the achievements, | ||