Bluetooth: EnOcean
The Bluetooth® EnOcean sample demonstrates the basic usage of the Bluetooth EnOcean library.
Requirements
The sample supports the following development kits:
Hardware platforms |
PCA |
Board name |
Board target |
---|---|---|---|
PCA10040 |
|
||
PCA10056 |
|
The sample also requires at least one supported EnOcean device.
Note
The sample supports up to four devices at a time with one development kit.
Overview
The EnOcean sample sets up a basic Bluetooth observer for both EnOcean switches and sensors.
The observer device forwards incoming advertisements to the EnOcean library for processing. The application receives events from the EnOcean library through callbacks, and prints the outcome to the console. The LEDs of the kit also respond to button presses from an EnOcean switch.
User interface
The following LEDs are used by this sample:
- LED 1 and LED 2:
At the end of commissioning, blink four times to indicate that a new EnOcean device has been commissioned.
After commissioning, indicate whether a button is pressed on a commissioned light switch device.
Note
If you are using EnOcean switches with a single rocker, toggling the rocker is indicated on LEDs 2 and 4.
- LED 3 and LED 4:
Indicate the On/Off state of each button channel.
Building and running
This sample can be found under samples/bluetooth/enocean
in the nRF Connect SDK folder structure.
To build the sample, follow the instructions in Building an application for your preferred building environment. See also Programming an application for programming steps and Testing and optimization for general information about testing and debugging in the nRF Connect SDK.
Note
When building repository applications in the SDK repositories, building with sysbuild is enabled by default.
If you work with out-of-tree freestanding applications, you need to manually pass the --sysbuild
parameter to every build command or configure west to always use it.
Testing
After programming the sample to your development kit, complete the following steps to test it:
Commission one or more EnOcean devices. The LEDs will blink when each of the devices has been successfully commissioned.
Connect the kit to the computer with a USB cable. The kit is assigned a COM port (Windows) or ttyACM device (Linux), which is visible in the Device Manager.
Connect to the kit that runs this sample with a terminal emulator (for example, nRF Connect Serial Terminal). See Testing and optimization for the required settings and steps.
Depending on the EnOcean devices you commissioned:
If you commissioned a light switch, press any of its buttons or toggle the rocker to control the LEDs. The LEDs turn on and off as detailed in User interface, and the received values are printed to the console.
Sensor devices will automatically start reporting their sensor values to the application. The values are printed to the console.
The following code sample shows the light switch output when Button 4 on the EnOcean device was pressed and released:
EnOcean button RX: ba:15:00:00:15:e2: pressed: 0 0 0 1
EnOcean button RX: ba:15:00:00:15:e2: released: 0 0 0 1
The following code sample shows the sensor device output:
EnOcean sensor RX: bb:00:00:00:00:e5:
Occupancy: true
Light (sensor): 85 lx
Energy level: 92 %
Light (solar cell): 365 lx
Dependencies
This sample uses the following nRF Connect SDK libraries:
In addition, it uses the following Zephyr libraries:
-
include/kernel.h
API:
include/bluetooth/bluetooth.h