A single utility jar to use in a Java project to encode and decode LoRaWan Manufactures Payloads.
Gradle:
maven {
url "http://oss.sonatype.org/content/repositories/snapshots"
}
dependencies {
implementation "com.davidparry:lora-codecs:0.0.1-SNAPSHOT"
}
- Keep it simple - since it only aims to do one thing well it has no dependencies on other third-party libraries.
- Memory footprint - you will see that most of the classes and data is static. This choice is the nature of the device it self where updates to how it encodes or decodes the data is completed when manufacturing is done. This is good for us since all we really need to do is define the encoding and decoding in a class that represents the sensor.
- Updates - These sensors are not updated they will last up to 10 years in most cases, so instead we would have new versions and at that time if a new way of encode/decode takes place it will be published.
- Cayenne Low Power Payload - https://github.com/myDevicesIoT/cayenne-docs I have found that Cayenne is the leader in describing the payload and it appears that most take and modify what they have or created. This is not a one for one and the project does not have a working java jar. But you will see reference and I hava a class for Cayenne since Tektelic is very similar in their payloads.
decode or encode payload nothing main deal is to have it simple but easy to add or add too without incurring technical debt.
LoRaWan is the main Specification, it uses a Low Power Wide Area (LPWA) network protocol designed to wirelessly connect battery operated ‘things’ to the internet in regional, national or global networks. The protocol includes features that support low-cost, mobile, and secure bi-directional communication for Internet of Things (IoT). Link: https://lora-alliance.org/lorawan-for-developers