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.
Import required libraries
Create the socket connection to the CU
Call the specific APIs
Parse the returned data
Note: This section is not complete and will be updated as more commands are added to the API.