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 22:27] – [4. Applications] samer | esib_iot_challenge [2017/05/23 18:48] – [6.2. Nausicaa Challenge] samer | ||
---|---|---|---|
Line 96: | Line 96: | ||
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 a USB port on your PC, choose the board type as '' | ||
+ | |||
+ | <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 102: | Line 106: | ||
* What is the radio transmit parameters of the captured debug messages? | * What is the radio transmit parameters of the captured debug messages? | ||
* What is the radio receive parameters of the captured debug messages for the two receive windows? | * What is the radio receive parameters of the captured debug messages for the two receive windows? | ||
+ | </ | ||
+ | |||
+ | Getting back to the backend, you can monitor some important information related to your device. Click on the corresponding node session. | ||
+ | |||
+ | <WRAP left round help 100%> | ||
+ | * What are the different fields that appear in the node session corresponding to you device? | ||
+ | * 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. | ||
</ | </ | ||
===== -. Applications ===== | ===== -. Applications ===== | ||
Line 111: | Line 123: | ||
* What are the possible strengths and weaknesses in terms of security of MQTT? | * What are the possible strengths and weaknesses in terms of security of MQTT? | ||
* What are the different types of topics used by the backend? Explain. | * What are the different types of topics used by the backend? Explain. | ||
- | * Explain the different fields in a captured MQTT message received from you device. | + | * Explain the different fields in a captured MQTT message received from you device. |
</ | </ | ||
- | ===== -. The End-to-End Challenge ===== | ||
- | ===== -. The Downlink Challenge ===== | + | <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 Radio Challenge ===== | + | If you need to send data to your device, you should publish the encoded message in the corresponding topic '' |
- | + | ||
- | < | + | |
- | // | + | |
- | // | + | |
- | // LMIC_disableChannel(3); | + | |
- | // LMIC_disableChannel(4); | + | |
- | // LMIC_disableChannel(5); | + | |
- | // LMIC_disableChannel(6); | + | |
- | // LMIC_disableChannel(7); | + | |
- | // LMIC_disableChannel(8); | + | |
- | // LMIC_setDrTxpow(DR_SF10, | + | |
- | </ | + | |
< | < | ||
{ | { | ||
- | | + | |
- | "applicationName": | + | "confirmed": |
- | "data": " | + | " |
- | " | + | "data": "...." |
- | " | + | |
- | " | + | |
- | "nodeName": "NTRE-G1", | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }], | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | " | + | |
- | } | + | |
} | } | ||
</ | </ | ||
+ | ===== -. Day One Challenges ===== | ||
+ | |||
+ | ==== -. The End-to-End Challenge ==== | ||
+ | I can send data from the device to the application. | ||
+ | |||
+ | ==== -. The Downlink Challenge ==== | ||
+ | I can send data from the application to the device. | ||
+ | |||
+ | ==== -. The Radio Challenge ==== | ||
+ | I can tune the LoRa radio parameters and assess the results. | ||
+ | |||
+ | These two commands can be helpful when used after the join event: | ||
+ | |||
+ | <code c++> | ||
+ | LMIC_disableChannel(N); | ||
+ | LMIC_setDrTxpow(DR_SF12, | ||
+ | </ | ||
+ | ==== -. The Sensor Challenge ==== | ||
+ | I can use different sensors to send data from the device: PIR, moisture, temperature, | ||
+ | |||
+ | ===== -. Day Two Challenges ===== | ||
+ | |||
+ | ==== -. The Wind Rises ==== | ||
+ | |||
+ | This is a mandatory challenge. It consists of using [[https:// | ||
+ | |||
+ | ^ Provided material ^ | ||
+ | | VM with Node-RED installed | | ||
+ | | {{ : | ||
+ | | [[https:// | ||
+ | |||
+ | ^ Required skills ^ | ||
+ | | Basic javascript | | ||
+ | | GUI configuration | | ||
+ | | Two drops of IoT design | | ||
+ | ==== -. Nausicaa Challenge ==== | ||
+ | |||
+ | You have to take control on the devices. Use some scripting to send commands or tune some parameters on the devices. | ||
+ | |||
+ | ^ Required skills ^ | ||
+ | | {{ : | ||
+ | | Basic electronics | | ||
+ | | Two drops of IoT autocracy | | ||
+ | |||
+ | ==== -. Totoro Challenge ==== | ||
+ | |||
+ | You have to store the sensor data in a database. Use Node-RED to inject data in a (influx) database. | ||
+ | |||
+ | ^ Required skills ^ | ||
+ | | Basic database | | ||
+ | | Two drops of IoT resilience | | ||
+ | |||
+ | ==== -. Kiki Challenge ==== | ||
+ | |||
+ | You have to implement a radio coverage test on the campus. | ||
+ | |||
+ | ^ Required skills ^ | ||
+ | | Basic scripting | | ||
+ | | Two drops of IoT ubiquity | | ||
+ | ==== -. Mononoke Challenge ==== | ||
+ | |||
+ | You have to implement a chat bot designed for working with Google Hangouts. The bot answers requests and reveals sensors data. | ||
+ | |||
+ | |||
+ | ^ Required skills ^ | ||
+ | | Basic scripting with python | | ||
+ | | Two drops of IoT robot attitude | |
esib_iot_challenge.txt · Last modified: 2021/08/28 09:53 by samer