Skip to content
mjkoster edited this page May 27, 2014 · 1 revision

IoT Toolkit Status and Roadmap 26 May 2014

This repository contains a stable development version of IoT Toolkit which can be used to create Smart Object API Instances connected using HTTP/REST, MQTT, and a subset of CoAP protocols.

The state of development is experimental, with a clear set of features yet to implement to produce a developer release.

There is a backlog of features needed for supportability and developer usefulness:

  1. Structured testing, at least exercising the REST API and testing basic operations and resources using a set of test cases. A base test case exists (weather station)
  2. Resource delete implementation, making sure memory is cleaned up. Framework started.
  3. Create bulk notification scheme to support bulk bindings and observers, make notification registration interface for bindings (SmartObject and ObservableProperty classes), notify interface to accept topic + payload, (opt) add topic filter and interface for SmartObject level bindings, (opt) add value filter and interface
  4. Refactor Observers to Bindings, make Observer a class of binding, build class templates for bindings. Bindings to use the new notification interface. Remove “Observers” container and associated code. Items 3 and 4 are needed to implement well known design patterns and will impact the API structure. Update API documentation.
  5. Update the CoAP engine to support Draft 18 (final) including Block and Observe
  6. Replace http server with permissive license code (currently LGPL)
  7. Add exception handling and server error reporting for common errors
  8. Code restructure, fix recursive import issues with library modules, dynamic import?
  9. Package as installable library install using Python setuptools

Roadmap

  1. Implement Resource Directory catalog server
  2. Consume data models as constructor for API instances
  3. Implement service bindings for http: and coap: servers
  4. Implement service registry in RD server
  5. Build access control permissions engine based on authorization models
  6. Integrate Node-RED by creating SmartObject node and javascript application component templates
  7. Build an open source GUI Dashboard using HTML5, JS and a simple GUI toolkit
  8. Build a modeling tool for creation and maintenance of semantic models, integrate with github
  9. Create an Open IoT stack with IoT Toolkit, Node-RED, Mosquitto MQTT, and related tools bundled and integrated
  10. Create an open source IDE for IoT web applications based on the modeling tool, GUI tool, and Node-RED
  11. Create distributed DevOps scheme to enable IoT Toolkit stack instances in local embedded Linux, private cloud, and container deployments, managed through github, bootstrapped through a trusted service or image
Clone this wiki locally