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/27 17:00] – [3.2. Running Basic Sketches] samerexploring_lora [2018/09/29 12:59] – [3.1. Modifying the Radio Parameters] samer
Line 28: Line 28:
  
 Download the following software on your PC: Download the following software on your PC:
-  * RadioHead: The Packet Radio library for embedded microprocessors can be downloaded from [[http://www.airspayce.com/mikem/arduino/RadioHead/]] or from this [[http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.86.zip|direct link]]. +  * RadioHead: The Packet Radio library for embedded microprocessors can be downloaded from [[https://github.com/samerlahoud/RadioHead]]. 
   * Arduino IDE: Specific OS versions can be downloaded from [[https://www.arduino.cc/en/Main/Software]].   * Arduino IDE: Specific OS versions can be downloaded from [[https://www.arduino.cc/en/Main/Software]].
  
Line 36: Line 36:
 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.  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> </WRAP>
- 
 ==== -. Installation ==== ==== -. Installation ====
  
Line 68: Line 67:
 ==== -. Modifying the Radio Parameters ==== ==== -. Modifying the Radio Parameters ====
  
-Start by setting the central frequency of your LoRa modules according to the following table:+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.  
 + 
 +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: 
 +  
 +  * Central frequency (freq) 
 +  * Spreading Factor (SF) 
 +  * Bandwidth (Bw) 
 +  * Coding Rate (CR)  
 +  * Transmit power (Pow) 
 + 
 +<code c++> 
 +rf95.setFrequency(frequency); 
 +// Setup Power,dBm 
 +rf95.setTxPower(13); 
 + 
 +// Setup Spreading Factor (6 ~ 12) 
 +rf95.setSpreadingFactor(7); 
 +   
 +// Setup BandWidth, option: 7800,10400,15600,20800,31250,41700,62500,125000,250000,500000 
 +//Lower BandWidth for longer distance. 
 +rf95.setSignalBandwidth(125000); 
 +   
 +// Setup Coding Rate:5(4/5),6(4/6),7(4/7),8(4/8)  
 +rf95.setCodingRate4(5); 
 +</code> 
 + 
 +In order to reduce collisions, configure the central frequency of your LoRa modules as indicated below:
  
 ^  Group Number  ^   Frequency     ^ ^  Group Number  ^   Frequency     ^
Line 84: Line 109:
 |       12            868.9      | |       12            868.9      |
  
-For this, open the ''RH_RF95.cpp'' file located in the ''RadioHead'' folder and change the frequency using the following command: 
- 
-<file cpp RH_RF95.cpp> 
-setFrequency(86X.Y); 
-</file> 
- 
-The typical configuration for LoRa modules consists of 125 kHz sub-channels, a coding rate of 4/5, and a spreading factor equal to 7. You can modify the radio parameters by selecting one of the three available configurations: 
- 
-  * Bw125Cr45Sf128 
-  * Bw125Cr48Sf4096 
-  * Bw31_25Cr48Sf512 
- 
-Radio configuration is applied in ''RH_RF95.cpp'' as in the following example: 
-<file cpp RH_RF95.cpp> 
-setModemConfig(Bw125Cr45Sf128); 
-</file> 
 ==== -. Running Basic Sketches ==== ==== -. Running Basic Sketches ====
  
-Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between the two modules. Open the sketches with Arduino IDE, compile and upload 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 and 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 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.
  
 [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}] [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}]
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer