exploring_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 | ||
exploring_lorawan [2018/10/29 10:48] – [2. Backend] samer | exploring_lorawan [2018/11/27 11:06] – [5.1. The End-to-End Challenge] samer | ||
---|---|---|---|
Line 13: | Line 13: | ||
[{{ : | [{{ : | ||
+ | |||
+ | {{ : | ||
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
Line 34: | Line 36: | ||
<WRAP left round help 100%> | <WRAP left round help 100%> | ||
* What does the application key mean? How is it used in LoRaWAN security? | * What does the application key mean? How is it used in LoRaWAN security? | ||
- | * Compare the two device activation methods used in LoRaWAN by giving the advantages and inconvenients. | + | * Compare the two device activation methods used in LoRaWAN by giving the advantages and shortcomings. |
</ | </ | ||
===== -. Devices ===== | ===== -. Devices ===== | ||
Line 40: | Line 42: | ||
Devices in the LoRaWAN platform are implemented on Arduino boards with Dragino shields. The combined module as well as the basic configuration steps are presented in [[exploring_lora|Exploring LoRa lab]]. | Devices in the LoRaWAN platform are implemented on Arduino boards with Dragino shields. The combined module as well as the basic configuration steps are presented in [[exploring_lora|Exploring LoRa lab]]. | ||
- | Start by verifying the installation on your PC of the latest Arduino IDE. Unzip the Arduino {{ : | + | Start by verifying the installation on your PC of the latest Arduino IDE. Unzip the Arduino {{ : |
- | Now you should configure your device with the same identifiers | + | Now you should configure your device with the same identifiers '' |
<code c++> | <code c++> | ||
- | static const u1_t PROGMEM APPEUI[8]= { }; | + | // Change this! |
- | void os_getArtEui (u1_t* buf) { memcpy_P(buf, | + | // This should also be in little endian format, see below. |
- | + | ||
- | // This should also be in little endian format, see above. | + | |
static const u1_t PROGMEM DEVEUI[8]= { }; | static const u1_t PROGMEM DEVEUI[8]= { }; | ||
void os_getDevEui (u1_t* buf) { memcpy_P(buf, | void os_getDevEui (u1_t* buf) { memcpy_P(buf, | ||
+ | // Change this! | ||
static const u1_t PROGMEM APPKEY[16] = { }; | static const u1_t PROGMEM APPKEY[16] = { }; | ||
void os_getDevKey (u1_t* buf) { memcpy_P(buf, | void os_getDevKey (u1_t* buf) { memcpy_P(buf, | ||
Line 57: | Line 58: | ||
<WRAP left round tip 100%> | <WRAP left round tip 100%> | ||
- | Note that the device | + | Note that the device |
</ | </ | ||
- | Let us analyze | + | Let us analyze |
<WRAP left round help 100%> | <WRAP left round help 100%> | ||
Line 68: | Line 69: | ||
</ | </ | ||
- | The LMIC library defines a set of events corresponding to the protocol machine state. These events appear in the '' | + | The LMIC library |
<WRAP left round help 100%> | <WRAP left round help 100%> | ||
Line 83: | Line 84: | ||
</ | </ | ||
- | Now you are ready to compile the sketch and upload it to the LoRaWAN device. Connect the device a USB port on your PC, choose the board type as '' | + | Now you are ready to compile the sketch and upload it to the LoRaWAN device. Connect the device |
- | + | ||
- | <WRAP left round tip 100%> | + | |
- | For Arduino Mega 2560, additional drivers can be installed on Windows from http:// | + | |
- | </ | + | |
Open the serial monitor in the Arduino IDE at 115200 baud and analyse the debug messages. | Open the serial monitor in the Arduino IDE at 115200 baud and analyse the debug messages. | ||
Line 96: | Line 93: | ||
</ | </ | ||
- | Getting back to the backend, you can monitor some important information related to your device. Click on the corresponding | + | Getting back to the backend, you can monitor some important information related to your device. Click on the corresponding |
<WRAP left round help 100%> | <WRAP left round help 100%> | ||
- | * What are the different fields that appear in the node session | + | * What are the different fields that appear in the device activation |
* Explain how each field is created according to the LoRaWAN specification. | * Explain how each field is created according to the LoRaWAN specification. | ||
* What are the different counters visible at the backend? Explain how they get incremented and how they are used. | * What are the different counters visible at the backend? Explain how they get incremented and how they are used. | ||
Line 116: | Line 113: | ||
<WRAP left round tip 100%> | <WRAP left round tip 100%> | ||
- | The payload received by the MQTT client is decrypted but encoded in Base64. You should decode it to get the original message. | + | The payload received by the MQTT client is decrypted but encoded in Base64. You should decode it to get the original message |
</ | </ | ||
Line 123: | Line 120: | ||
< | < | ||
{ | { | ||
- | " | ||
" | " | ||
" | " | ||
Line 138: | Line 134: | ||
==== -. The End-to-End Challenge ==== | ==== -. The End-to-End Challenge ==== | ||
I can send data from the device to the application. | I can send data from the device to the application. | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Note that the `String` function can be used to cast the message you want to send in a string format. | ||
+ | </ | ||
==== -. The Downlink Challenge ==== | ==== -. The Downlink Challenge ==== |
exploring_lorawan.txt · Last modified: 2021/11/02 06:31 by samer