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/10/06 13:45] – [1.2. Software Tools] samerexploring_lora [2018/10/06 14:04] – [4.3. [Classroom activity] Collisions and Packet Delivery Ratio] samer
Line 39: 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 65: 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 91: 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 106: Line 105:
 |       11            868.7      | |       11            868.7      |
 |       12            868.9      | |       12            868.9      |
- 
 ==== -. Running Basic Sketches ==== ==== -. Running Basic Sketches ====
  
Line 121: Line 119:
 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. For example, you can use 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. 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
 + 
 +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.,// 7, 9, and 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 146: Line 146:
  
 The setting for this experiment is unique: The setting for this experiment is unique:
- 
   * Only one server is required in the classroom. This server should compute the ratio of successfully delivered packets or PDR.   * Only one server is required in the classroom. This server should compute the ratio of successfully delivered packets or PDR.
   * All groups are required to use the same frequency, spreading factor, and coding rate.   * All groups are required to use the same frequency, spreading factor, and coding rate.
-  * On each client, packets will be generated following a Poisson process with the same average arrival rate for all groups. +  * On each client, the same average arrival rate for all groups. 
  
 <WRAP center round help 100%> <WRAP center round help 100%>
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer