nRF Connect Mesh Beta Release - Making BLE Mesh development easy!



# Update (9-Mar-2017)

This blog post is now deprecated. Please see the updated PC software for nRF OpenMesh.




Motivation

With the official Bluetooth Mesh nearing release, and Nordic's proprietary nRF Open Mesh, developers need solid tools to develop their mesh-enabled projects. Most of our customers rely on nRF Connect mobile and desktop tools (previously Master Control Panel) to develop their BLE applications. A similar tool is necessary for BLE mesh applications. This is what nRF Connect Mesh (an extension of nRF Connect) offers.

Introduction

One of Bluetooth's biggest constraints is range. Meshing can increase the range in scenarios where there are many devices (i.e. smart lighting for buildings). Nordic provides the nRF Open Mesh framework to make developing mesh applications very easy on nRF5 series devices, and will soon be releasing an implementation of the official Bluetooth Mesh. This tool will support product development using either of those mesh implementations.

Quick Start Video

Getting Started with nRF Connect Mesh - Vimeo

Requirements

To control the mesh, this tool connects to a Gateway device (nRF5 slave device that is controlled by nRF Connect Mesh via serial interface). You can connect to the Gateway device and control the mesh with no limitations or restrictions. The Gateway device is just like the other nodes on your mesh except it is controlled via serial UART, and does as commanded by nRF Connect Mesh as well as interacting with the other nodes on the mesh, serving as a bridge. nRF Connect Mesh can work with any gateway firmware that has the serial interface enabled, but we provide the official gateway firmware.

image description

#Download and Getting Started

Download nRF Connect Mesh Windows. Note: We have OS X and Linux versions and will release these betas early next week. Unzip the folder after the download completes and double click nrf-connect-mesh.exe. nRF Connect Mesh will open. Plug a few nRF51 development kits or dongles into your PC, program them from nRF Connect Mesh with the official gateway firmware, and follow along with the sections below!

Programming and Debugging

When developing Mesh applications you are working with a lot of devices. You need to be able to easily and efficiently program & run many devices at once. You also need to be able to easily display debug information generated by these devices.

image description

See this blog post for more information on how multi programming and RTT logging are implemented in nRF Connect Mesh.

Multi Device Commands

Imagine you are seeing some strange behavior in your mesh application. To figure out what is going on, you add SEGGER_RTT_WriteString(CHANNEL_0, "RBC_MESH_EVENT_TYPE_TX\n"); to your code and recompile. You easily program your devices from nRF Connect Mesh and start the RTT logger. But it would suck if you had to provision/initialize every single node to the mesh one at a time. nRF Connect Mesh solves problems like these with Multiple device commands.

image description

Commands like init and reset can be done on many devices at once through nRF Connect.

#DFU

Upgrading the firmware of all nodes in the mesh is an important feature of nRF Open Mesh. nRF Connect Mesh makes this very easy to test and verify as you are developing. Code signed DFU is built into nRF Open Mesh, and all nodes on the mesh can be upgraded at once while the application is running concurrently with the DFU OTA process running in the background.

image description

Note: We haven't implemented a good progress bar for DFU in nRF Connect Mesh yet. It usually takes around 15 minutes to complete the entire DFU process, and you will have to see the progress by looking at the RTT logs, or just waiting for DFU Completed!.

#Mesh commands

image description

You can set/get handles and their values, enable disable flags/tx events and much more via the Mesh gateway node. Note: click on the small highlighted green box in the logging window to switch between nRF Connect Mesh and RTT logging.

Future

We are very early in the development of this tool so that means we expect there to be some bugs in this release. However, we want your feedback so we can deliver the best tool possible. nRF Connect will be released on GitHub soon, and when that happens this code will be released as well. This tool is built on top of the Node.js platform and React/Redux frameworks and runs on Electron.

Edits

  • Updated 11.08.2016 - Minor bug fixes in nRF Connect Mesh. Official gateway firmware updated so LED0 can be controlled via nRF Open Mesh handle 0, and LED1 with handle 1. This is for visual purposes and to make the getting started process easier and more intuitive.