esib_iot_challenge
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
esib_iot_challenge [2017/05/17 09:17] – samer | esib_iot_challenge [2017/05/17 10:24] – [2.2. Arduino with Dragino Shield] samer | ||
---|---|---|---|
Line 15: | Line 15: | ||
===== -. Devices ===== | ===== -. Devices ===== | ||
- | ==== -. Autonomo with LoRaBee ==== | ||
- | Starting with the devices in the LoRaWAN platform, we will use an [[http:// | + | ==== -. PC Configuration ==== |
+ | In orde to program the LoRaWAN devices, you should verify | ||
- | In order to configure the Autonomo with LoRaBee device, you should follow these steps: | + | * Arduino IDE |
+ | * LMIC Library | ||
- | - Verify that you have the latest Arduino IDE from [[https:// | ||
- | - Install the board files as noted in [[http:// | ||
- | - Add the following library {{ : | ||
- | |||
- | 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 {{ : | ||
- | <code c++> | ||
- | // USE YOUR OWN KEYS! | ||
- | const uint8_t devEUI[8] = | ||
- | { }; | ||
- | |||
- | // USE YOUR OWN KEYS! | ||
- | const uint8_t appEUI[8] = | ||
- | { }; | ||
- | |||
- | const uint8_t appKey[16] = | ||
- | { }; | ||
- | </ | ||
- | |||
- | The pins for connecting the sensors are specified in these declarations (A0 for light sensor, A2 for moisture sensor, and D0 temperature sensor): | ||
- | <code c++> | ||
- | int light_pin = A0; | ||
- | int moisture_pin = A2; | ||
- | int temperature_pin = 0; | ||
- | int temperature_vcc_pin = 1; | ||
- | int moisture_vcc_pin = 8; | ||
- | int moisture_gnd_pin = 7; | ||
- | </ | ||
- | |||
- | The OTAA method is used for joining the network and Adaptive Data Rate (ADR) is activated: | ||
- | <code c++> | ||
- | LoRaBee.initOTA(loraSerial, | ||
- | </ | ||
- | |||
- | Eight different sub channels are activated with data rate ranges from 0 to 5: | ||
- | <code c++> | ||
- | LoRaBee.configChFreq(0, | ||
- | LoRaBee.configChFreq(1, | ||
- | LoRaBee.configChFreq(2, | ||
- | LoRaBee.configChFreq(3, | ||
- | LoRaBee.configChFreq(4, | ||
- | LoRaBee.configChFreq(5, | ||
- | LoRaBee.configChFreq(6, | ||
- | LoRaBee.configChFreq(7, | ||
- | </ | ||
- | |||
- | Finally, the message containing the sensor values is sent in an unconfirmed uplink message: | ||
- | <code c++> | ||
- | LoRaBee.send(1, | ||
- | </ | ||
==== -. Arduino with Dragino Shield ==== | ==== -. Arduino with Dragino Shield ==== | ||
- | === -. Periodic Message Sending === | ||
- | Devices in the LoRaWAN platform | + | Devices in the LoRaWAN platform |
The pin mapping corresponds to the Dragino electronic schematic: | The pin mapping corresponds to the Dragino electronic schematic: | ||
Line 107: | Line 56: | ||
</ | </ | ||
- | The message containing the sensor values is transmitted on one of the radio channels | + | The message containing the sensor values is transmitted on one of the radio channels: |
<code c++> | <code c++> | ||
LMIC_setTxData2(1, | LMIC_setTxData2(1, | ||
- | </ | ||
- | |||
- | The adaptive data rate is not supported, and the spreading factor is configured as follows: | ||
- | <code c++> | ||
- | LMIC_setDrTxpow(DR_SF7, | ||
</ | </ | ||
esib_iot_challenge.txt · Last modified: 2021/08/28 09:53 by samer