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 revisionBoth sides next revision
exploring_lora [2018/09/29 12:59] – [3.1. Modifying the Radio Parameters] samerexploring_lora [2018/09/29 13:02] samer
Line 2: Line 2:
 As defined by Semtech, [[http://www.semtech.com/wireless-rf/internet-of-things/what_is_lora.html|LoRa]] is //a wireless technology developed to create the low-power, wide-area networks (LPWANs) required for machine-to-machine (M2M) and Internet of Things (IoT) applications. The technology offers a very compelling mix of long range, low power consumption and secure data transmission and is gaining significant traction in IoT networks being deployed by wireless network operators// As defined by Semtech, [[http://www.semtech.com/wireless-rf/internet-of-things/what_is_lora.html|LoRa]] is //a wireless technology developed to create the low-power, wide-area networks (LPWANs) required for machine-to-machine (M2M) and Internet of Things (IoT) applications. The technology offers a very compelling mix of long range, low power consumption and secure data transmission and is gaining significant traction in IoT networks being deployed by wireless network operators//
  
-In this lab, you will implement a prototype of LoRa communication between two wireless modules. This enables you to get hands-on experience with LoRa, assess the radio performance, and prepare future advanced prototypes and experimentations.+In this lab, you will implement a prototype of LoRa communication between two wireless devices. This enables you to get hands-on experience with LoRa, assess the radio performance, and prepare future advanced prototypes and experimentations.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
Line 57: Line 57:
   * 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 module, what is the transmission bit rate? Explain your computation.+  * For each of the three possible configurations of your LoRa device, what is the transmission bit rate? Explain your computation.
   * 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 67:
 ==== -. Modifying the Radio Parameters ==== ==== -. Modifying the Radio Parameters ====
  
-Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between the two modules: a client module and a server module. 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 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. 
  
 Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, 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 ''setup'' function configures the radio parameters of your LoRa devices:
Line 93: Line 93:
 </code> </code>
  
-In order to reduce collisions, configure the central frequency of your LoRa modules as indicated below:+In order to reduce collisions, configure the central frequency of your LoRa devices as indicated below:
  
 ^  Group Number  ^   Frequency     ^ ^  Group Number  ^   Frequency     ^
Line 111: Line 111:
 ==== -. Running Basic Sketches ==== ==== -. Running Basic Sketches ====
  
-Now you can compile and upload the client and server sketches on the two arduino modules, respectively. On the serial interfaces, you should obtain similar results as in Fig. 2 and Fig. 3. The client sends periodically a short message towards the server. The server outputs the RSSI (received power in dBm) for each received message.+Now you can compile and upload the client and server sketches on the two arduino devices, respectively. On the serial interfaces, you should obtain similar results as in Fig. 2 and Fig. 3. The client sends periodically a short message towards the server. The server outputs the RSSI (received power in dBm) for each received message.
  
 [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}] [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}]
Line 143: Line 143:
  
  
-In this section, you will measure the coverage of LoRa modules under the three different radio configurations. For this, you can start by identifying a set of Test Points (TP) on the campus. Then, you should implement a function that sends packets with different radio configurations. Note that the following functions in the Arduino sketch enable to modify //on the fly// the LoRa parameters:+In this section, you will measure the coverage of LoRa devices under the three different radio configurations. For this, you can start by identifying a set of Test Points (TP) on the campus. Then, you should implement a function that sends packets with different radio configurations. Note that the following functions in the Arduino sketch enable to modify //on the fly// the LoRa parameters:
  
 <code c++> <code c++>
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer