Skip to content
Ken Bannister edited this page Oct 14, 2018 · 33 revisions

nanocoap is a native implementation of CoAP for RIOT. Client messages are processed synchronously: a client waits for the the function that sends the request to return with the response. A CoAP server runs in a dedicated application thread.

Feature Status

Feature Description
Confirmable message type Supports piggybacked ACKs
Block extension Provides Block1 server and Block2 client (in pending 2018.10 relesae)
Observe extension Not implemented

Learning More

See the online API documentation for nanocoap itself, as well as generic CoAP definitions. Also see more detailed API documentation in open #10036. Also, see the examples/nanocoap_server app.

Open PRs

Topic Status
Module documentation #10036 Code complete; awaiting response to a comment
Fix NON response #10087 Comments addressed; awaiting approval
Remove COAP_CT_xxx macros #10108 In progress; discuss use of @deprecated documentation tag for these macros

See all open 'nanocoap' PRs and Issues. See all CoAP-tagged PRs and Issues.

Roadmap

See #9309 for combined gcoap and nanocoap roadmap. Below are other features we have in mind.

Milestones

Release Description
pending Block2 client support (#8932)
pending Get/Put specific string options based on generic string option functions (#8920).
2018.07 Generalize nanocoap_get() to nanocoap_request() (#9086).
2018.07 Use coap_pkt_t to create message, and use this to provide a simpler API for options (#9085).
2018.04 Added Block1 support (#8788).
2018.01 Integrate as RIOT module (#8123). Historically was an external package.
Clone this wiki locally