{{{#!comment [[Include(wiki:802.11/beta-note)]] }}} [[TracNav(802.11/TOC)]] = 802.11 Reference Design: Experiment Framework Setup = The basic steps to setup and use the 802.11 Reference Design Experiments Framwork are listed below, and explained in detail in the following sections. 1. Install a suitable version of Python 1. Install the wlan_exp Python package 1. Configure and connect WARP v3 nodes via Ethernet 1. Test the hardware and setup There are two sets of instructions below- one for Python beginners, one for Python experts. == For Python Beginners == New Python users should start with the [https://store.continuum.io/cshop/anaconda/ Anaconda Scientific Python Distribution] from [http://www.continuum.io/ Continuum Analytics]. This distribution bundles known-good versions of Python, third-party packages for data processing and great IDE tools. The installers for Mac OS X, Windows and Linux are available on the '''[http://continuum.io/downloads Anaconda downloads page]'''. We strongly recommend a 64-bit Python installation to fully utilize the 802.11 Reference Design logging framework. A 32-bit Python cannot handle the large log files generated by nodes during long experiments. The Anaconda Mac OS X distribution is always 64-bit. If your Windows PC and OS is 64-bit, you should use the 64-bit Anaconda distribution. == Install wlan_exp Package == A core component of 802.11 Reference Design Experiments Framework is the wlan_exp Python package. You must use a wlan_exp version that matches the 802.11 Reference Design version running in your WARP v3 nodes. We '''strongly recommend''' using the wlan_exp package bundled in the reference design .zip archive. This version of the package is tested with the C code, FPGA designs and pre-compiled bitstreams bundled in the same release. The wlan_exp package is located in the '''/Python_Reference''' folder in the reference design .zip archive. To install the wlan_exp package in your Python environment: 1. Launch the Spyder IDE in your Anaconda installation (Start Menu -> Anaconda (64-bit) -> Spyder) 1. Select Tools -> PYTHONPATH Manager 1. If the PYTHONPATH window shows any existing 802.11 Reference Design '''Python_Reference''' entries, remove them 1. Click Add 1. Navigate to the '''Python_Reference''' folder in the expanded reference design archive (for example "C:\work\Mango_802.11_RefDes_v1.0.0\Python_Reference") 1. Click Select Folder 1. Click Synchronize, then Yes 1. Click Close To test whether the path setup was successful, quit and re-launch Spyder. Then in the Spyder Python console, run {{{import wlan_exp}}}. If this runs without error, the wlan_exp package is properly installed. == Configure and Connect WARP v3 Nodes == The 802.11 Reference Design Experiments Framework communicates with WARP v3 nodes via Ethernet. Your PC (with Python and the wlan_exp package) and all WARP v3 nodes must be connected to the same Ethernet switch. We recommend using a dedicated NIC for wlan_exp experiments. This NIC should have a static IP address in the 10.0.0.x subnet. This is the same recommended setup as for WARPLab. '''Ethernet Setup:''' 1. Set your PC NIC IP address to 10.0.0.250 and subnet mask to 255.255.255.0 1. Connect the NIC to a 1Gb Ethernet switch 1. Connect '''ETH_B''' of each WARP v3 node to the same switch '''Important:''' do '''not''' connect '''ETH_A''' of multiple WARP v3 nodes to the same switch. The 802.11 Reference Design wired-wireless portal will attempt to bridge ETH_A to the wireless interface. Mixing this behavior with wlan_exp traffic will have unpredictable results. '''Nodes Configuration:''' 1. If you have one WARP v3 node, configure this node as an 802.11 AP using the AP bitstream from the Bitstream_Reference folder 1. If you have multiple WARP v3 nodes, configure one as an AP (AP bitstream) and the rest as stations (STA bitstream) == Testing Your Setup == 1. Launch a Python shell (Start Menu -> Anaconda (64-bit) -> Anaconda Command Prompt) 1. Change directory to the Python_Reference/Examples folder ({{{cd C:\work\Mango_802.11_RefDes_v1.0.0\Python_Reference\examples}}}) 1. Run the blink_node_leds.py example: {{{python blink_node_leds.py}}} All of your WARP v3 nodes should blink their hex displays for 5 seconds. If any node is not blinking, double-check your Ethernet connections (use '''ETH_B'''!), PC IP address and Python setup. == Next Steps == Once your setup is complete we suggest exploring the [wiki:../examples wlan_exp examples]. ---- == For Python Experts == The wlan_exp package requires '''Python 2 (version 2.7.5 or later)''' or '''Python 3 (version 3.3.5 or later)'''. Most functions of the wlan_exp package only require the Python standard library. These functions include node initialization, control, monitoring and retrieval of log data. We recommend a 64-bit installation. A 32-bit Python installation will work for most wlan_exp usage '''except''' processing large (multi-gigabyte) log files. Some of the log parsing utilities and examples use third-party packages. To run all of our examples your Python installation must have: * NumPy (version 1.8 or later) * Pandas (version 0.13 or later) * matplotlib (version 1.3.1 or later) * h5py (version 2.2 or later) In our testing the wlan_exp examples that use these packages work in both Python 2.7 and 3.3.