Developing with ZBOSS for Zigbee
|
The ZBOSS stack embedded inside the NCP SoC firmware as a binary HEX file implements the Zigbee PRO protocol stack. The stack includes the following stack layers:
The NCP SoC firmware is provided as a set of precompiled binaries for nRF52833 DK, nRF52840 DK and dongle. It can be recompiled using the NCP sample, available in nRF Connect SDK.
The ZBOSS libraries for the NCP host include the following stack layers:
Additionally, the package contains source code for all parts of the ZBOSS library for NCP host. This allows you to recompile the library for the designated hardware platform.
You need the following hardware and software for using the ZBOSS NCP Host package:
The package has the following directory structure:
Follow the instructions in this section to start using the ZBOSS NCP Host.
Before running samples, you need to program the correct firmware onto the nRF52833 DK, the nRF52840 DK, or the nRF52840 Dongle.
Depending on the communication channel, program one of the following firmware files onto the selected DK:
nrfjprog –program ncp_fw/<firmware> –chiperase –reset
nrfjprog –program ncp_fw/<firmware.usb> –chiperase –reset
For the dongle device, use the provided DFU package. Transfer it to the dongle using the nRF Util tool by running the following command::
nrfutil dfu usb-serial -pkg ncp_fw/ncp.usb.nrf52840dongle_nrf52840.zip -p /dev/ttyACMx
In this command, ttyACMx
is the nRF USB serial bootloader device name. For the nRF Util tool documentation, see the following page: https://infocenter.nordicsemi.com/topic/ug_nrfutil/UG/nrfutil/nrfutil_intro.html
The application folder contains a readme file with the sample description.
All NCP host samples can be rebuilt by executing the make
command from the package root folder::
make
Alternatively, each sample may be rebuild individually, if the make
command is executed from the sample's directory.
For running the application, specify the NCP_SLAVE_PTY
environment variable. This variable should contain the path to the correct Linux device that will be used as the communication channel.
For example, to start the light_coordinator
sample on the device and communicate through the /dev/ttyACM0
port, use the following command::
NCP_SLAVE_PTY=/dev/ttyACM0 ./application/light_sample/light_coordinator/light_zc
To rebuild ZBOSS libraries for NCP host in the lib
directory, use the source files from the src
directory::
cd src make rebuild make zbosses