CoAP service

Browse source code on GitHub

Overview

This sample shows how to register CoAP resources to a main CoAP service. The CoAP server implementation expects all services and resources to be available at compile time, as they are put into dedicated sections.

The resource is placed into the correct linker section based on the owning service’s name. A linker file is required, see sections-ram.ld for an example.

This demo assumes that the platform of choice has networking support, some adjustments to the configuration may be needed.

The sample will listen for requests in the CoAP UDP port (5683) in the site-local IPv6 multicast address reserved for CoAP nodes.

The sample exports the following resources:

/test
/seg1/seg2/seg3
/query
/separate
/large
/location-query
/large-update

These resources allow a good part of the ETSI test cases to be run against coap-server.

Building And Running

This project has no output in case of success, the correct functionality can be verified by using some external tool such as tcpdump or wireshark.

See the net-tools project for more details

This sample can be built and executed on QEMU or native_sim board as described in Networking with the host system.

Use this command on the host to run the libcoap implementation of the ETSI test cases:

sudo ./examples/etsi_coaptest.sh -i tap0 2001:db8::1

To build the version supporting the TI CC2520 radio, use the supplied prj_cc2520.conf configuration file enabling IEEE 802.15.4.

Wi-Fi

The IPv4 Wi-Fi support can be enabled in the sample with Wi-Fi snippet.

See also

COAP Library
CoAP service API