deploying_lorawan
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
deploying_lorawan [2017/04/30 14:19] – [1.2. Arduino with Dragino Shield] samer | deploying_lorawan [2017/05/01 15:02] – [1.2. Arduino with Dragino Shield] samer | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Deploying an End-to-End LoRaWAN Platform ====== | ====== Deploying an End-to-End LoRaWAN Platform ====== | ||
- | Starting from September 2016, Saint-Joseph University of Beirut (USJ) will be deploying the first academic [[http:// | + | Starting from September 2016, Saint-Joseph University of Beirut (USJ) will be deploying the first academic [[http:// |
- | [{{ : | + | * Devices that communicate to one or more gateways via a wireless interface using single hop LoRa and implementing the LoRaWAN protocol. These devices are physically connected to sensors that generate data. |
+ | * Gateways or base stations that forward frames between | ||
+ | * A LoRAWAN backend that implements the network server functions and provides frame control and security. | ||
+ | * Applications that enable to visualize and store the sensor data obtained from the devices. | ||
+ | [{{ : | ||
===== -. Devices ===== | ===== -. Devices ===== | ||
==== -. Autonomo with LoRaBee ==== | ==== -. Autonomo with LoRaBee ==== | ||
- | For the devices in the LoRaWAN platform, we will use an Autonomo board with a LoRaBee | + | Starting with the devices in the LoRaWAN platform, we will use an [[http:// |
In order to configure the Autonomo with LoRaBee device, you should follow these steps: | In order to configure the Autonomo with LoRaBee device, you should follow these steps: | ||
Line 18: | Line 22: | ||
Now you are ready to write a sketch for the device. Here is one example sketch {{ : | Now you are ready to write a sketch for the device. Here is one example sketch {{ : | ||
- | In this part, you should put the keys for Over-The-Air Activation (OTAA) as explained in the LoRaWAN specification: | + | In this part, you should put the keys for Over-The-Air Activation (OTAA) as explained in the {{ : |
<code c++> | <code c++> | ||
// USE YOUR OWN KEYS! | // USE YOUR OWN KEYS! | ||
Line 36: | Line 40: | ||
int light_pin = A0; | int light_pin = A0; | ||
int moisture_pin = A2; | int moisture_pin = A2; | ||
- | |||
int temperature_pin = 0; | int temperature_pin = 0; | ||
int temperature_vcc_pin = 1; | int temperature_vcc_pin = 1; | ||
Line 43: | Line 46: | ||
</ | </ | ||
- | The OTAA method is used for joining the network and adaptive data rate is activated: | + | The OTAA method is used for joining the network and Adaptive Data Rate (ADR) is activated: |
<code c++> | <code c++> | ||
LoRaBee.initOTA(loraSerial, | LoRaBee.initOTA(loraSerial, | ||
Line 60: | Line 63: | ||
</ | </ | ||
- | Finally, the message is sent in an unconfirmed uplink message: | + | Finally, the message |
<code c++> | <code c++> | ||
LoRaBee.send(1, | LoRaBee.send(1, | ||
</ | </ | ||
==== -. Arduino with Dragino Shield ==== | ==== -. Arduino with Dragino Shield ==== | ||
+ | === -. Periodic Message Sending === | ||
- | Devices in the LoRaWAN platform can also be used on Arduino boards with Dragino shields. The combined module as well as the basic configuration steps are presented in [[simple_lora_prototype|Simple Prototype of LoRa Communications]]. | + | Devices in the LoRaWAN platform can also be implemented |
- | Do not forget | + | The pin mapping corresponds |
<code c++> | <code c++> | ||
const lmic_pinmap lmic_pins = { | const lmic_pinmap lmic_pins = { | ||
Line 78: | Line 82: | ||
</ | </ | ||
- | The send function is called upon after each transmission complete event: | + | The send function is rescheduled TX_INTERVAL seconds |
<code c++> | <code c++> | ||
case EV_TXCOMPLETE: | case EV_TXCOMPLETE: | ||
Line 93: | Line 97: | ||
</ | </ | ||
- | This is explicitly the send function | + | The send function |
+ | <code c++> | ||
+ | do_send(& | ||
+ | </ | ||
+ | |||
+ | The message containing the sensor values | ||
<code c++> | <code c++> | ||
LMIC_setTxData2(1, | LMIC_setTxData2(1, | ||
</ | </ | ||
- | You can modify the spreading factor here (Adaptive | + | The adaptive |
<code c++> | <code c++> | ||
LMIC_setDrTxpow(DR_SF7, | LMIC_setDrTxpow(DR_SF7, | ||
</ | </ | ||
- | Schedule the send function: | + | === -. Triggered Message Sending === |
- | <code c++> | + | |
- | do_send(& | + | You can also find another example of sketch to download: {{ : |
- | </ | + | |
===== -. Gateways ===== | ===== -. Gateways ===== | ||
==== -. Single Channel Gateway ==== | ==== -. Single Channel Gateway ==== | ||
Line 144: | Line 152: | ||
</ | </ | ||
- | Now, you need to configure the single channel packet forwarder. This is done in the '' | + | Now, you need to configure the single channel packet forwarder. This is done in the {{ : |
- | + | ||
- | <file | global_config.json> | + | |
- | { | + | |
- | " | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | " | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | + | ||
- | " | + | |
- | " | + | |
- | " | + | |
- | + | ||
- | " | + | |
- | [ | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | ] | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
Finally, you can run the packet forwarder as root! | Finally, you can run the packet forwarder as root! |
deploying_lorawan.txt · Last modified: 2021/08/28 09:50 by samer