wikiroute

networking recipes

User Tools

Site Tools


exploring_lora

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
exploring_lora [2018/09/30 10:29] – [3.1. Modifying the Radio Parameters] samerexploring_lora [2018/10/06 14:01] – [4.1. Time on Air] samer
Line 15: Line 15:
 In order to design and implement experiments with LoRa, you will use the following devices:   In order to design and implement experiments with LoRa, you will use the following devices:  
  
-  * Arduino Mega (x2).+  * Arduino Mega or Arduino Duemilanove (x2).
   * LoRa shields from [[http://www.dragino.com/products/module/item/102-lora-shield.html|Dragino]] (x2).   * LoRa shields from [[http://www.dragino.com/products/module/item/102-lora-shield.html|Dragino]] (x2).
  
Line 22: Line 22:
   * Give the main characteristics of the LoRa shield from Dragino (www.dragino.com).   * Give the main characteristics of the LoRa shield from Dragino (www.dragino.com).
   * What type of Antenna are you using? Explain the corresponding characteristics.    * What type of Antenna are you using? Explain the corresponding characteristics. 
-  * Give an estimated cost of your platform.+  * Give an estimated cost of your devices.
 </WRAP> </WRAP>
- 
 ==== -. Software Tools ==== ==== -. Software Tools ====
  
Line 32: Line 31:
  
 Unzip the RadioHead library and copy it to your sketchbook library folder as detailed in [[https://www.arduino.cc/en/Guide/Libraries]]. Unzip the RadioHead library and copy it to your sketchbook library folder as detailed in [[https://www.arduino.cc/en/Guide/Libraries]].
- 
-<WRAP center round tip 75%> 
-Note well the location of the library folder on your computer. In the following, you will be required to modify source files located in this folder.  
-</WRAP> 
 ==== -. Installation ==== ==== -. Installation ====
  
Line 44: Line 39:
 Connect the two Arduino devices to USB ports on your computer. If this is the first time you use Arduino IDE, make sure to install the necessary USB drivers by selecting ''Tools'' > ''Boards Manager'' and installing Arduino AVR boards. Connect the two Arduino devices to USB ports on your computer. If this is the first time you use Arduino IDE, make sure to install the necessary USB drivers by selecting ''Tools'' > ''Boards Manager'' and installing Arduino AVR boards.
  
-Now, you have to choose the ''Board'' type as ''Arduino/Genuino Mega 2560'' in the ''Tools'' menu and select the corresponding serial ''Port'' to start programming your Arduino.+Now, you have to choose the ''Board'' type as ''Arduino/Genuino Mega 2560'' or ''Arduino Duemilanove or Diecimilia'' in the ''Tools'' menu and select the corresponding serial ''Port'' to start programming your Arduino.
  
 <WRAP center round tip 75%> <WRAP center round tip 75%>
 For Arduino Mega 2560, additional drivers for Microsoft Windows can be installed from [[http://wch.cn/download/CH341SER_ZIP.html]]. For Arduino Mega 2560, additional drivers for Microsoft Windows can be installed from [[http://wch.cn/download/CH341SER_ZIP.html]].
 </WRAP> </WRAP>
- 
 ===== -. Theoretical Study ===== ===== -. Theoretical Study =====
  
Line 57: Line 51:
   * What is the relation between processing gain and spreading factor in LoRa modulation? Explain.   * What is the relation between processing gain and spreading factor in LoRa modulation? Explain.
   * How does the spreading factor impact the coverage of a LoRa transmitter?    * How does the spreading factor impact the coverage of a LoRa transmitter? 
-  * For each of the three possible configurations of your LoRa device, what is the transmission bit rate? Explain your computation.+  * What is the transmission bit rate for each of the following configurations of your LoRa device? Explain your computation. 
 +    * Configuration 1: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5 
 +    * Configuration 2: channel bandwidth = 500 kHz, spreading factor = 7, coding rate = 4/5 
 +    * Configuration 3: channel bandwidth = 125 kHz, spreading factor = 12, coding rate = 1/2
   * Compute the receiver sensitivity, assuming the following parameters: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5, bit error rate (BER) target = 10<sup>-4</sup>, and receiver noise figure = 6 dB. Refer to this {{ :1705.05899.pdf | article}} to determine the mapping between the BER and the SNR.   * Compute the receiver sensitivity, assuming the following parameters: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5, bit error rate (BER) target = 10<sup>-4</sup>, and receiver noise figure = 6 dB. Refer to this {{ :1705.05899.pdf | article}} to determine the mapping between the BER and the SNR.
   * Compare the computed sensitivity to that provided by the {{ :an1200.22.pdf |Semtech Application Note AN1200.22}} for the same parameters.   * Compare the computed sensitivity to that provided by the {{ :an1200.22.pdf |Semtech Application Note AN1200.22}} for the same parameters.
Line 67: Line 64:
 ==== -. Modifying the Radio Parameters ==== ==== -. Modifying the Radio Parameters ====
  
-Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between the two devices: a client and a server. Open the sketches with Arduino IDE. Make sure to choose the correct ''Board'' and ''Port'' in the ''Tools'' menu. +Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between two devices: a client and a server. Open the sketches with Arduino IDE. Make sure to choose the correct ''Board'' and ''Port'' in the ''Tools'' menu. 
  
 Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, the following extract from the ''setup'' function configures the radio parameters of your LoRa devices: Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, the following extract from the ''setup'' function configures the radio parameters of your LoRa devices:
Line 93: Line 90:
 </code> </code>
  
-In order to reduce collisions, configure the central frequency of your LoRa devices as indicated below:+In order to reduce collisions between simultaneous experiments, configure the central frequency of your LoRa devices as indicated below:
  
 ^  Group Number  ^   Frequency     ^ ^  Group Number  ^   Frequency     ^
Line 108: Line 105:
 |       11            868.7      | |       11            868.7      |
 |       12            868.9      | |       12            868.9      |
- 
 ==== -. Running Basic Sketches ==== ==== -. Running Basic Sketches ====
  
Line 121: Line 117:
 ==== -. Time on Air ==== ==== -. Time on Air ====
  
-In this section, you will measure the Time on Air (ToA) that is given by the time necessary to transmit a message on the radio interface . You will assess the impact of the spreading factor, bandwidth, coding rate, and message size on the ToA.+In this section, you will measure the Time on Air (ToA) that is given by the time necessary to transmit a message on the radio interface. You will assess the impact of the spreading factor, bandwidth, coding rate, and message size on the ToA
 + 
 +Start by implementing a function on the client that measures the time necessary for sending a message. You can have recourse to the [[https://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries. Now, you can modify one of the parameters (spreading factor, bandwidth, coding rate, message size) and record the impact on the ToA. Note well that you may need to repeat the experiment multiple times in order to obtain the statistical distribution.
  
-Start by implementing a function on the client that measures the time necessary for sending a message. For example, you can use the [[https://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries. Nowyou can modify one of the parameters (spreading factorbandwidthcoding rate, message size) and record the impact on the ToA. Note well that you may need to repeat the experiment multiple times in order to obtain the statistical distribution.+For example, the scenario for assessing the impact of the spreading factor on the ToA consists of sending 100 messages for three different spreading factors //e.g.,// 79and 10, and drawing the average ToA or the distribution in a boxplot for comparing the results.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
Line 135: Line 133:
 In this section, you will measure the coverage of LoRa under different radio configurations. In this section, you will measure the coverage of LoRa under different radio configurations.
  
-Start by identifying a set of five geographical locations or Test Points (TP). These TPs should be astutely chosen to explore the limits of LoRa coverage. Then, you should implement a function on the server that measures the ratio of successfully delivered packets or PDR. Now, you should run the experiment for three different radio configurations: such configurations should ensure different reliability levels (high, medium, and low reliability). +Start by identifying a set of five geographical locations or Test Points (TP). These TPs should be astutely chosen to explore the limits of LoRa coverage. Then, you should implement a function on the server that measures the ratio of successfully delivered packets or PDR (Packet Delivery Ratio). Now, you should run the experiment for three different radio configurations: such configurations should provide different reliability levels (high, medium, and low reliability). 
  
 <WRAP center round help 100%> <WRAP center round help 100%>
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer