Sign inSign up

nning2/coap

By nning2

•Updated over 7 years ago

Pure Ruby implementation of RFC 7252 (Constrained Application Protocol (CoAP))

Image
1

1.3K

nning2/coap repository overview

Gem Version Build Status Coverage Status Code Climate Docker Hub Build Status

⁠CoAP

This Ruby gem implements client functionality for RFC 7252⁠, the Constrained Application Protocol (CoAP). The message parsing code included is written by Carsten Bormann, one of the RFC authors.

The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as 6LoWPAN often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.

Additionally supported extensions of the CoAP protocol:

⁠Install

Add this line to your application's Gemfile:

gem 'coap'

And then execute:

$ bundle

Or install it yourself as:

$ gem install coap

⁠Usage

⁠In your Application
require 'coap'

CoAP::Client.new.get_by_uri('coap://coap.me/hello').payload
=> "world"

CoAP::Client.new.get('/hello', 'coap.me')
=> #<struct CoRE::CoAP::Message ver=1, tt=:ack, mcode=[2, 5], mid=51490, options={:max_age=>60, :token=>366862489, :content_format=>0}, payload="world">

c = CoAP::Client.new(host: 'coap.me')
c.get('/hello')

See the API documentation at rubydoc.info⁠ or test/test_client.rb for more examples.

⁠On the Command Line

The command line client supports the basic CoAP methods.

coap get coap://coap.me/.well-known/core
⁠With Docker

You can skip the install section if you want to use Docker.

docker run nning2/coap get coap://coap.me/hello

⁠Testing

rake

The code is published under the MIT license (see the LICENSE file).

⁠Authors

Tag summary

Content type

Image

Digest

Size

26.6 MB

Last updated

over 7 years ago

docker pull nning2/coap