ephyl_framework_v2
Differences
This shows you the differences between two versions of the page.
| ephyl_framework_v2 [2022/09/28 17:36] – created aparis | ephyl_framework_v2 [2022/11/30 17:09] (current) – aparis | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| # S3_CAP, a modular framework for slotted transmission | # S3_CAP, a modular framework for slotted transmission | ||
| - | This tutorial | + | This tutorial shows how to use the [S3_CAP framework](https:// |
| + | |||
| + | First you need to retrieve this [docker image](https:// | ||
| + | |||
| + | < | ||
| + | you@yourpc: | ||
| + | you@yourpc: | ||
| + | </ | ||
| + | |||
| + | Access the docker container using ssh : | ||
| + | |||
| + | < | ||
| + | you@yourpc: | ||
| + | </ | ||
| + | |||
| + | In this environment, | ||
| + | |||
| + | |||
| + | New `upper/ | ||
| + | < | ||
| + | while True: | ||
| + | feedback_pmt = up.recv() | ||
| + | feedback = up.extract(feedback_pmt) | ||
| + | |||
| + | up.log(feedback[" | ||
| + | print(" | ||
| + | |||
| + | action = " | ||
| + | frame = feedback[" | ||
| + | |||
| + | if feedback[" | ||
| + | sequence = [[0, " | ||
| + | ulcch = str(" | ||
| + | else: | ||
| + | sequence = [[0, False], [1, " | ||
| + | ulcch = str(" | ||
| + | |||
| + | inst = up.create_SN_inst(feedback[" | ||
| + | up.send(inst) | ||
| + | |||
| + | up.log(frame, | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | |||
| + | New `upper/ | ||
| + | < | ||
| + | while True: | ||
| + | feedback_pmt = up.recv() | ||
| + | feedback = up.extract(feedback_pmt) | ||
| + | |||
| + | up.log(feedback[" | ||
| + | print(" | ||
| + | |||
| + | list_dlcch = [] | ||
| + | frame = feedback[" | ||
| + | |||
| + | for sensor in up.list_sensors: | ||
| + | dlcch = str(" | ||
| + | list_dlcch.append([sensor, | ||
| + | |||
| + | inst = up.create_BS_inst(list_dlcch, | ||
| + | up.send(inst) | ||
| + | |||
| + | up.log(frame, | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | You can also set the number of slot on the uplink channel, with the `slot_count` parameter in the sensor and base station upper files, and with the `--S` option inside the GNU Radio flowgraph. | ||
| + | |||
| + | You can now exit the docker container, to commit and push the updated version on your account. | ||
| + | < | ||
| + | you@yourpc: | ||
| + | you@yourpc: | ||
| + | you@yourpc: | ||
| + | you@yourpc: | ||
| + | you@yourpc: | ||
| + | </ | ||
| + | |||
| + | After booking the testbed with OAR, you can upload the image on three nodes of your choice with an SSH access, as follow : | ||
| + | < | ||
| + | nodeX: | ||
| + | container: | ||
| + | - image: [DOCKER USERNAME]/ | ||
| + | command: / | ||
| + | </ | ||
| + | |||
| + | Once connected to each of the three nodes, you can run the following commands. It will start the access policy and then the PHY layer of each node. | ||
| + | |||
| + | On `NODE_X` - the first sensor | ||
| + | |||
| + | < | ||
| + | python2 / | ||
| + | python2 / | ||
| + | </ | ||
| + | |||
| + | On `NODE_Y` - the second sensor | ||
| + | |||
| + | < | ||
| + | python2 / | ||
| + | python2 / | ||
| + | </ | ||
| + | |||
| + | On `NODE_Z` - the base station | ||
| + | |||
| + | < | ||
| + | python2 / | ||
| + | python2 / | ||
| + | </ | ||
| + | |||
| + | You will then observe the newly updated access policy. | ||
ephyl_framework_v2.1664379375.txt.gz · Last modified: by aparis
