|
Friendly LWM2M client
|
Welcome to the Friendly LWM2M client documentation. Here you will find an overview of the project, build instructions, architecture details, usage examples, and code documentation.
Friendly LWM2M client (Wpp) is an advanced extension of the open-source Wakaama project. Wpp was created as a superstructure over Wakaama and its main value lies in its registry with implemented objects and their business logic. Wpp does not alter the behavior of the LwM2M and Wakaama projects, instead providing a robust framework for developing LwM2M client applications.
Wpp was developed as a cross-platform library that can be distributed in the form of source files or a static library with flexible configuration of the objects registry thanks to the developed set of utilities. Wpp contains no external dependencies except Wakaama and C++ STL. The C++17 (C++1z) standard is used.
Licence: EPL 2.0 and BSD-3
LwM2M Version: 1.1
Supported LwM2M OMA Objects: LWM2M Security(v1.1), LwM2M Server(v1.1), Device(v1.2), LwM2M Access Control(v1.1), Connectivity Monitoring(v1.3), Firmware Update(v1.1)
Transport: UDP/DTLS
Data Formats: Plain Text, Opaque, CBOR, TLV, JSON, SenML JSON, SenML CBOR
Security: PSK, Raw Public Key, No-Sec mode
Supported platforms: Linux
Supported Interfaces & Features:
Additional fetaures:
When analyzing the measurement results, it should be noted that the measurements were conducted on WppExample, which includes not only the Wpp library but also user code that can significantly impact the size. For example, the tinydtls library is not part of Wpp, but it is used by WppExample to implement DTLS, and its size is about 46kB. This size may vary depending on the architecture's bitness, the functionality used, and the implementation of user code.
| Mode | Wpp logs | Wakaama logs | DTLS | Bootstrap | Data formats | Objects | RAM | Flash |
|---|---|---|---|---|---|---|---|---|
| Minimal | Off | Off | Off | Off | TLV | Security(0), Server(1), Device(3) | 8.1 kB | 91 kB |
| Average | ERR | Off | On | Off | TLV, SenML CBOR | Security(0), Server(1), Device(3),Connectivity(4), Access(2), Audio Clip(3339), Firmware (5) | 21.2 kB | 181.5 kB |
| Full | On | On | On | On | TLV, SenML CBOR, CBOR, SenML JSON, JSON | Security(0), Server(1), Device(3), Connectivity(4), Access(2), Audio Clip(3339), Firmware (5) | 26 kB | 255.7 kB |