IoTDM

Welcome to IoTDM

Introduction

The IoT Data Management (IoTDM) project is an open source implementation of oneM2M running on OpenDayLight. It is about developing a data-centric middleware that will act as a oneM2M compliant IoT Data Broker and enable authorized applications to retrieve IoT data uploaded by any device.

Project Proposal

Git patches and reviews

Jenkins

Project Facts

Project Creation Date: December 9th, 2014
Lifecycle State: Lithium Release
Primary Contact: Lionel Florit (lflorit@cisco.com), John Burns (johnburn@cisco.com)
Project Lead:  John Burns (johnburn@cisco.com)
Committers:  

feel free to join our slack: https://join-iotdm.herokuapp.com/

Mailing List:  iotdm-dev@lists.opendaylight.org
    Archives: mailing list archives
Meetings: See Community Meetings 
Repository: git clone https://git.opendaylight.org/gerrit/iotdm
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs:

Documentation

Getting started for users

  • There are several ways to use IoTDM. You may want to just send CRUD to it, you may want to install it locally and CRUD to it, or you may want to access the code and develop modules for it.

  • If you just want to exercise the APIs and don't want to touch the code, then follow the following procedure:

  • 1. create a local directory and download the tar file distribution from tar.gz file here or zip file zip file here

  • 2. rename your file to “onem2mall-karaf-1.0.0-SNAPSHOT.tar.gz” or “onem2mall-karaf-1.0.0-SNAPSHOT.zip” (if you download a zip file)

  • 3. cd to that directory and type

tar –xvf onem2mall-karaf-1.0.0-SNAPSHOT.tar.gz

or

unzip onem2mall-karaf-1.0.0-SNAPSHOT.zip

(if you download a zip file)

  • 4 cd into onem2mall-karaf-1.0.0-SNAPSHOT/bin

cd onem2mall-karaf-1.0.0-SNAPSHOT/bin

  • 5. Launch IoTDM

./karaf

  • 6. Prompt changes to opendaylight-user@root>

  • 7. Wait for the karaf features to load

  • 8. Verify oneM2M modules are "active"

opendaylight-user@root>list | grep onem2m

256 | Active | 80 | 0.0.1.SNAPSHOT | onem2m-api

257 | Active | 80 | 0.0.1.SNAPSHOT | onem2m-core

259 | Active | 80 | 0.0.1.SNAPSHOT | onem2m-notifier

261 | Active | 80 | 0.0.1.SNAPSHOT | onem2m-protocol-coap

262 | Active | 80 | 0.0.1.SNAPSHOT | onem2m-protocol-http

  • 9. IoTDM is now running on port 8181 and 8282

  • 10. Initialize the resource tree (if prompted for a username/password type admin/admin).

  • Send a POST to :

localhost:8181/restconf/operations/onem2m:onem2m-cse-provisioning

Headers

Content-Type application/json Accept application/json Authorization Basic YWRtaW46YWRtaW4=

Authorization is used for (user:admin, password:admin)

JSON Body

{ "input": { "onem2m-primitive": [ { "name": "CSE_ID", "value": "InCSE1" }, { "name": "CSE_TYPE", "value": "IN-CSE" } ] } }

  • This will create a tree called ODL-oneM2M-Cse. You are ready to exercise the CRUDs. See API examples here

A more convenient tool is Postman, we create a collection for you to try iotdm, just click the link and import the collection. https://www.getpostman.com/collections/ff0b20ed5f4d574f6fb5

Video tutorial: https://www.youtube.com/watch?v=FXjkJgw01Yo

Information for developers

  • If you are unfamiliar with OpenDaylight development see the