diff --git a/README.md b/README.md index cacd979..86cbdd5 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,36 @@ -# LoraWAN-Payload-encoder-decoder +# LoRaWAN Payload Encoder-Decoder: CayenneLPP Extreme -## Brief -This repository hosts a header-only arduino library, representing an enhanced version of the original CayenneLPP library. It has been refactored to align with the requirements of the HAN IoT-LAB 23/24 class, focusing on applications within LoRaWAN and The Things Network ecosystems. +Welcome to the implementation repository for HAN IoT-LAB of 2324 (semester 6) Embedded Systems Engineering. The IoT-LAB is within context of LoRaWAN as a educational vechicle for introduction to the realm of IoT applicational dev. -This tailored adaptation aims to provide a robust foundation for projects operating in these domains, facilitating a seamless integration and a more efficient deployment process. + **LoRaWAN Payload Encoder Library**, This repository contains a header-only Arduino library that transcends the original CayenneLPP framework, tailored for memory footprint optimalization for projects nestled within the realms of LoRaWAN and The Things Network (TTN). -## How to use +This repo is an experimental environment, so a sandbox, and also contains demonstrational embedded deployment program in the src folder. Which is heavily refactored because it was not practical for even simple experimentation. -## Performance upgrade -The payload encoder has been enhanced to 400 bytes less than the original encoder +## Repo Structure: -## License -This repository's code has a Creative Commons Attribution-NonCommercial 4.0 International License, any other documentation is copyrighted by the authors. +- **src Folder**: Contains demonstration programs for embedded deployment, which have been refactored for enhanced usability and experimentation. [original reference](https://gitlab.com/wlgrw/han-iot-kiss-lora/-/tree/master/LoRa_TX_RX_Cayenne_HAN?ref_type=heads) +- **lib Folder**: Includes external libraries or those provided by the course. +- **include Folder**: Houses the developed library for this course. + +## Features + +- **Header-Only Arduino Library**: Simplifies integration and streamlines your workflow, ensuring a seamless development experience. +- **Optimized for Efficiency**: Reduces payload size significantly, offering a more resource-efficient solution that's 400 bytes leaner than the original. +- **Broad Sensor Support**: From environmental monitoring to motion detection, this library decodes a wide array of sensor data, paving the way for versatile IoT applications. +- **Precision and Compatibility**: Meticulously crafted to ensure high precision and compatibility across different platforms and devices within the LoRaWAN ecosystem. + +## Getting Started +Explore this libary yourself by copying the headers: +[CayenneLPP.hpp](./include/CayenneLPP.hpp) and [CayenneReferences.hpp](./include/CayenneReferences.hpp) files. + +Or get the Arduino zipped library in the newest releases. + +## Demonstration Device +The KISS node is used for payload encoding. +![HAN-IoT KISS LORA NODE](images/han-iot-kiss-node-example.png) +*Image by Remko Welling from* [*this repository*](https://gitlab.com/wlgrw/han-iot-kiss-lora/-/blob/master/README.md?ref_type=heads). ## Copyright Notice The CayenneLPP Extreme library is free: You can redistribute it and/or modify it under the terms of a Creative Commons Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by-nc/4.0/) by Richard Kroesen, Klaasjan Wagenaar and Tristan Bosveld. -Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. - +Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. \ No newline at end of file diff --git a/docs/cp_README.md b/docs/cp_README.md new file mode 100644 index 0000000..86cbdd5 --- /dev/null +++ b/docs/cp_README.md @@ -0,0 +1,36 @@ +# LoRaWAN Payload Encoder-Decoder: CayenneLPP Extreme + +Welcome to the implementation repository for HAN IoT-LAB of 2324 (semester 6) Embedded Systems Engineering. The IoT-LAB is within context of LoRaWAN as a educational vechicle for introduction to the realm of IoT applicational dev. + + **LoRaWAN Payload Encoder Library**, This repository contains a header-only Arduino library that transcends the original CayenneLPP framework, tailored for memory footprint optimalization for projects nestled within the realms of LoRaWAN and The Things Network (TTN). + +This repo is an experimental environment, so a sandbox, and also contains demonstrational embedded deployment program in the src folder. Which is heavily refactored because it was not practical for even simple experimentation. + +## Repo Structure: + +- **src Folder**: Contains demonstration programs for embedded deployment, which have been refactored for enhanced usability and experimentation. [original reference](https://gitlab.com/wlgrw/han-iot-kiss-lora/-/tree/master/LoRa_TX_RX_Cayenne_HAN?ref_type=heads) +- **lib Folder**: Includes external libraries or those provided by the course. +- **include Folder**: Houses the developed library for this course. + +## Features + +- **Header-Only Arduino Library**: Simplifies integration and streamlines your workflow, ensuring a seamless development experience. +- **Optimized for Efficiency**: Reduces payload size significantly, offering a more resource-efficient solution that's 400 bytes leaner than the original. +- **Broad Sensor Support**: From environmental monitoring to motion detection, this library decodes a wide array of sensor data, paving the way for versatile IoT applications. +- **Precision and Compatibility**: Meticulously crafted to ensure high precision and compatibility across different platforms and devices within the LoRaWAN ecosystem. + +## Getting Started +Explore this libary yourself by copying the headers: +[CayenneLPP.hpp](./include/CayenneLPP.hpp) and [CayenneReferences.hpp](./include/CayenneReferences.hpp) files. + +Or get the Arduino zipped library in the newest releases. + +## Demonstration Device +The KISS node is used for payload encoding. +![HAN-IoT KISS LORA NODE](images/han-iot-kiss-node-example.png) +*Image by Remko Welling from* [*this repository*](https://gitlab.com/wlgrw/han-iot-kiss-lora/-/blob/master/README.md?ref_type=heads). + +## Copyright Notice +The CayenneLPP Extreme library is free: You can redistribute it and/or modify it under the terms of a Creative Commons Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by-nc/4.0/) by Richard Kroesen, Klaasjan Wagenaar and Tristan Bosveld. + +Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. \ No newline at end of file diff --git a/images/han-iot-kiss-node-example.png b/images/han-iot-kiss-node-example.png new file mode 100644 index 0000000..edff29c Binary files /dev/null and b/images/han-iot-kiss-node-example.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 44193aa..c2a47d1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -35,5 +35,7 @@ nav: - src types: Doxygen\_cayenne_references_8hpp_source.md - Unit Testing: Unit_tests_overview.md - Decoder: TTN_decoder.md + - README: 'cp_README.md' + copyright: Copyright (c) 2024 March by Klaasjan Wagenaar, Tristan Bosveld and Richard Kroesen \ No newline at end of file