CoAP over DTLS sample server

Overview

This sample code shows a CoAP over DTLS server using mbedTLS on top of Zephyr.

Building and Running

Follow the steps for testing networking with Qemu.

In the application directory type:

$make run

In other terminal window, obtain the libcoap code from:

git clone --recursive -b dtls https://github.com/obgm/libcoap.git

and put it in a well known directory, in your Linux machine, this will be your client. In order to compile libcoap you may need to install the following libraries, for Ubuntu

sudo apt-get install libtool asciidoc

Move to that directory and compile the libcoap on your host machine

./autogen.sh
./configure --disable-shared
make all

Now you can run the client like

cd examples
./coap-client -m get coaps://[2001:db8::1]/test -u Client_identity -k passwd

You will get the following output:

v:1 t:CON c:GET i:7154 {} [ ]
decrypt_verify(): found 24 bytes cleartext
decrypt_verify(): found 123 bytes cleartext
Type: 0
Code: 1
MID: 29012

From the app directory type the screen should display

*******
type: 0 code 1 id 29012
*******
mbedtls_ssl_read returned -0x7780

If the server does not receive the messages, restart the app and try to connect the client again.