wikiroute

networking recipes

User Tools

Site Tools


esib_iot_challenge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
esib_iot_challenge [2017/07/20 22:37] – [6.2. Nausicaa Challenge] sameresib_iot_challenge [2021/08/28 09:53] (current) samer
Line 3: Line 3:
 Welcome to the ESIB IoT Challenge. In this challenge, you will be designing and prototyping the first IoT services based on a LoRaWAN network. Welcome to the ESIB IoT Challenge. In this challenge, you will be designing and prototyping the first IoT services based on a LoRaWAN network.
  
-===== -Platform =====+===== - Platform =====
  
 During this challenge, you will benefit from the first experimental platform implementing an end-to-end LoRaWAN solution in Lebanon. The platform consists of the following elements: During this challenge, you will benefit from the first experimental platform implementing an end-to-end LoRaWAN solution in Lebanon. The platform consists of the following elements:
Line 22: Line 22:
   * What elements are IP enabled in the platform? What do you think about IP support in IoT?    * What elements are IP enabled in the platform? What do you think about IP support in IoT? 
 </WRAP> </WRAP>
-===== -Backend =====+===== - Backend =====
 In a LoRaWAN network, the devices communicate with a Network Server through the gateway. The backend installed in the platform is based on an open-source LoRaWAN network-server https://www.loraserver.io. A web interface is available for configuring the applications and devices on the platform (https://212.98.XX.XX:8080). In a LoRaWAN network, the devices communicate with a Network Server through the gateway. The backend installed in the platform is based on an open-source LoRaWAN network-server https://www.loraserver.io. A web interface is available for configuring the applications and devices on the platform (https://212.98.XX.XX:8080).
  
Line 42: Line 42:
   * What is the difference between the two receive windows in LoRaWAN? What are they used for?     * What is the difference between the two receive windows in LoRaWAN? What are they used for?  
 </WRAP> </WRAP>
-===== -Devices =====+===== - Devices =====
  
 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 [[simple_lora_prototype|Simple Prototype of LoRa Communications]].  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 [[simple_lora_prototype|Simple Prototype of LoRa Communications]]. 
Line 115: Line 115:
   * 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.
 </WRAP> </WRAP>
-===== -Applications =====+===== - Applications =====
 mqtt-spy is an open source utility intended to help you with monitoring activity on MQTT topics. It has been designed to deal with high volumes of messages, as well as occasional publications. mqtt-spy is a JavaFX application, so it should work on any operating system with an appropriate version of Java 8 installed. A very useful tutorial is available on [[https://github.com/eclipse/paho.mqtt-spy/wiki]]. mqtt-spy is an open source utility intended to help you with monitoring activity on MQTT topics. It has been designed to deal with high volumes of messages, as well as occasional publications. mqtt-spy is a JavaFX application, so it should work on any operating system with an appropriate version of Java 8 installed. A very useful tutorial is available on [[https://github.com/eclipse/paho.mqtt-spy/wiki]].
 You can use mqtt-spy to debug the messages received from the LoRaWAN devices. The tool is provided at the beginning of the challenge. After starting the application, configure a new connection to the MQTT broker by simply adding the IP address of the broker in the ''Server URI'' field. Now you can subscribe to any MQTT topic. If you want to receive all messages arriving at the backend, you can use the generic topic ''#''. You can also limit to the topic including the messages of any specific device: ''application/APPLICATION_ID/node/DEVICE_EUI/rx'' You can use mqtt-spy to debug the messages received from the LoRaWAN devices. The tool is provided at the beginning of the challenge. After starting the application, configure a new connection to the MQTT broker by simply adding the IP address of the broker in the ''Server URI'' field. Now you can subscribe to any MQTT topic. If you want to receive all messages arriving at the backend, you can use the generic topic ''#''. You can also limit to the topic including the messages of any specific device: ''application/APPLICATION_ID/node/DEVICE_EUI/rx''
Line 140: Line 140:
 } }
 </code> </code>
-===== -Day One Challenges =====+===== - Day One Challenges =====
  
-==== -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.
  
-==== -The Downlink Challenge ====+==== - The Downlink Challenge ====
 I can send data from the application to the device. I can send data from the application to the device.
  
-==== -The Radio Challenge ====+==== - The Radio Challenge ====
 I can tune the LoRa radio parameters and assess the results. I can tune the LoRa radio parameters and assess the results.
  
Line 157: Line 157:
 LMIC_setDrTxpow(DR_SF12,14); LMIC_setDrTxpow(DR_SF12,14);
 </code> </code>
-==== -The Sensor Challenge ====+==== - The Sensor Challenge ====
 I can use different sensors to send data from the device: PIR, moisture, temperature, light, etc.  I can use different sensors to send data from the device: PIR, moisture, temperature, light, etc. 
  
-===== -Day Two Challenges =====+===== - Day Two Challenges =====
  
-==== -The Wind Rises ====+==== - The Wind Rises ====
  
 This is a mandatory challenge. It consists of using [[https://nodered.org|Node-RED]] to receive data from the sensors (via MQTT) and send it to [[https://emoncms.org|emoncms]] for visualization. This is a mandatory challenge. It consists of using [[https://nodered.org|Node-RED]] to receive data from the sensors (via MQTT) and send it to [[https://emoncms.org|emoncms]] for visualization.
Line 175: Line 175:
 | GUI configuration | | GUI configuration |
 | Two drops of IoT design | | Two drops of IoT design |
-==== -Nausicaa Challenge ====+==== - Nausicaa Challenge ====
  
 You have to take control on the devices. Use some scripting to send commands or tune some parameters on the devices. You have to take control on the devices. Use some scripting to send commands or tune some parameters on the devices.
Line 184: Line 184:
 | Two drops of IoT autocracy | | Two drops of IoT autocracy |
  
-==== -Totoro Challenge ====+==== - Totoro Challenge ====
  
 You have to store the sensor data in a database. Use Node-RED to inject data in a (influx) database. You have to store the sensor data in a database. Use Node-RED to inject data in a (influx) database.
Line 192: Line 192:
 | Two drops of IoT resilience | | Two drops of IoT resilience |
  
-==== -Kiki Challenge ====+==== - Kiki Challenge ====
  
 You have to implement a radio coverage test on the campus.  You have to implement a radio coverage test on the campus. 
Line 199: Line 199:
 | Basic scripting |  | Basic scripting | 
 | Two drops of IoT ubiquity |  | Two drops of IoT ubiquity | 
-==== -Mononoke Challenge ====+==== - Mononoke Challenge ====
  
 You have to implement a chat bot designed for working with Google Hangouts. The bot answers requests and reveals sensors data. You have to implement a chat bot designed for working with Google Hangouts. The bot answers requests and reveals sensors data.
esib_iot_challenge.1500583042.txt.gz · Last modified: 2017/07/20 22:37 by samer