Validation and Future Steps#
In this section the initial requirements are measured against the current implementation.
Functional Requirements#
The proposed requirements are solved in this solution.
See variables from Arduino Project#
- With the chart component the variables that have been designated to be streamed are displayed.
- The variable type is currently limited to only numbers and booleans.
Change variables on Arduino Project#
- The control component allows the user to change the variables on the Arduino which have been designated to be changeable.
- The variable type is currently limited to only numbers and booleans.
Live-view of Arduino Project#
- The live view can be started.
- The latency has been measured to be around 300 ms.
- This measurement has been done by creating a feedback loop of a accurate timer on screen and filming that timer and displaying the output below. With careful placement of the camera multiple iterations could be captured. The loop time fluctuated but a full cycle time of around 300 ms could be measured over 5 cycles.
- This requirement has not been full met:
- Because of limitations with WebRTC and NAT traversal the live view does not work reliably.
Non-Functional Requirements#
- The frontend must run stably for 3 hours.
- In long term tests the frontend ran for more than 3 hours consistently.
- The delay to display the information may not exceed two seconds.
- The delay of the graph has not been measured, but rough estimates place it well below two seconds.
- The controls have been throttled as to not overwhelm the server. This introduces a latency of above 700 ms which is still acceptable.
- The delay of the live view has been measured to be around 300 ms.
- The client must be usable with LTE.
- The client has been tested with
- It should be possible to support multiple different projects
- The frontend is created dynamically and thus project independent.
- It should be possible to support multiple projects simultaneously
- The frontend does not yet support multiple simultaneous projects or project switching.
- The client should be a website.
- The client is a website.
- A single Project should be implemented.
- A mock project is implemented.
- It should be possible to export the measured data.
- When the chart is paused, it is possible to download the data into a .csv file.
- The client should use the client API as specified.
- The client communicates with the backend over the specified client API
Shortcomings and Future Steps#
The most important future steps include an implementation for managing and accessing multiple projects. Further steps include developing a more robust live view implementation and improving overall appearance of the website.