report:dvp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
report:dvp [2026/06/14 13:08] – [7.1 Introduction] team5report:dvp [2026/06/14 15:45] (current) team5
Line 86: Line 86:
  
  
-
The web interface, accessible via QR code, is designed in a minimalist style. After scanning the QR code, users are redirected to the web application's landing page. The CONNECT logo takes center stage here, accompanied by two clickable buttons that lead to the subsequent sections. Within the app, users can choose between composing a message for others or viewing messages written by the community. Our primary focus was to keep the application as simple as possible; we wanted to ensure that both young and old users can navigate it effortlessly. By eliminating the need for logins or complex navigation, we’ve made the experience accessible and time-efficient for everyone.+
The web interface, accessible via QR code, is designed in a minimalist style. After scanning the QR code, users are redirected to the web application's landing page. The CONNECT and share logo takes center stage here, accompanied by two clickable buttons that lead to the subsequent sections. Within the app, users can choose between composing a message for others or viewing messages written by the community. Our primary focus was to keep the application as simple as possible; we wanted to ensure that both young and old users can navigate it effortlessly. By eliminating the need for logins or complex navigation, we’ve made the experience accessible and time-efficient for everyone.
  
 == 7.4.1 Structure == == 7.4.1 Structure ==
Line 118: Line 118:
 <figure fig:3d_model_idealVersion> <figure fig:3d_model_idealVersion>
 {{ :report:whatsapp_image_2026-06-03_at_14.48.56_2_.jpeg?nolink&800 |}} {{ :report:whatsapp_image_2026-06-03_at_14.48.56_2_.jpeg?nolink&800 |}}
-<caption>3D spatial visualization of the fully integrated Connect system within the standard Porto Metro carriage architecture</caption>+<caption>3D spatial visualization of the fully integrated CONNECT and share system within the standard Porto Metro carriage architecture</caption>
 </figure> </figure>
 </WRAP> </WRAP>
Line 237: Line 237:
 | ESP32-C3 central node |  1 |  5.0 V|  5 |  0.150 |  0.150 |  0.750 | | ESP32-C3 central node |  1 |  5.0 V|  5 |  0.150 |  0.150 |  0.750 |
 | CAN transceiver MCP2551 |  10 |  5.0 V|  5 |  0.010 |  0.100 |  0.500 | | CAN transceiver MCP2551 |  10 |  5.0 V|  5 |  0.010 |  0.100 |  0.500 |
-| LED strips WS2812B (2 m, 120 LEDs each) |  3 |  12.0 V |  12 |  2.400 |  7.200 |  86.400 |+| LED strips WS2812 (2 m, 120 LEDs each) |  3 |  12.0 V |  12 |  2.400 |  7.200 |  86.400 |
 | Velostat pressure sensors |  15 |  3.3 V |  3.3 |  0.001 |  0.015 |  0.050 | | Velostat pressure sensors |  15 |  3.3 V |  3.3 |  0.001 |  0.015 |  0.050 |
 | **Total** | | | | | |  **93.700** | | **Total** | | | | | |  **93.700** |
Line 251: Line 251:
 | ESP32-C3 central node |  1 |  5.0 V |  5 |  0.300 |  0.300 |  1.500 | | ESP32-C3 central node |  1 |  5.0 V |  5 |  0.300 |  0.300 |  1.500 |
 | CAN transceiver MCP2551 |  10 |  5.0 V |  5 |  0.010 |  0.100 |  0.500 | | CAN transceiver MCP2551 |  10 |  5.0 V |  5 |  0.010 |  0.100 |  0.500 |
-| LED strips WS2812B (2 m, 120 LEDs each) |  3 |  12 V |  12 |  7.200 |  21.600 |  259.200 |+| LED strips WS2812 (2 m, 120 LEDs each) |  3 |  12 V |  12 |  7.200 |  21.600 |  259.200 |
 | Velostat pressure sensors |  15 |  3.3 V |  3.3 |  0.001 |  0.015 |  0.050 | | Velostat pressure sensors |  15 |  3.3 V |  3.3 |  0.001 |  0.015 |  0.050 |
 | **Total** | | | | | |  **276.250** | | **Total** | | | | | |  **276.250** |
Line 293: Line 293:
 </WRAP> </WRAP>
  
-As shown in Figure {{ref>fig:ledpcb_v3}}, this PCB consolidates communication and actuation. It features a dedicated WS2812B LED Control port with a 330Ω resistor (R1) in series to protect the data line and ensure signal integrity.+As shown in Figure {{ref>fig:ledpcb_v3}}, this PCB consolidates communication and actuation. It features a dedicated WS2812 LED Control port with a 330Ω resistor (R1) in series to protect the data line and ensure signal integrity.
  
 <WRAP centeralign> <WRAP centeralign>
Line 316: Line 316:
 **Software** **Software**
  
-The software architecture of the Connect and Share project facilitates real-time interaction and asynchronous digital connection across two distinct modes of use.+The software architecture of the CONNECT and share project facilitates real-time interaction and asynchronous digital connection across two distinct modes of use.
  
 I. Use Cases and User Stories I. Use Cases and User Stories
Line 322: Line 322:
 Real-time Ambient Interaction operates through the smart device installed in the carriage. When passengers grip the handrail, sensors detect resistance changes via Velostat and the ESP32 triggers a corresponding color trail on the ceiling LED matrix. When data streams from multiple users intersect, the software executes color-blending algorithms to merge the inputs into a shared visual response. Real-time Ambient Interaction operates through the smart device installed in the carriage. When passengers grip the handrail, sensors detect resistance changes via Velostat and the ESP32 triggers a corresponding color trail on the ceiling LED matrix. When data streams from multiple users intersect, the software executes color-blending algorithms to merge the inputs into a shared visual response.
  
-Asynchronous Connection is mediated through a web application. Passengers scan a QR code to access a web interface, where the application fetches audio files from a cloud database for playback. The same interface allows users to record microphone input, which is then compressed and uploaded to a central repository for others to access.+Asynchronous Connection is mediated through a web application. Passengers scan a QR code to access a web interface, where the application fetches messages from a database to read. The same interface allows users to send a message, which is then filtered through an LLM API and uploaded to a database for others to access.
  
 II. Selection of Development Platforms II. Selection of Development Platforms
Line 341: Line 341:
 III. Component Diagram III. Component Diagram
  
-Figure {{ref>fig:frontend_flowchart}} depicts the frontend flow of the Connect web interface. Starting from a QR code scan, the browser fetches and renders the website. The user is then presented with two interaction options: writing a message, which is transmitted to the backend, or reading a message, which triggers a random message fetch and displays it on screen.+Figure {{ref>fig:frontend_flowchart}} depicts the frontend flow of the CONNECT and share web interface. Starting from a QR code scan, the browser fetches and renders the website. The user is then presented with two interaction options: writing a message, which is transmitted to the backend, or reading a message, which triggers a random message fetch and displays it on screen.
  
 <WRAP centeralign> <WRAP centeralign>
Line 437: Line 437:
 ==== 7.5 Prototype ==== ==== 7.5 Prototype ====
  
-The prototype constitutes a deliberate functional reduction of the full designed solution. Rather than replicating the complete metro-carriage installation, it validates the core interaction loop — pressure sensing, CAN bus communication, and LED feedback — on a single handrail segment with two nodes. Total prototype cost is 97.92 €, within the 100 € budget constraint.+The prototype constitutes a deliberate functional reduction of the full designed solution. Rather than replicating the complete metro-carriage installation, it validates the core interaction loop — pressure sensing, CAN bus communication, and LED feedback — on a single handrail segment with two nodes. Total prototype cost is 97.92 €, within the 100 € budget constraint. The cost rose from the planned 97,37 € to 97,92 € after the planned MCP2551 transceivers were replaced by Joy-It MCP2515/MCP2562 CAN modules.
  
 == 7.5.1 Structure == == 7.5.1 Structure ==
Line 537: Line 537:
 == 7.6.1 Hardware tests == == 7.6.1 Hardware tests ==
  
-The physical validation of the Connect prototype was executed in a controlled laboratory environment using the benchtop assembly. Each requirement specified during the initial design stage was systematically evaluated. Table {{ref>tab_test_results}} details the comprehensive log of this validation phase, highlighting whether the criteria achieved a Pass (P), a Fail (F), or were deemed Not Applicable (N/A) due to the reduced scope of the laboratory prototype.+The physical validation of the CONNECT and share prototype was executed in a controlled laboratory environment using the benchtop assembly. Each requirement specified during the initial design stage was systematically evaluated. Table {{ref>tab_test_results}} details the comprehensive log of this validation phase, highlighting whether the criteria achieved a Pass (P), a Fail (F), or were deemed Not Applicable (N/A) due to the reduced scope of the laboratory prototype.
  
 <table tab_test_results> <table tab_test_results>
Line 580: Line 580:
 The visual response test resulted in a technical **Fail** due to predictable high-frequency signal artifacts. The prototype utilized a **Seeed 1-meter addressable WS2813 IP65 strip (18W, 5VDC)** connected via its integrated Grove interface. While the strip displayed the programmed color-blending animations accurately under active states, noticeable flickering was captured when the LEDs were idle. Specifically, the first pixel intermittently flashed bright white or random colors, and random color flickers propagated down the line. The visual response test resulted in a technical **Fail** due to predictable high-frequency signal artifacts. The prototype utilized a **Seeed 1-meter addressable WS2813 IP65 strip (18W, 5VDC)** connected via its integrated Grove interface. While the strip displayed the programmed color-blending animations accurately under active states, noticeable flickering was captured when the LEDs were idle. Specifically, the first pixel intermittently flashed bright white or random colors, and random color flickers propagated down the line.
  
-A thorough electrical diagnosis isolated this issue to a **logic-level mismatch**: the standard ESP32 transmits digital data streams using a $3.3\text{ V}$ CMOS logic level, whereas the WS2813 protocol dictates a high-level input threshold ($V_{IH}$) of at least $0.7 \times V_{DD}$. Powered at $5.0\text{ V}$, the Seeed strip requires a minimum data signal amplitude of $3.5\text{ V}$. Operating at the absolute edge of the noise margin, the $3.3\text{ V}$ data pulses caused the internal shift registers of the first pixels to misinterpret high/low states, causing erratic behaviors. This limitation provides a crucial baseline for future hardware revisions.+A thorough electrical diagnosis isolated this issue to a **logic-level mismatch**: the standard ESP32 transmits digital data streams using a $3.3\text{ V}$ CMOS logic level, whereas the WS2813 protocol dictates a high-level input threshold ($V_{IH}$) of at least $0.7 \times V_{DD}$ [(worldsemiWS2813)]. Powered at $5.0\text{ V}$, the Seeed strip requires a minimum data signal amplitude of $3.5\text{ V}$. Operating at the absolute edge of the noise margin, the $3.3\text{ V}$ data pulses caused the internal shift registers of the first pixels to misinterpret high/low states, causing erratic behaviors. This limitation provides a crucial baseline for future hardware revisions.
  
 **Power and Electrical Distribution (FT-05, PT-04)**\\ **Power and Electrical Distribution (FT-05, PT-04)**\\
Line 654: Line 654:
  
 **Unit testing**\\ **Unit testing**\\
-The API route handler for /api/messages was tested using Jest. The test suite covers both the GET and POST endpoints, with five test cases: returning a random message when data exists, returning null when no messages are stored, returning HTTP 500 on a Supabase error, returning the AI filter response on a successful POST, and returning HTTP 500 when the fetch call throws an error. All five tests passed in 0.277 seconds, as shown in Figure 33, which confirms that the route logic handles both normal use and error conditions as expected.+The API route handler for /api/messages was tested using Jest. The test suite covers both the GET and POST endpoints, with five test cases: returning a random message when data exists, returning null when no messages are stored, returning HTTP 500 on a Supabase error, returning the AI filter response on a successful POST, and returning HTTP 500 when the fetch call throws an error. All five tests passed in 0.277 seconds, as shown in Figure {{ref>fig:jest-rest}}, which confirms that the route logic handles both normal use and error conditions as expected.
  
 <WRAP centeralign> <WRAP centeralign>
 <figure fig:jest-test> <figure fig:jest-test>
-{{ :report:jest-test.png?800 | Figure 33: test results in terminal}}+{{ :report:jest-test.png?800 | Test results in terminal}}
 <caption>Test results in terminal</caption> <caption>Test results in terminal</caption>
 </figure> </figure>
  • report/dvp.1781438923.txt.gz
  • Last modified: 2026/06/14 13:08
  • by team5