Californium is a powerful CoAP framework targeting back-end services communicating with smaller Internet of Things devices. Stronger Internet of Things devices may use Californium as well. It provides a convenient API for RESTful Web services that support all of CoAP’s features.
Californium has been running code for the IETF and is passing all ETSI Plugtest test specifications.
Californium has an extremely scalable architecture and outperforms high-performance HTTP servers. CoAP’s low overhead allows to handle millions of IoT devices with a single service instance. The flexible concurrency model allows to implement whatever is best for your application.
The project is divided into five sub-projects. The Californium (Cf) Core provides the central framework with the protocol implementation to build your Internet of Things applications. The repository also includes example projects to get you started. All Californium sources are hosted on GitHub, so you can easily contribute through pull requests.
Californium (Cf) is dual-licensed under EPL and EDL. The latter is a BSD-like license, which means the Cf CoAP framework can be used together with proprietary code to implement your IoT product!
Cf is available from Maven Central and very easy to consume in your Java project. We have got your back covered from OSGi wrapper to HTTP-CoAP cross-proxy to advanced test suites that have been used at the ETSI Plugtests.
The Scandium (Sc) sub-module provides security for Californium. It implements DTLS 1.2 to secure your application through ECC with pre-shared keys, certificates, or raw public keys.
The element-connector abstracts from the different transports CoAP can use. It provides the basic UDPConnector as well as the interface to implement new connectors like the DtlsConnector of Scandium.
This repository provides CoAP tools that also serve as examples. Use CoAPBench to benchmark your CoAP solutions or simply use our cf-client to interact with your devices from the command line.
The easiest way to tell us about a problem you experience with Californium is by opening an issue on our GitHub page.
Please make sure to search the existing issues for similar symptoms before you open a new issue.
This is the place where we announce new releases and discuss architectural issues of greater impact.
However, questions and problems should be raised using a GitHug issue.