Introduction
The Technology Summits of RDK-B in recent years have clearly demonstrated how this technology has matured to the point where even complex applications can be integrated into this framework. Examples of such applications include: “Parental Control,” WiFi networking with “Easy Mesh,” “Device Identification,” integration of mobile interfaces, and much more.
This development enables providers to increasingly exploit the potential of this technology, as we already discussed in our article RDK-B Revolution im Heimnetzbereich (?).The core of this potential lies in the modular design of the RDK-B stack, which allows additional software components to be integrated in a way that they can utilize the resources of the RDK-B stack, such as R-BUS and D-BUS, and the Persistent Storage Management (PSM) to interact with other components. A significant advantage is the automatically ensured remote service via the WebPA protocol.
In this blog, we want to demonstrate such an integration using a simple example, similar to what we have implemented in projects before. We will minimize the requirements so that our approach is easily understandable and can be followed and executed by others.
Our example demonstrates the integration of an application like Iperf3 into the RDK-B reference environment. Iperf3 is a versatile tool that can be used to assess the quality and throughput of IP connections, among other things. We specifically chose it to examine its suitability in the context of the Quality of Service (QoS) measurements proposed by the Broadband Forum (BBF) (BBF TR-143: Enabling Network Throughput Performance Tests and Statistical Monitoring).
In this post, we will show how to incorporate the tool into the RDK-B build environment[1] so that Iperf3 can be used as a software component of RDK-B on the Raspberry Pi 4 (RPi4). The RPi4 is one of the reference environments for RDK-B.
A follow-up post will then address how Iperf3 can be used with RDK-B tools to create an application (RDK-B service component) in the context of TR-143.
Procedure
The process of integrating an application into the RDK software stack follows these general steps:
- Generate the Build Environment for the Reference System (RPi4)
Start by setting up the build environment for the Raspberry Pi 4 as described on RDK-Central. Registration is required to access these resources. - Download the Source Code for Iperf3
Download the Iperf3 source code from the Index of /pub/iperf/ (es.net) and place it into the repository of the build environment. - Modify the RDK Software Stack with Additional Components for the Application
Adjust the RDK software stack by integrating additional components necessary for the application. - Design and Code an RDK-B Software Component
Create an RDK-B software component that will provide the application as a service. - Build the Image File and Burn It onto an SD Card for the RPi4
Finally, compile the image file and burn it onto an SD card for use with the Raspberry Pi 4.
Demonstration
The following image shows a screenshot of the terminal of a Raspberry Pi 4 (RPi4) where the generated RDK image has been installed. The command in the first line demonstrates that the system is running RDK-B and it provides various version information.
The next command loads the RDK component for Iperf3, and the following command starts an Iperf3 measurement, which completes after approximately 5 seconds and presents the results.
Conclusion
By integrating Iperf3 into an RDK system, a wide range of possibilities for investigating QoS with Iperf3 becomes available.
In a follow-up post, we will explore these possibilities in more detail, with a particular focus on the RDK-B Iperf Service software component.
[1] Build Environment: A toolkit used to create a functional operating system.
[2] Image: A container that includes the future operating system and all applications.
Hinterlasse einen Kommentar