GitHub hosted
Public

C library for ThingsML on your device



Download repository: zip

Introduction

The Thingsml library helps you create and parse senml documents
in both json and cbor format.

Documentation

Read the docs here

Key features

  • Object oriented design.
  • Built in support for senml’s unit registry
  • Extensible for new data types
  • Makes use of (but doesn’t restrict to) ThingsML predefined list of record names via ThingsML indices.
  • Direct support to read/write in json and cbor format.
  • Automatically adjusts record data with respect to base time, base value & base sum.
  • The library is optimized for devices with restricted memory requirements (runs on AVR systems with 1KB ram).

Under improvement (PR’s welcome!)

  • Examples
  • Documentation
  • Tests

Running

Bazel

Bazel can be installed from here: https://docs.bazel.build/versions/master/install.html \
Run the unit tests using:

bazel test test --test_output=all

Arduino

Install using the built in library manager, search for “ThingsML”.\
The library includes various examples which can be openened from the examples dropdown.