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:35] – [3. Devices] samer | esib_iot_challenge [2017/05/23 16:45] – [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 119: | 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 | | ||
+ | | Node-RED example flow | | ||
+ | | [[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 scripting (for example python) | | ||
+ | | 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