Code Monkey home page Code Monkey logo

wakaamanode's Introduction

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

wakaamanode's People

Contributors

bruslab avatar sushainrazdan avatar taubel avatar ivankravets avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.