| 
 | 
 | 
# 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.
 | 
| 
 | 
 | 
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 | 
| 
 | 
 | 
The later is a raspberry pi image and should be booted by a raspberry pi node.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
`$ walt image clone wishful-local-controller`
 | 
| 
 | 
 | 
 |