|
|
|
# WiSH WalT Framework
|
|
|
|
|
|
|
|
This markdown contains instructions for WiSH WalT Framework. For more details about the framework, please refer to our paper at [WiSH-WalT: A Framework for Controllable and Reproducible LoRa Testbeds] (https://hal.archives-ouvertes.fr/hal-01835904/document).
|
|
|
|
|
|
|
|
There are five core elements of the project:
|
|
|
|
* LoRa STM32 module with our custom application
|
|
|
|
* WiSHfull local controller change radio parameters for connected mote
|
|
|
|
* WiSHfull global controller to control local controllers
|
|
|
|
* The Things Network server
|
|
|
|
* The Things Network Client to download data (optional)
|
|
|
|
|
|
|
|
|
|
|
|
We provide source code and examples for our application.
|
|
|
|
|
|
|
|
## LoRa Mote application
|
|
|
|
|
|
|
|
You can find LoRA application on the following [link] (hhttps://gricad-gitlab.univ-grenoble-alpes.fr/Drakkar-LIG/WiSHFUL-LoRa-connector/tree/master/code/Projects/Multi/Applications/LoRa/End_Node)
|
|
|
|
|
|
|
|
This code needs to be copied on the board for the project to work. You can use [pySerial](https://gricad-gitlab.univ-grenoble-alpes.fr/Drakkar-LIG/WiSHFUL/tree/master/examples/Get_Started_Examples/LoRaWan_Example/pyserial/pyserial-master) or directly copy, paste the code on the USB drive which appears after you plugin the module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## WiSHFul Local and Global controllers
|
|
|
|
|
|
|
|
To change the radio parameters you need WiSHfull framework, you can read more about the project [here] (http://www.wishful-project.eu/documents).
|
|
|
|
|
|
|
|
For our project, you need have LoRa UPI's installed, you can build the project from our [source](https://gricad-gitlab.univ-grenoble-alpes.fr/Drakkar-LIG/WiSHFUL/tree/master/upis/wishful_upis/lora) code and they will be installed automatically.
|
|
|
|
|
|
|
|
We also provide tutorial for getting started [here] (https://gricad-gitlab.univ-grenoble-alpes.fr/Drakkar-LIG/WiSHFUL/tree/master/examples/Get_Started_Examples/LoRaWan_Example). It discusses in details the changes required and examples for global and local controllers.
|
|
|
|
|
|
|
|
## TTN Client
|
|
|
|
We used TTN server for our experients. We provide a [script] (https://gricad-gitlab.univ-grenoble-alpes.fr/Drakkar-LIG/WiSHFUL/tree/master/examples/Get_Started_Examples/LoRaWan_Example/ttn-client) to download data from TTN server. It can be run as a background process to download packets sent to TTN server, as the server does not store any packets.
|
|
|
|
|
|
|
|
|
|
|
|
## Walt Images
|
|
|
|
|
|
|
|
Finally, we also provide following walt images with wishful framework already installed and configured:
|
|
|
|
* wishful-global-controller
|
|
|
|
* wishful-local-controller
|
|
|
|
|
|
|
|
|
|
For the WiSHFUL experiments you can clone `wishful-global-controller` and `wishful-local-controller` Walt images.
|
|
For the WiSHFUL experiments you can clone `wishful-global-controller` and `wishful-local-controller` Walt images.
|
|
The former is a X86 image and should be booted either by physical hardware or by a virtual node.
|
|
The former is a X86 image and should be booted either by physical hardware or by a virtual node.
|
|
|
|
|
... | @@ -6,3 +47,4 @@ The former is a X86 image and should be booted either by physical hardware or by |
... | @@ -6,3 +47,4 @@ The former is a X86 image and should be booted either by physical hardware or by |
|
The later is a raspberry pi image and should be booted by a raspberry pi node.
|
|
The later is a raspberry pi image and should be booted by a raspberry pi node.
|
|
|
|
|
|
`$ walt image clone wishful-local-controller`
|
|
`$ walt image clone wishful-local-controller`
|
|
|
|
|