Skip to content
lwM2M library based on Wakaama for PlattformIO/cmake with easy object API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add documentation/website. Add C++ objects API. Extend tests to test … Jun 7, 2018
contrib API CHANGE: Move due_time into the network struct and make it a simpl… Jul 19, 2018
docs
examples API CHANGE: Move due_time into the network struct and make it a simpl… Jul 19, 2018
generate_cpp_objects_from_registry
src Merge pull request #22 from taubel/pull_request Sep 12, 2018
test Add wakaama tests to this repository. Convert to google test. Fix tests Jul 19, 2018
.gitignore
.travis.yml Fix lwip builds. Adapt to platformio change Jul 5, 2018
LICENSE Initial commit Mar 27, 2016
README.md
editorconfig.txt
library.json API CHANGE: Move due_time into the network struct and make it a simpl… Jul 19, 2018
mkdocs.yml Update docs Jul 4, 2018
platformio.ini
src.cppcheck Add documentation/website. Add C++ objects API. Extend tests to test … Jun 7, 2018
update_mbedtls.sh Add mbedtls (c041435) and automatic update script Jun 12, 2018
update_wakaama.sh

README.md

WakaamaNode Build Status Stability: Active

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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.