exploring_lora
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
exploring_lora [2018/09/30 10:28] – [3.1. Modifying the Radio Parameters] samer | exploring_lora [2019/10/10 11:03] – [4.2. [Classroom activity] Collisions and Packet Delivery Ratio] 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 |
* LoRa shields from [[http:// | * LoRa shields from [[http:// | ||
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. |
</ | </ | ||
- | |||
==== -. Software Tools ==== | ==== -. Software Tools ==== | ||
Line 34: | Line 33: | ||
<WRAP center round tip 75%> | <WRAP center round tip 75%> | ||
- | Note well the location | + | Make sure to restart your computer after the installation |
</ | </ | ||
+ | |||
+ | |||
==== -. Installation ==== | ==== -. Installation ==== | ||
Line 44: | Line 45: | ||
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 '' | 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 '' | ||
- | Now, you have to choose the '' | + | Now, you have to choose the '' |
<WRAP center round tip 75%> | <WRAP center round tip 75%> | ||
- | For Arduino Mega 2560, additional drivers for Microsoft Windows can be installed from [[http:// | + | For Arduino Mega 2560, additional drivers for Microsoft Windows |
- | </WRAP> | + | For Arduino Duemilanove, |
+ | [[https:// | ||
+ | </ | ||
===== -. Theoretical Study ===== | ===== -. Theoretical Study ===== | ||
Line 55: | Line 58: | ||
<WRAP left round help 100%> | <WRAP left round help 100%> | ||
- | * What is the relation between processing gain and spreading factor in LoRa modulation? | + | * What is the relation between processing gain and spreading factor in LoRa modulation? |
* 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 | + | * What is the transmission bit rate for each of the following |
+ | * 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, | * Compute the receiver sensitivity, | ||
* Compare the computed sensitivity to that provided by the {{ : | * Compare the computed sensitivity to that provided by the {{ : | ||
Line 67: | Line 73: | ||
==== -. Modifying the Radio Parameters ==== | ==== -. Modifying the Radio Parameters ==== | ||
- | Download the {{ : | + | Download the {{ : |
- | Take a look at the source code in '' | + | Take a look at the source code in '' |
* Central frequency | * Central frequency | ||
Line 93: | Line 99: | ||
</ | </ | ||
- | In order to reduce collisions, configure the central frequency of your LoRa devices as indicated below: | + | In order to reduce collisions |
^ Group Number | ^ Group Number | ||
Line 108: | Line 114: | ||
| | | | ||
| | | | ||
- | |||
==== -. Running Basic Sketches ==== | ==== -. Running Basic Sketches ==== | ||
- | 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 | + | 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 packet |
[{{ : | [{{ : | ||
Line 121: | Line 126: | ||
==== -. 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 | + | In this section, you will measure the Time on Air (ToA) that is given by the time necessary to transmit a packet |
- | Start by implementing a function on the client that measures the time necessary for sending a message. For example, you can use the [[https:// | + | Start by implementing a function on the client that measures the time necessary for sending a packet. You can have recourse to the [[https:// |
+ | |||
+ | For example, the scenario for assessing the impact of the spreading factor on the ToA consists of sending 100 packets 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. | ||
+ | |||
+ | As for the theoretical computation of the ToA, you can refer to the the following documents : | ||
+ | |||
+ | * The Semtech [[http:// | ||
+ | * An explanatory video: https:// | ||
+ | * Various calculation tools available online: https:// | ||
+ | |||
+ | Note that all messages sent and received by the [[https:// | ||
+ | |||
+ | * 8 symbol PREAMBLE | ||
+ | * Explicit header with header CRC (handled internally by the radio) | ||
+ | * 4 octets HEADER: (TO, FROM, ID, FLAGS) | ||
+ | * 0 to 251 octets DATA | ||
+ | * CRC (handled internally by the radio) | ||
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
Line 131: | Line 152: | ||
* Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the experimental ones on the same graph. | * Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the experimental ones on the same graph. | ||
</ | </ | ||
- | ==== -. Coverage ==== | ||
- | 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: | ||
- | |||
- | <WRAP center round help 100%> | ||
- | * Draw the test points on a map and motivate your choices. | ||
- | * Describe the radio configurations you selected and their impact on the reliability of the transmission. | ||
- | * Visualise the experimental results by plotting the PDR for each TP and each radio configuration. | ||
- | * Analyze the obtained results. | ||
- | </ | ||
==== -. [Classroom activity] Collisions and Packet Delivery Ratio ==== | ==== -. [Classroom activity] Collisions and Packet Delivery Ratio ==== | ||
Line 148: | Line 158: | ||
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. | + | * The average |
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
Line 159: | Line 168: | ||
===== -. Coverage Challenge ===== | ===== -. Coverage Challenge ===== | ||
- | In this section, you are required to establish a record of LoRa coverage. You can certainly unleash your scientific imagination, | + | Start by identifying a set of three 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: |
+ | |||
+ | <WRAP center round help 100%> | ||
+ | * Draw the test points on a map and motivate your choices. | ||
+ | * Describe the radio configurations you selected and their impact on the reliability of the transmission. | ||
+ | * Visualise the experimental results by plotting the PDR for each TP and each radio configuration. | ||
+ | * Analyze the obtained results. | ||
+ | </ | ||
+ | |||
+ | You are now required to establish a record of LoRa coverage. You can certainly unleash your scientific imagination, | ||
* Direct transmission between the two devices is only considered. | * Direct transmission between the two devices is only considered. | ||
- | * 3D distance is computed between devices. | + | * 3D distance is computed between devices. You can get the elevation from this [[ http:// |
- | * PDR must be higher than 10% as computed for 100 packets. | + | * PDR must be higher than 10% as computed for 100 packets. |
+ | * Supporting live video and screen capture should be used to authenticate the record. | ||
+ | |||
+ | You can use the [[https:// | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Take a look at this tool [[http:// | ||
+ | </ | ||
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
- | * Compute the Fresnel zone for your transmission. | + | * Compute the Fresnel zone for your transmission |
- | * Provide the expression of the link budget and compute the received power using two different | + | * Provide the expression of the link budget and compute the received power using two different |
- | * Compare the received power obtained experimentally with the theoretical | + | * Compare the received power obtained experimentally with the results |
- | * Write an article | + | * Prepare a short presentation |
+ | </ | ||
+ | |||
+ | <WRAP center round important 75%> | ||
+ | This challenge and the corresponding grading is considered as a part of the final project. | ||
</ | </ | ||
===== -. Grading ===== | ===== -. Grading ===== | ||
- | | ^ Exemplary | + | | |
- | ^ Answer | + | ^ Techniques for Engineering Practice |
- | ^ Design experiments | + | ^ Skills for Engineering Practice |
- | ^ Analyse results | + | ^ Engineering tools | Students showed advanced ability |
+ | ^ Problem solving | ||
+ | ^ Results and analysis | ||
+ | ^ Motivation, initiative, and creativity | ||
+ | ^ Written communication skills | ||
+ | ^ Scientific referencing |
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer