LoStiks by Ronoth are deployed for LoRa Technology Scenario in AERPAW
LoStik is a LoRaWAN compatible LoRa end-user device, which allows experiments on both physical and network layers. It has the capability of LoRa and conventional FSK modulation on the physical layer. Ronoth LoStiks work on a Microchip RN2903 LoRa module and all of the RN2903 module’s settings and commands are transmitted over UART using the ASCII interface.
General Information on Ronoth LoStiks
AERPAW LoRa Technology Profile
Description
This profile contains a Github repository written in Python that allows users to experiment on PHY level using FSK or LoRa modulation with the Ronoth LoStik USB dongles.
A typical experiment setup
An experiment should be set up following these steps. Files mentioned below are in the relevant repository:
Step 1: Devices at each node can behave as either a Transmitters (Tx) or a Receivers (Tx). Each container will have all the required files once the repository is cloned. The main file that is to be run for receivers is rx.sh, and tx.sh for transmitters. There are several parameters that should be defined by the experimenter and written inside these .sh files.
Step 1.1: Rx.sh takes 2 parameters, i.e., config.conf file, which includes the parameters such as frequency, bandwidth, spread factor etc, and window, which represents the amount of time in minutes that the reception window will stay open (choose 0 for unlimited window time).
Step 1.2: Tx.sh takes 4 parameters, i.e, config.conf file (see Step 1.1), traffic.conf, which is used to customize the packets that will be transmitted, period, which represents the amount of time between consecutive packet transmissions in seconds, and duration stands for the total transmission time in minutes.
Step 2: All devices can be configured using some parameters. LoRa and FSK modulations have different set of parameters. config.conf file is used for this purpose. Rx.sh and Tx.sh files take in the config.conf file as a parameter, and configures the device in that node accordingly.
List and definitions of all configurable parameters are given in Configurable Parameters.
Devices who need to be configured using the same set of parameters can use the same config.conf file. Distinct config.conf files are required otherwise.
In case a device is not configured, default values are used.
Name of the config.conf file should be given as a parameter in tx.sh/rx.sh
Step 3: Content of the packets (i.e. traffic) needs to be configured for devices that are set as transmitters (Tx). traffic.conf file is used for this purpose. Tx.sh file takes traffic.conf file as a parameter.
Transmitters who need to use the same packet scheme can use the same traffic.conf file. Distinct traffic.conf files are required otherwise.
Packet transmission period and total transmission duration are also defined in traffic.conf file.
Name of the traffic.conf file should be written next to the config.conf file for transmitters only.
Step 4: After setting all config files (config.conf, traffic.conf), and defining period and duration of the transmission, experiments can be initiatied by running all tx.sh and rx.sh files in the nodes.
RX.SH FILES SHOULD BE INITIATED AROUND 10 SECONDS EARLIER IN ORDER NO TO MISS THE FIRST TRANSMITTED PACKETS.
Step 5: Three types of output files are created by Receivers (Rx). An index for the received packet, and RSSI and the SNR of the packet is also printed on the screen.
Received packets, each packet in different lines
Received packets in bulk format
A JSON file, received packet index in keys, and a list of three, i.e. received packets, corresponding RSSI, corresponding SNR, as the values.
One type of output file is created by Transmitters (Tx). The transmitted packets are printed on the screen as well.
Transmitted packets, each packet in different lines
Click here for the relevant Github Repository