nRF5 IoT SDK
v0.9.0
|
Here, we provide a short description of how Californium and Scandium on the PC can be used to evaluate the DTLS CoAP examples that use Nordic's smartCoAP library over DTLS".
Californium (Cf) is an open source implementation of the Constrained Application Protocol (CoAP) that is written in Java and targets unconstrained environments. Please visit the project's website to learn about what licensing applies when using Californium. Californium is divided into multiple sub-projects, the Scandium (Sc) sub-project provides security for Californium.
The Californium project is hosted by the Eclipse Foundation, which is a not-for-profit, member supported corporation that helps cultivate both an open source community and an ecosystem of complementary products and services.
Californium.properties
files, if any, from all local repositories. 54
set retransmissionTimeout
to 20000: DtlsConnectorConfig.java
43
set the default value for ACK_TIMEOUT
to 200000: NetworkConfigDefaults.java
When trying the examples, there are some limitations and behavior that should be taken into account:
99
set the IPv6 address of the local interface that is to be used: The expected output of the server is as follows:
(...) Secure CoAP server powered by Scandium (Sc) is listening on port 5684
225
set the IPv6 address of the local interface that is to be used as the source of the CoAP requests: Nrf5xConsoleClient.java
with the correct command line arguments. Use coaps as URI scheme for secure requests. If the DTLS handshake is successful, the server will print the following lines to the console (these lines will be interleaved with other messages that pertain to the DTLS handshake):
(...) 16 INFO [MessageTracer]: /2001:0DB8:AC10:FE01:0:0:0:1:5694 ==> req CON-GET MID=14675, Token=0e6e0e5d, OptionSet={"Uri-Path":[".well-known","core"], "Content-Format":"text/plain"}, "" - (org.eclipse.californium.core.network.interceptors.MessageTracer.java:54) receiveRequest() in thread pool-1-thread-2 at (2015-05-26 13:41:23) 16 INFO [MessageTracer]: /2001:0DB8:AC10:FE01:0:0:0:1:5694 <== res ACK-2.05 MID=14675, Token=0e6e0e5d, OptionSet={"Content-Format":"application/link-format"}, "</lights>,</lights/l".. 22 bytes - (org.eclipse.californium.core.network.interceptors.MessageTracer.java:44) sendResponse() in thread pool-1-thread-2 at (2015-05-26 13:41:23) (...)
The expected output of the client is as follows (these lines will be interleaved with other messages that pertain to the DTLS handshake):
(...) ==[ CoAP Response ]============================================ MID : 14675 Token : 0e6e0e5d Type : ACK Status : 2.05 Options: {"Content-Format":"application/link-format"} Payload: 107 Bytes --------------------------------------------------------------- </lights>,</lights/led3>;title="nRF DK Resource",</lights/led4>;title="nRF DK Resource",</.well-known/core> =============================================================== Time elapsed (ms): 1100 Discovered resources: </lights>,</lights/led3>;title="nRF DK Resource",</lights/led4>;title="nRF DK Resource",</.well-known/core>