In this project we have used wolfssl for crypto operations such as encryption and key generation. To integrate wolfssl to the project, it is necessary to compile and integrate it properly. Following are the steps for integration.
- Download wolfssl-4.0.0.zip from the downloads page: https://www.wolfssl.com/download/
- Unzip and cd into wolfssl-4.0.0/ run configure and make using gcc -fPIC
- install the library
- compile gcc client.c -o client -fpie -rdynamic -I${WOLF_INSTALL_DIR}/include -L${WOLF_INSTALL_DIR}/lib -lwolfssl
- compile gcc server.c -o server -fpie -rdynamic -I${WOLF_INSTALL_DIR}/include -L${WOLF_INSTALL_DIR}/lib -lwolfssl
- Export the library path with command export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${WOLF_INSTALL_DIR}/lib" so the app can find the library at run time
- run the server.c and connect to it with the client.c which are compiled with -fpie -rdynamic
The scripts for creating the following ns-3 network located in LoraWanNs3 folder
To reflect Lora charectestics in terms of latency and bandwith as parameters. Please refer the following work,
We have used spreading factor 7 for urban and spreading factor 9 for rural settings.
Adelantado, Ferran, et al. "Understanding the limits of LoRaWAN." IEEE Communications magazine 55.9 (2017): 34-40.