This folder contains the platform code needed to make the OCF application layer work on top of Thread, using our embedded Chili platform.
This document describes the existing OCF applications. If you would like to create a custom application, there is a separate guide for this.
The applications in this directory are compiled only if the CASCODA_BUILD_OCF
CMake cache variable is set to ON
. Note that this will disable several other
targets vithin the SDK. If these are required, they must be built in a separate
binary directory.
Note that enabling CASCODA_BUILD_OCF
disables the Test15-4 low-level debug interface globally,
which would break targets such as mac-dongle
and also prevent running commands with Wing Commander.
The apps
subdirectory contains a collection of OCF based example
applications.
ocf-light
is an OCF light server that can be used to control a lamp.
The application is using:
The application can be compiled with the following command:
make ocf-light
This server contains the following resources:
oic.r.switch.binary
with url /binaryswitch
.oic.r.light.dimming
with url /dimming
.Pin 15 is mapped to the value of the oic.r.switch.binary
.
The oic.r.light.dimming
resource does not control anything.
The application is compiled with OCF security enabled, and it can be onboarded using JustWorks or PKI.
ocf-reed-light
is an OCF light server that can double as an OpenThread Router or Leader, as it is
a Router-enabled end device.
ocf-sensorif
is an OCF sensor.
The application is using:
The application can be compiled with the following command:
make ocf-sensorif
This server contains the following resources:
oic.r.humidity
with url /humidity
.oic.r.sensor.illuminance
with url /illuminance
.oic.r.temperature
with url /temperature
.The humidity value is read from I2C using the supplied sensor interface. The illuminance value is read from I2C using the supplied sensor interface. The temperature value is read from I2C using the supplied sensor interface.
The application is compiled with OCF security enabled, and it can be onboarded using JustWorks or PKI.
ocf-cli-thermometer
is an OCF sensor.
The application is using:
The application can be compiled with the following command:
make ocf-cli-thermometer
This server contains the following resources:
oic.r.temperature
with url /temperature
.The temperature value is read from chili module using the Board Support Package.
The application is compiled with OCF security enabled, and it can be onboarded using JustWorks or PKI.
ocf-sleepy-thermometer
is an OCF sensor.
The application is using:
The application can be compiled with the following command:
make ocf-sleepy-thermometer
This server contains the following resources:
oic.r.temperature
with url /temperature
.The temperature value is read from chili module using the Board Support Package.
ocf-sleepy-thermometer
is similar to ocf-cli-thermometer
, except that it
is a Thread sleepy end device which turns off its radio when not in use in
order to conserve power. Consequently, this target takes longer to respond to
requests & updates - it has higher latency because the data is not sent until
the device wakes up and requests it from its parent.
The application is compiled with OCF security enabled, and it can be onboarded using JustWorks or PKI.
These folders contain header files which hold the introspection data for each server. This data is necessary to pass OCF certification, and it is different for every server. This data is automatically generated by DeviceBuilder based on the resource types passed to the program.