WakaamaNode
lwM2M library based on Wakaama for PlattformIO/cmake with easy object API
Install / Use
/learn @smartheim/WakaamaNodeREADME
WakaamaNode

This is a Lightweight M2M library meant to be used for embedded/constrained devices with a convenient C++ API and bindings for C. Get Started.
Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device management and communication. It is a convention on top of CoAP/UDP which itself is a light and compact protocol with an efficient resource data model. It follows a server/client architecture with Request/Response semantics (GET, POST, PUT, DELETE), as well as observable resources. Optional DTLS (Datagram TLS) ensures secure communication between LwM2M Servers and LwM2M Clients.
The CoAP/lwM2M data model is explained in the documentation.
A lot of common and not so common object and resource identifiers are standardised via the OMA Object & Resource Registry. For example object 3311 is for light controls, 3312 for power sources such as smart plugs.
Features
- The well-tested Eclipse Wakaama provides the underlying lwM2M protocol.
- A powerful Connections API allows to configure lwM2M servers
- lwM2M object definition API for C and C++
- All LwM2M Objects of the OMA Registry are predefined for the C++ Objects API.
- 3 Platform integrations (posix/win32, esp8266-sdk, freertos)
- 2 Network stack integrations (posix/win32, lwIP)
- 2 Firmware update integrations (posix/Win32, arduino OTA)
- Supports optional DTLS via mbedTLS
- All API functionality and library<-->wakaama server communication is covered by tests.
Have a look at the documentation: https://openhab-nodes.github.io/wakaamaNode/
License
- This platform code and API wrappers are provided under the MIT License (MIT).
- Wakaama is provided under the Eclipse Public License - v2.0.
- TinyFSM is provided unter The MIT License (MIT), Copyright (c) 2012-2018 Axel Burri
- Optional-lite, Span-lite, String-View-Lite is provided under the Boost Software License 1.0, Copyright (c) Martin Moene
Related Skills
node-connect
334.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.1kCommit, push, and open a PR
