Skip to content

spider-gazelle/coap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crystal Lang CoAP Protocol

CI

Communicate with IoT devices supporting CoAP

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      coap:
        github: spider-gazelle/coap
  2. Run shards install

Usage

require "coap"

# client has similar semantics to HTTP::Client
client = CoAP::Client.new(URI.parse("coap://coap.me"))

# requests inherit from HTTP::Request so work the same way
request = CoAP::Request.new("get", "/test")

# use client.exec! to send a request, it returns a channel for obtaining responses
# this is because you can multi-cast requests and each device will send a response
response_channel = client.exec!(request)

# you might only be expecting a single response
response = response_channel.receive

response.status_code # => 205
response.headers["Content-Format"] # => "text/plain"
response.body # => "welcome to the ETSI plugtest!"