= Simple radio example with GNURADIO benchmark scripts = == Description == This example will utilize an OEDL experiment script to execute packet transfers over a radio link created using GNU Radio. This is will involve running a GNU Radio benchmark script two nodes each with a USRP2. == Hardware / Software Resources utilized == 1. Grid nodes with a USRP2 connect via Ethernet. 2. ''baseline-12-04-gnu.ndz'': disk image loaded onto nodes. This image has all the precompiled - software required to configure the USRP2s and all the required GNU Radio software libraries. The USRP2's interface with the node is already configured. 3. GNU Radio - software library to create SDR. Click here for [http://gnuradio.org/redmine/projects/gnuradio/wiki/WhatIsGR additional info]. 4. USRP2 - hardware platform for SDR. Click here for [http://gnuradio.org/redmine/projects/gnuradio/wiki/Hardware#Ettus-Research-USRP-Devices more info]. == Set up == * To get started first make a reservation on the [https://www.orbit-lab.org/schedule/ Orbit Scheduler] for using the Grid. * After logging into grid console, make sure all nodes are turned off {{{ nilanjan@console.grid:~$ omf tell -a offh -t system:topo:all }}} * Verify state of node before continuing. Make sure all nodes are in the POWEROFF state. {{{ nilanjan@console.grid:~$ omf stat }}} * Image nodes. Two (2) are required to run - check [https://www.orbit-lab.org/status/orbit/ inventory status] to find nodes with 2 similar USRP2s. In this examples we'll use node1-1 and node1-2. {{{ nilanjan@console.grid:~$ omf load -i baseline-12-04-gnu.ndz -t node1-1,node1-2 }}} * Turn nodes back on and verify they are in POWERON state {{{ nilanjan@console.grid:~$ omf tell -a on -t system:topo:imaged }}} == Running OEDL script == * Run the experiment script using the following OMF command {{{ nilanjan@console.grid:~$ omf exec system:exp:gnu-benchmark INFO NodeHandler: OMF Experiment Controller 5.4 (git 3fb37b9) INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/ INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/ INFO NodeHandler: Slice ID: default_slice (default) INFO NodeHandler: Experiment ID: default_slice-2014-07-17t14.20.09.457-04.00 INFO NodeHandler: Message authentication is disabled INFO Experiment: load system:exp:stdlib INFO property.resetDelay: resetDelay = 230 (Fixnum) INFO property.resetTries: resetTries = 1 (Fixnum) INFO Experiment: load system:exp:eventlib INFO Experiment: load system:exp:winlib INFO Experiment: load system:exp:gnu-benchmark INFO property.rate: rate = ".250M" (String) INFO property.modulation: modulation = "bpsk" (String) INFO property.freq: freq = "2410000000" (String) INFO property.runtime: runtime = 10 (Fixnum) INFO Topology: Loaded topology '/tmp/pxe_slice-2014-07-17t13.52.30.457-04.00-topo-success'. INFO Topology: Loaded topology 'system:topo:imaged'. TX: node1-2.grid.orbit-lab.org RX: node1-1.grid.orbit-lab.org INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks. INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: Start receiver app INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: Start sending packets INFO exp: Request from Experiment Script: Wait for 10s.... INFO exp: Stop transmitter and receiver INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: done INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks. INFO NodeHandler: INFO NodeHandler: Shutting down experiment, please wait... INFO NodeHandler: INFO run: Experiment default_slice-2014-07-17t14.20.09.457-04.00 finished after 0:25 nilanjan@console.grid:~$ }}}