experiment_usrp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
experiment_usrp [2014/03/31 18:10] – bguillon | experiment_usrp [2023/12/11 14:02] (current) – [Providing USRP programs] cmorin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ======= Experimenting with the USRPs ======= |
- | Note: If you do not have a CorteXlab account yet, please refer to the [[account | account ]] section first. | + | ===== Providing USRP programs ===== |
- | Currently | + | In CorteXlab, USRPs are programmed using the [[http:// |
- | ===== Connecting using Linux/Unix ===== | + | Programming a USRP with GNURadio is not an easy task, the user should be familiar with that, and should refer |
+ | to the [[http:// | ||
- | On a Linux/Unix host, the SSH connexion to '' | + | For instance, in the '' |
- | $ ssh -X -v -p 2269 pandora.citi.insa-lyon.fr | + | < |
+ | $ benchmark_tx.py | ||
+ | </ | ||
| | ||
- | | + | The script called as the entry point could be anything, it is up to the user to decide what, the parameters, etc. The only constraint |
- | | + | |
- | -p is used to specify | + | |
- | ===== Connecting Windows user ===== | + | For instance, in the '' |
- | Thanks to Putty you can open SSH connections to remote hosts. | + | Again, using the '' |
- | To do so, you must configure your connection. | + | < |
- | + | $ benchmark_rx.py --antenna=" | |
- | ==== Step 1: Set the Host ==== | + | </ |
- | + | ||
- | Choose SSH as the communication protocol and set the hostname of the server you want to reach, in this case pandora.citi.insa-lyon.fr (Dev CorteXlab) on port 2269. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | + | ||
- | ==== Step 2: Set the login username ==== | + | |
- | + | ||
- | Choose your login username in order not to re enter it every time you log on CorteXlab. This is your CorteXlab account name (i.e. username). | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | + | ||
- | ==== Step 3: Set the SSH keys to use ==== | + | |
- | + | ||
- | Of course, the authentication on CorteXlab is based on RSA keys (no password authentication is allowed). | + | |
- | You have to give the path to the private key file (and your public key should be alongside it, i.e same directory and same file name prefix). | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | More info: [[ssh_key_help]] | + | |
- | + | ||
- | + | ||
- | ==== Step 4: Save the parameters ==== | + | |
- | + | ||
- | In order to use them next time, save the parameters as a session. | + | |
- | You will be able to load them directly from this menu afterwards. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | ==== Step 5: Log in through SSH ==== | + | |
- | + | ||
- | Just click the " | + | |
- | + | ||
- | ===== Connecting MacOS user ===== | + | |
- | TBD | + | |
- | + | ||
- | ===== Once connected ===== | + | |
- | You should have access to your home directory on '' | + | |
- | - A README file | + | |
- | - A directory '' | + | |
- | - A directory '' | + | |
- | + | ||
- | Launching an experiment on the USRP board requires the following steps: | + | |
- | - Reserve a number of USRP nodes (not implemented yet) | + | |
- | - Create a //Task// as a directory (say '' | + | |
- | - Activate the task creation in Minus: | + | |
- | $ create_task taskFolder | + | |
- | This will result in the creation of a file '' | + | |
- | - Launch the task with minus: | + | |
- | $ submit taskFolder.job | + | |
- | - Analyze the results | + | |
- | ====== Create a Task ====== | + | |
- | + | ||
- | Creating a task for an experiment amounts in: | + | |
- | - providing the programs targeted to each USRPs included in the experiment | + | |
- | - providing a '' | + | |
- | + | ||
- | " | + | |
- | ===== Providing USRP programs ===== | + | |
- | + | ||
- | In CortexLab, USRP are programmed using the [[http:// | + | |
- | + | ||
- | Programming a USRP with GnuRadio is not an easy task, the user should be familiar with that, and should refer | + | |
- | to the [[http:// | + | |
- | $ benchmark_tx.py --antenna=" | + | |
| | ||
- | The command could be anything, it is up to the user to decide the name of the script, its parameters etc. The only constraints is that it should be able to run with the GnuRadio packages present on CorteXlab. It the user wants to add more packages or libraries, he should put the files in the Task directory. For instance, on the '' | ||
- | |||
- | Again, using the '' | ||
- | $ benchmark_rx.py --antenna=" | ||
- | | ||
- | Once the programs to be launched on each USRPs are set up, remains to indicate the time duration of the experiment. Minus will stop the experiment after this time duration, and the result will be available for analysis. | ||
- | ===== Providing a scenario file ===== | ||
- | The scenario file is the Minus script that indicates to Minus which program will be launch on which USRPs and how long the experiment will last. For each node (i.e. each usrp), it should indicate: | ||
- | - a command (or //entry//) which is the program executed on the PC connected to the USRP | ||
- | - a commande line option (or // | ||
- | - an exit script (optional) which is executed at the end of the experiment | ||
- | |||
- | In addition with these information, | ||
- | Below is a simple example used for the '' | ||
- | |||
- | # Example scenario description file | ||
- | desc base scenario for CorteXlab | ||
- | # | ||
- | # Experiment maximum duration | ||
- | durat 3 | ||
- | # | ||
- | # Node list | ||
- | # | ||
- | node2: | ||
- | entry benchmark_rx.py | ||
- | | ||
- | exit none | ||
- | node1: | ||
- | entry benchmark_tx.py | ||
- | | ||
- | exit none | ||
- | |||
- | |||
- | |||
- | ====== Launch a Task ====== | ||
- | |||
- | ======= Analyze the results ====== |
experiment_usrp.1396282229.txt.gz · Last modified: 2014/05/21 15:45 (external edit)