Skip to content

Wiki: Implementations

Ari Keränen edited this page Jun 17, 2023 · 14 revisions

This Wiki page is for collecting known implementations of relevant technologies for WISHI. Specifically:

  • Implementations that use concepts from semantic interoperability
  • Machine readable interfaces to metadata

CoAP

Generic implementations

See: http://coap.technology/impls.html

Implementations with Resource Directory


One Data Model


OMA LightweightM2M

Title URL
Specification OMA-TS-LightweightM2M-V1_1_1-20190617-A Core
Registry http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html
Editor http://devtoolkit.openmobilealliance.org/OEditor/
Schema lwm2m.xsd
Registry API https://wiki.openmobilealliance.org/display/TOOL/Registry+API
Guidelines Guidelines Creation Registration of LwM2M Objects & Resources
Contact Joaquin Prado

Known LwM2M open source implementations in alphabetical order (with descriptions mostly copy-pasted from the web sites / readme files):

  • Anjay is a C library that aims to be the reference implementation of the OMA LwM2M device management protocol

  • ARM mbed is a development tool for embedded devices with library support for OMA LWM2M. Mbed also has a cloud based directory and proxy service based on OMA LWM2M

  • Awa LwM2M is an implementation of the OMA Lightweight M2M protocol in C.

  • coap-shepherd: coap-shepherd, coap-node and lwm2m-bs-server modules aim to provide a simple way to build and manage a LWM2M network.

  • Contiki LwM2M standalone is an example of how to use the Contiki-NG's LWM2M stack on native posix without dependencies on having the whole Contiki-NG source tree involved.

  • LwM2M Protocol Gateway for EMQ X. EMQ is Erlang/Enterprise/Elastic MQTT Broker and it has support for LwM2M as a gateway module.

  • Leshan provides libraries that help people develop their own Lightweight M2M server and client (in Java).

  • Lua LwM2M is Lua binding of liblwm2m / wakaama library. A client implementation of OMA Lightweight M2M / LWM2M protocol.

  • LwM2M client in Python

  • NodeJS LwM2M is implementation of LwM2M (in Node JS)

  • yplam LwM2M A simple and lightweight (but not full feature) Go language lwm2m server aim to run on edge router.

  • Wakaama LwM2M client is written in C and designed to be portable on POSIX compliant systems.


W3C Web of Things: Thingweb

https://github.com/thingweb Thingweb is an open source implementation of the work-in-progress Web of Things software contributed to Eclipse Foundation

https://github.com/thingweb/node-wot Node-wot is the cross-proxy "servient" that implements exposed things, consumed things, and the scripting API

https://github.com/thingweb/thingweb-directory ThIng Directory is an implementation of a directory for discovery of connected things using the Web of Things "Thing Description" format.


Constrained RESTful Application Language (CoRAL)


SenML


Iotivity

https://www.iotivity.org/

Iotivity is an open source implementation of the OCF specification

There is a nodejs binding and API for iotivity https://github.com/intel/iotivity-node

And there is an http proxy https://github.com/intel/iot-rest-api-server

Clone this wiki locally