Wi-Fi Throughput Demo#

Wi-Fi throughput refers to the actual data transfer speed between the mobile app and firmware over the wireless network, typically measured in Mbps (Megabits per second). It indicates how much data can be transmitted over the Wi-Fi connection within a given time, taking into account factors such as signal strength, interference, network congestion, and the capabilities of router and connected devices. Higher throughput results in faster data transfer and better network performance.

This demo supports both upload and download operations for TCP, UDP, and TLS.

The following is a brief explanation of each type of data transfer:

  1. TCP Upload: Data is sent from the mobile app to the firmware using the reliable TCP protocol, ensuring ordered and error-free delivery.

  2. TCP Download: Data is received from the firmware to the mobile app using TCP, ensuring reliable and error-checked data transfer.

  3. UDP Upload: Data is sent from the mobile app to the firmware using UDP, prioritizing speed over reliability, without guaranteed error-free delivery.

  4. UDP Download: Data is received from the firmware to the mobile app via UDP, offer faster transfer but without guaranteed delivery or error correction.

  5. TLS Upload: Data is securely transmitted from the mobile app to the firmware over TCP, with encryption provided by the TLS to ensure privacy and security.

  6. TLS Download: Data is securely received from the firmware to the mobile app over TCP, with TLS encryption ensuring data integrity and privacy during transfer.

Wi-Fi Throughput Setup#

Download Simplicity Studio and search for the Wi-Fi - Throughput (SoC) demo. Create/edit the project as shown in the images below.

Simplicity Studio screenshotSimplicity Studio screenshot

TCP Setup: Application Build Environment#

After launching Simplicity Studio and creating the project, the demo workspace will open. You can find it under the Simplicity IDE section as shown below.

Simplicity Studio screenshotSimplicity Studio screenshot

Configure the following parameters in app.c to test throughput as per requirements:

Simplicity Studio screenshotSimplicity Studio screenshot

Throughput Measurement Types#

The application can be configured to measure throughput using UDP, TCP, or TLS packets. Select the desired measurement type using the THROUGHPUT_TYPE macro.

For additional information, refer to the application Readme file.

App Setup and Use#

To measure Wi-Fi throughput, select Wi-Fi Throughput from demo section. Ensure Wi-Fi is enabled to view all the supported demos of throughput. Enter the IP address and port number and tap Start Server. If needed, you can cancel the process by tapping Cancel.

The application validates the IP address to ensure that it does not exceed 15 characters, and the port number is always exactly 4 digits.

TCP Download#

Select TCP Download and enter the port number shown in the UART log.

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

Press the reset button on the board to initiate the connection. Once the connection is established, you will be able to view time interval, data transferred in MB, and bandwidth in Mbps.

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

TCP Upload#

Select TCP Upload to view the desired results on the Wi-Fi Throughput Details screen.

Enter the IP address and Port number on the mobile app from UART log.

UART logUART log

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

UDP Download#

Select UDP Download and enter the port number. The Port number can be anything; for example 5002 or 5003. Enter it into the app.c file build and flash into board.

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

UDP Upload#

Select UDP Upload to view the desired results on the Wi-Fi Throughput Details screen.

Enter the IP address and Port number on mobile from the UART log.

UART logUART log

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

TLS Download#

In TLS, the mobile device will act as server for both upload and download. Provide the IP Address of hte server and the port number associated with TLS. Update them in the app.c file build and flash into board.

screenshot highlighting app.c filescreenshot highlighting app.c file

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

TLS Upload#

mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot
mobile app screenshotmobile app screenshot

Notes:

  1. Ensure the correct combination of firmware is flashed before starting the demo.

  2. The final achieved throughput is calculated as an average bandwidth achieved per second.