Skip to content

HAN-IoT-LAB/TheThingsNetwork-IoT-Application-DemoApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheThingsNetwork IoT-Application-DemoApp

This repository contains a demonstrative dashboard for highlighting the system's key operation using the created En- & Decoder IoT software. The project's objective was to create an improved maintainable and scaleable IoT device-application structure, with the LoRaWAN and TheThingsNetwork technology.

The scope of this project was within educational course of the Internet-of-Things LAB during semester 2324 class, for the Hogeschool Arnhem Nijmegen Embedded Systems Engineering (Applied Science, Bachelor) program.

Demo

Here is an example of a dashboard: Example of the Dashboard On the left a simple dashboard using the Panda package plots figures. On the right a terminal (integrate in VScode) shows the log of the raw api fetched data and the parsed in the system's structure.

Engineering Constraints

Due to educational context were imposed on the project:

  • Arduino compatibility (interpreted as PlatformIO acceptable).
  • Reduction of Library Footprint.
  • Doxygen documentation.
  • Use of the provided hardware: KISS-NODE and IOT-NODE.
  • Use of TheThingsNetwork for LoRaWAN backend solution.
  • Refactoring of CayenneLPP payload.
  • Copyright 'licensed'.

The decive objective was however to learn and implement a reliable, maintainable and scaleable Low Power Wide-Area (LPWA) IoT deployment structure concept.

Operation Essentials

Here is a broad overview of how the this IoT setup works:

  • Encoder: Defines the payload protocol structure based on CayenneLPP, more details are found in the respective repo ENCODER.
  • Sending over LoRa to TheThingsNetwork (TTN) LoRaWAN server.
  • Decoding: On the TTN the payload is decoded using Javascript, more details are found in TTN_Decoder.
  • Applicational Distribution: In this repo an example of a figurative dashboard is demonstrated, using the keepAndFetch TTN mechanism through the REST API.

Conclusion

The repo acts as a Python based example for getting the data from TheThingsNetwork for applicational distrubution useage. This was outside of the initial assignement scope, however a crucial step in IoT to succeed at.

The recommendation is to take this as a starting point for understanding how to fetch and parse data from TTN server. The code is absolutely a not well designed, it is just created using 'quick and dirty' approach for because it was not a high priority.

License and Copyright

This Python TheThingsNetwork IoT App and its associated libraries are distributed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by-nc/4.0/), acknowledging the contributions of Tristan Bosveld, Klaasjan Wagenaar, and Richard Kroesen.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

About

TheThingsNetwork applicational example for the created En- & Decoder.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages