AraMIMO API

As mentioned in ARA Infrastructure, ARA is equipped with hardware and software components for enabling wireless research in massive MIMO. As part of MIMO in ARA (we call as AraMIMO), we provide APIs for monitoring Skylark applications, specifically the status of Skylark components and links. At present, ARA includes basic commands for monitoring purpose. However, we plan to add more APIs enabling users to configure the parameters such as frequency, bandwidth, and gain. The APIs packed within the container communicate with Skylark CU and returns the required information to the users.

Experiment 2: Monitoring AraMIMO Wireless Link Behavior using CLI provides instructions for creating and launching containers equipped with AraMIMO APIs while the source of APIs are available in AraMIMO GitLab project. The container is integrates with a CLI providing commands for monitoring MIMO-related components and attributes. The AraMIMO CLI can be launched by running the following command.

ara-sklk-cli.py

The AraMIMO shell currently supports following commands which can be executed from the container.

get_center_freq      Return the center frequency on all radios
get_config           Return the current BS configuration
get_connected_ues    Returns the list of connected UEs
get_csi_data         Returns the CSI data
get_main_stats       Returns the detailed system statistics
get_mcs              Print the average MCS index for UEs
get_phy_config       Print the PHY configuration parameters
get_snr              Print the SNR of connected UEs
get_ue_bus_rates     Print the bus rates in Mbps
get_ue_data_rates    Print the data rate in Mbps
get_ue_stats         Print the statistics of connected UEs
help                 List the available commands and options with "help"
history              View, run, edit, and save past commands.
quit                 Exit from the AraMIMO CLI

Some of the commands enable users to provide options such as exporting output to a CSV file. To check the options for each command type help before the command as shown below.

help <command>

Example Scripts

Besides the CLI, the AraMIMO container includes specific scripts that help users to automate their MIMO-related measurement. The scripts are included in the container in the aramimo directory and the source files are provided in the AraMIMO GitLab project. The scripts can be modified to suit user’s experimental requirement on capturing the data and saving output to the files in required formats. Note that each script first establishes a socket connection to the CU to obtain required information. Each example script is developed with the following sequence of steps.

  1. Import required libraries

  2. Create the socket connection to the CU

  3. Call the specific APIs

  4. Parse the returned data

Note: This section is not complete and will be updated as more commands are added to the API.