David Edwin gravatar image

Posted 2016-07-29 15:22:51 +0200

blogs->nordicers

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.

7 comments

rdsingh gravatar image

Posted Aug. 13, 2016, 4 a.m.

Awesome! Is nRF Open Mesh still based on SDK8 as mentioned in README.adoc for the project?? Or is this a case of documentation lagging development?

trond-snekvik gravatar image

Posted Aug. 16, 2016, 10:49 a.m.

@Raja: Yes, the OpenMesh still uses SDK8.1 :)

webfeet gravatar image

Posted Aug. 24, 2016, 7:20 a.m.

When do you inted to release the source code for nRF connect please?

bjorning gravatar image

Posted Sept. 14, 2016, 12:57 p.m.

@John, please see the nRF Connect release blog post for updated info on source code release: https://devzone.nordicsemi.com/blogs/982/nrf-connect-v10-release/

mik gravatar image

Posted Nov. 20, 2016, 11 p.m.

Hi! Nice work.

Is there some information about power usage?
Is there some configurable tradeoff between latency and power?

sam512bb gravatar image

Posted Feb. 12, 2017, 12:56 a.m.

Good day Michael, I attempted to try your demo and I cannot get any of the devices to connect to one another. I am using one nRF51 dev board, and two nRF51 USB dongles. I did download and install latest J-link software which updated the dev board and dongles. All devices are found within RFConnect (i.e. the device IDs are shown in the "devices to program" window) and I am able to successfully program the official mesh firmware into them just like your video (my log matches yours in your video). However, when I view RTT-Log I get no information being displayed... and also the LEDs on the dev board and the dongles are not flashing like they are in your video. Can you direct me as to what I am doing wrong? Cheers, Sam

David Edwin gravatar image

Posted March 9, 2017, 9:31 a.m.

I think this is the correct version to be used for nRF OpenMesh. https://devzone.nordicsemi.com/blogs/1044/get-started-on-pc-software-for-mesh-and-mesh-dfu/

Sign in to comment.

User menu

    or sign up

Recent questions