.. _coaps-server-sample:
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 :ref:`networking_with_qemu`.
In the application directory type:
.. code-block:: console
$ make run
In other terminal window, obtain the libcoap code from:
.. code-block:: console
$ 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
.. code-block:: console
$ sudo apt-get install libtool asciidoc
Move to that directory and compile the libcoap on your host machine
.. code-block:: console
$ ./autogen.sh
$ ./configure --disable-shared
$ make all
Now you can run the client like
.. code-block:: console
$ cd examples
$ ./coap-client -m get coaps://[2001:db8::1]/test -u Client_identity -k passwd
You will get the following output:
.. code-block:: console
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
.. code-block:: console
*******
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.
References
**********
* https://tls.mbed.org/
* https://libcoap.net/