limecoap

0.1.4 • Public • Published

limerun limecoap

Build Status NPM NPM NPM

NPM

About

limecoap is the reference implementation for the Constrained Application Protocol (CoAP) protocol extensions to the limerun (OWIN-JS) REST framework for Node.js.

It is an open-source, standards-based, drop-in replacement for COAP servers such as node-coap.

It uses the widely used library 'coap-packet' for protocol formatting.

Written in plain javascript for maximum portability to constrained devices

Makes CoAP messages look to an application just like an HTTP message so little or no application changes required to support multiple REST protocols

Status

Early work in process, not for production use.

Includes:

Server Functions

  • Layered protocol based on native UDP sockets
  • Translation from UDP Raw Message to CoAP Packet in standard OWIN-JS format, compatible with all HTTP and COAP applications including those written for Express, Connect, etc!
  • Optional logging middleware for each inbound message
  • Server and Client Request caching middleware
  • Confirmable send middleware that keeps retrying until acknowledgements received
  • Auto-Acknowledge middleware that automatically takes care of sending acknowledgements to inbound confirmable requests/responses
  • Observable messages (publish/subscribe)

Client Functions

  • Layered protocol based on native UDP sockets
  • Translation from CoAP Packet in standard OWIN-JS format to CoAP Raw Message
  • Optional logging middleware
  • Client Request caching middleware
  • Confirmable send middleware that keeps retrying until acknowledgements received
  • Auto-Acknowledge middleware that automatically takes care of sending acknowledgements to inbound confirmable responses
  • Observable messages (publish/subscribe)

Roadmap

Next steps are to more fully test the existing functions, and then build a reference framework to link together server, client, discovery and other protocol functions.

Adding additional features of the protocol such as Type 2 Blocks, is as simple as adding a new middleware function (10-30 lines of javascript)

Dependents (0)

Package Sidebar

Install

npm i limecoap

Weekly Downloads

2

Version

0.1.4

License

none

Last publish

Collaborators

  • limerun