HAN-IOT-LAB-2324 / CayenneLPP_MemOptimized

Cayenne Low Power Payload (LLP)
https://han-iot-lab-2324.github.io/CayenneLPP_MemOptimized/
GNU General Public License v3.0
0 stars 1 forks source link

Roadmap; Some initial questions #4

Closed Hoog-V closed 3 months ago

Hoog-V commented 4 months ago

Introduction

As you might have noticed a PR was opened that had a first try at refactoring this library: #2

However I don't want to decide myself, what this library should eventually look like. It is way more useful to collaborate with you on this subject.

Compatibility

Payload format

The original format left more room for dynamically sending different types over the medium. As the payload type is identified with an unique id that the decoder at the other side of the medium understands.

In recent years the usage of serialization using protobuffers has increased significantly. Opposed to the current design this serialization technique does not send the payload type id but instead assumes that the other side of the medium knows the payload format. Meaning you can not dynamically send a byte, the decoder has to know what type is being sent.

Protobuffers are more efficient for continuous datastreams. We could incoporate this into the design..

What is the difference between protobuffers and creating your own raw data protocol

Using the protobuf project from Google gives tools to create the format to send over the medium. Using this you can automatically generate the structures and header files needed to implement at encoder and decoder side.