wiki:802.11/wlan_exp/GettingStarted

Version 5 (modified by murphpo, 10 years ago) (diff)

--

802.11 Reference Design: Experiment Framework Setup

Quick Start

  • Install a suitable Python distribution (may be already be installed on your PC; see below)
  • Download the 802.11 Reference Design Python packages and examples from the repository: /ReferenceDesigns/w3_802.11/python
  • Choose an example script (warpnet_example_wlan_throughput.py for example)
  • Edit the script header to match your setup (IP address of your PC and serial numbers of your WARP nodes)
  • Connect ETH_B of each WARP v3 node to the same gigabit Ethernet switch as your PC
  • Open a terminal to the directory containing the example script
  • Run the script with Python; for example python warpnet_example_wlan_throughput.py

System Requirements

  • 802.11 Reference Design: warpnet support was added to the reference design in v0.8.
  • Python: the warpnet framework supports both Python 2 (2.7+) and Python 3 (3.3+). No third-party Python packages are required. See the Python recommendations below for more details.
  • Connectivity: the framework requires the host PC and every WARP v3 node be connected to a common Ethernet switch. We recommend you use a dedicated NIC on your PC to avoid superfluous traffic on the experimental network. The WARP v3 nodes must use their ETH B interfaces for wlan_exp.
  • WARP v3 hardware: warpnet requires at least one WARP v3 node running the 802.11 Reference Design. The framework supports up to 253 nodes.

Python Versions

The warpnet framework supports Python 2 (2.7.4+) and Python 3 (3.3+). The core warpnet and wlan_exp scripts require only the core Python packages.

We have tested the framework and example scripts using the operating systems and Python distributions listed below.

Mac OS X

  • Python 2.7.4 bundled with Mac OS X 10.9 Mavericks
  • Python 2.7.5 in Spyder
  • Python 2.7.6 in Anaconda

Windows:

Useful Packages

  • Spyder: this IDE for Python code development is extremely useful when editing code / developing scripts. Besides automatic syntax checking / highlighting, it integrates the python and ipython consoles to allow interactive debug of code.
  • ipython: this interactive Python environment is great for testing experiment scripts and exploring experiment results. Many integrated Python distributions (Anaconda, Spyder, WinPython, etc) integrate the ipython shell.
  • numpy: Some of the wlan_exp_log examples use numpy 1.7 for processing large arrays of node log entries. numpy is included in many Python distributions. You can check by running this on your command line: python -c "import numpy; print numpy.version.version". This will print a version number if numpy is installed or an error if it is not. Our examples assume numpy 1.7 or later.
  • pandas: The pandas library provides some very useful tools for dealing with large datasets, especially those where time is a dimension (like log entries).