Application development overview
This chapter provides an overview of the main phases in developing a ZigBee 3.0 wireless network product. It is important that you refer to this chapter, particularly Section 5.3, Development phases, before and during your product development.
You should develop an application program for each node type in your product - Coordinator, Router, and End Device. If a node type has variants, you might need to develop a separate application for each variant. For example, an End Device, which is a Light Sensor and an End Device, which is an On/Off Light Switch in a lighting system.
Development environment and resources
This User Guide supports the NXP ZigBee 3.0 Software Developer’s Kits (SDKs) for the JN518x and K32W041/K32W061/K32W1/MCXW71/MCXW72/RW612 devices.
Development platform
MCUXpresso
NXP MCUXpresso provides an Eclipse-based platform for developing applications for the JN518x and K32W041/K32W061/K32W1/MCXW71/MCXW72 devices. This platform can be obtained from https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide and must be a registered edition. The required version of MCUXpresso is indicated in the Release Notes for the ZigBee 3.0 SDK.
For installation and operational instructions, first refer to the MCUXpresso Installation and User Guide. More detailed operational instructions are provided in the MCUXpresso User Guide, available from the above website.
Attention: Zigbee applications on RW612 platform do not support MCUXPresso IDE projects. Instead they are built with the west
tool, refer to the https://github.com/nxp-mcuxpresso/mcux-sdk for more information.
Parent topic:Development platform
Parent topic:Development environment and resources
ZigBee 3.0 SDK
The ZigBee 3.0 SDK provides the stack and API software resources needed to develop ZigBee 3.0 applications for the JN518x and K32W041/K32W061/K32W1/MCXW71/MCXW72/RW612 devices and includes:
ZigBee PRO and IEEE 802.15.4 stack software
ZigBee PRO APIs
ZigBee Base Device Behavior (BDB) APIs
ZigBee Cluster Library (ZCL) APIs
Connectivity Framework APIs
ZPS Configuration Editor
Integrated Peripherals APIs and Board APIs
NXP-specific tools have been devised for MCUXpresso, including the ZPS Configuration Editor, which is provided as an Eclipse plug-in. This tool is used to set network parameters and is described in Chapter 13, ZPS Configuration Editor.
This ZigBee 3.0 SDK contains device-specific plug-ins for the MCUXpresso platform.
MCUXpresso must be installed before the ZigBee 3.0 SDK. Refer to Section 5.1.1, Development platform for information on this toolchain.
Parent topic:Development environment and resources
Parent topic:Application development overview
Zigbee application support resources
While developing your ZigBee 3.0 application for a JN518x or K32W041/K32W061/K32W1/MCXW71/MCXW72/RW612 device, refer to the below User Guides along with JNUG3130:
ZigBee Devices User Guide (JNUG3131)
ZigBee Cluster Library User Guide (JNUG3132)
Connectivity Framework Reference Manual
Refer to the following NXP Application Notes for further support in the development of ZigBee 3.0 applications for the JN518x or K32W041/K32W061/K32W1/MCXW71/MCXW72 devices:
ZigBee 3.0 Base Device Template (JN-AN-1217)
ZigBee 3.0 Light Bulbs (JN-AN-1244)
ZigBee 3.0 Controller and Switch (JN-AN-1245)
ZigBee 3.0 Sensors (JN-AN-1246)
ZigBee 3.0 IoT Control Bridge (JN-AN-1247)
For RW612 devices, refer to ZigBee 3.0 Light Bulbs**JN-AN-1244 .
Note: The relevant software and documentation resources can be obtained via the Wireless Connectivity area of the NXP website (for the web address, see Support resources.
Parent topic:Application development overview
Development phases
The main phases of development of a ZigBee 3.0 application are as follows and are conducted in MCUXpresso:
Network Configuration: Configure the network parameters for the nodes using the ZPS Configuration Editor (refer to Chapter 12, ZigBee network parameters and Chapter 13, ZPS Configuration Editor).
Application Code Development: Develop the application code for your nodes using the ZigBee PRO, ZCL, BDB, and JCU APIs.
Application Build: Build the application binaries for your nodes.
Node Programming: Load the application binaries into Flash memory on your nodes.
Note: As a starting point for your application development, you may wish to use one or more of the Application Notes listed in Section 5.2, “Zigbee application support resources”.
Parent topic:Application development overview