Skip to content
Ken Bannister edited this page Oct 13, 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; Block2 client in open #8932
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
Block2 client support #8932 Awaiting fixups/responses on hopefully last round of comments; issue with build size

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 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