nRF5 SDK for Thread v0.11.0
Thread NCP Example

The Thread NCP example demonstrates an OpenThread application that can serve as a low-power wireless Network Co-Processor (NCP) to communicate with Userspace WPAN Network Daemon (wpantund) on Unix-like operating systems. This example has similar functionality as the NCP example available in the official OpenThread repository, but has been adapted to use with the nRF5 SDK. For additional information on wpantund, refer to wpantund on GitHub on GitHub.

Description

The NCP example is provided in two configurations - UART and USB. The former one uses UART communication and SEGGER J-Link as a UART-USB converter. The latter one uses the USB peripheral that is available in nRF52840 and communicates as a native USB CDC device.

If native USB CDC connectivity is used on Windows XP/7 hosts, you must manually install the driver that is located in the example directory:

Windows 8 (and later) hosts will pick the correct driver (usbser.sys) automatically.

This example can be used along with Nordic’s Border Router solution to provide Internet connectivity to the Thread network. For more information about NCP and Border Router cooperation, refer to Thread Border Router.

The NCP application starts in disconnected state, and remains so until it is appropriately configured by the Border Router. After NCP is connected to the Border Router and the Border Router is rebooted, NCP will try to connect to the existing network or form a new one.

Network state is indicated by BSP_LED_0. When the device is not connected to a network, the LED blinks at a 200 ms period. Once the device connects to a network, either as a Child or as a Leader, the LED stops blinking and remains turned on.

Setup

You can find the source code and the makefile in the following folder: <InstallFolder>\examples\thread\experimental\ncp

Testing

To test this example, you need the Nordic's Border Router and a node that can connect to the Internet.

  1. Build the example according to the instructions in Building examples.
  2. Program a development board with the selected NCP application (UART or USB).
  3. Connect the board to the Border Router through USB. If UART NCP is used, use the SEGGER J-Link USB port, otherwise use the native nRF USB port.
  4. Run the Border Router.
  5. You can use the Thread Cloud CoAP Client Example to test connectivity to the Internet.

Documentation feedback | Developer Zone | Subscribe | Updated