ON Semiconductor RSL10 User manual

www.onsemi.com
1
DOCUMENT NUMBER M-20858-003
Getting Started with RSL10 Bluetooth® Low Energy
Mesh
1. INTRODUCTION
Bluetooth Mesh was introduced in July 2017 by the Bluetooth Special Interest Group (SIG) as a means of
supporting large-scale networks requiring “many to many” node connections (over 32,000). Designed for a wide
range of IoT markets including automation and commercial lighting, Bluetooth Mesh provides extended range and
the ability to monitor and control large numbers of devices.
All devices with an underlying Bluetooth stack 4.0 contain the ability to support Bluetooth Mesh networking.
They are enabled for Bluetooth Low Energy Mesh if they expose an application programming interface (API) to
Mesh functions, which are defined in the Mesh profile, properties, and model specifications.
This Mesh package add-on to the RSL10 SDK provides the libraries, sample code, and documentation to enable
Mesh networking on your application, and to support Bluetooth Low Energy Mesh application development.
For more information about Bluetooth Mesh, refer to the following documentation available at
www.bluetooth.com:
• Mesh profile specification v1.0
• Mesh model specification v1.0
• Mesh properties specification v1.0
• Bluetooth Mesh Technology Overview
NOTE: A Bluetooth SIG membership is required to access this information.
The Getting Started with RSL10 Bluetooth Low Energy Mesh manual explains how to use the sample application
provided with the Mesh Package Version 1.2 with the RSL10 SDK. As you follow this guide, you learn about
installing the software, setting up your system, accessing code files, and how the Mesh sample application (ble_mesh)
works. For more information about how to configure the projects to set up different Mesh network scenarios, and how
to experiment with them to verify their features and operations, see the RSL10 Bluetooth Low Energy Mesh Sample
Code User’s Guide.
1.1 Basic Terminology
Unprovisioned device
A device that has not been provisioned and is not a member of a Mesh network. It cannot send
nor receive Mesh messages; however, it advertises its presence to Provisioners.
Node
A device that has been provisioned and is a member of a Mesh network. It can send and
receive Mesh messages.
Provisioner
A device that performs all required operations to convert an Unprovisioned device into a
Node. The Provisioner plays a key role in setting up and operating a Mesh network.
Provisioning
A process that is managed by a Provisioner. It provides an Unprovisioned device with data
(including a network key, unicast address, etc.) required for communication in a Mesh
network.

Getting Started with RSL10 Bluetooth Low Energy Mesh
www.onsemi.com
2
Provisioning Bearer
A transport layer used by a Provisioner and an Unprovisioned device to exchange messages
with each other during the provisioning procedure. Two Provisioning Bearers are defined:
Advertising Bearer (PB-ADV) and Generic Attribute Profile Bearer (PB-GATT).
CLI application
An RSL10 Evaluation and Development Board can be programmed with a CLI application,
which allows you to use command lines to configure the board to fulfill any role in the network,
and to send and receive Mesh messages. CLI commands are sent from a computer to the board
over an UART interface. A Terminal emulator software (such as Tera Term or YAT) is required
on your computer.
Stand-alone application
An RSL10 board can be programmed with a specific stand-alone application, which is designed
to configure the board into a given role in the network, and to send and receive Mesh messages
associated with given models.
2. PREREQUISITES
To use the RSL10 Mesh networking package, you need:
• RSL10 SDK 2.3 installed on a computer
• Terminal emulator software, such as Tera Term or Yet Another Terminal (YAT), installed on the computer
• One RSL10 Evaluation and Development Board for each Provisioner, Server Node and Client Node in the
network
Mesh applications can be executed on any RSL10 Evaluation and Development Board. The UART interface is used
to connect the board and the computer for issuing user commands, and for tracing activities performed by, or completed
in, each Mesh peer device. The onboard micro USB-B connector is used as the UART connection without additional
hardware.
The computer can use any terminal emulator software to send CLI commands to, and receive responses from, the
RSL10 Evaluation and Development Board. Use Windows® device manager to search for JLink CDC UART Port
(COMXX) and identify the COM port number your serial terminal software should connect to. Also, set up the serial port
at a baud rate of 115200 bps, no parity, 1 stop bit, and enable the option that echoes typing (in Tera Term, this is done by
selecting the “Local echo” in Setup > Terminal). This ensures that the terminal software displays what you enter in the
terminal window; otherwise you cannot see what you are typing.
Alternatively, YAT is a user-friendly and feature-rich terminal. You can use YAT to define a set of commonly-used
CLI commands, then execute a desirable sequence of commands to set up a Mesh network for your needs.
3. INSTALLATION INSTRUCTIONS
The contents of the RSL10 Mesh zip file will install the Bluetooth Low Energy Mesh network support for the
ON Semiconductor RSL10 Software Development Kit (SDK). To install this, extract the files from the zip file at the
root of the RSL10 SDK installation. For example, if you installed RSL10 at C:\Program Files (x86)\ON
Semiconductor\RSL10 SDK, extract the Bluetooth Low Energy Mesh zip file in the RSL10 SDK subfolder. If the
extraction goes correctly, you will have new folders created for the Mesh as shown in Figure 1.

ON Semiconductor
www.onsemi.com
3
Figure 1. Extraction of the Mesh Zip File
The files are installed as follows in the RSL10 SDK subfolder (and illustrated in Figure 1):
• The Mesh support libraries in lib\mesh
• The Mesh sample codes in the source\samples
• The Mesh support documentation in the documentation folder, with documents from Mindtree in the
documentation\mindtree subfolder
4. USING THE MESH SAMPLE PROJECT
This procedure assumes you have installed the RSL10 Bluetooth Low Energy Mesh support according to the
instructions in Section 3., “Installation Instructions” on page 2.
4.1 Working with the Sample Project in the IDE
Detailed information about using the Integrated Development Environment to import sample code, build it, and
debug it can be found in the manual Getting Started with RSL10. To work with the Mesh sample project specifically,
start the ON Semiconductor RSL10 SDK and perform the following steps:
1. Choose File > Import > General > Existing Projects into Workspace, and click Next.
2. Navigate to the RSL10 SDK installation folder and select the source\samples\ble_mesh project folder for the
root project folder.
3. Ensure you select Copy project into workspace during the project import procedure so that you do not
modify the original project.
4. Select the ble_mesh project and click Finish.
5. Continue with building the Bluetooth Low Energy Mesh project from the IDE C/C++ perspective.
For more details about the ble_mesh sample application, continue reading the following sections.

Getting Started with RSL10 Bluetooth Low Energy Mesh
www.onsemi.com
4
4.2 Mesh Network Setup Using the Stand-alone Provisioner
4.2.1 Goals
These instructions show how to create a Mesh network with the stand-alone Provisioner application. The
stand-alone Provisioner only applies to PB-ADV. The main goal in this section is to show how to use the stand-alone
Provisioner to set up and test a Mesh network.
Overview of the process:
1. Flash load three Mesh firmware applications into three different RSL10 Evaluation and Development Boards:
the Mesh Provisioner, the Mesh Client, and the Mesh Server.
2. Use the Provisioner to provision the Client and Server(s) devices.
3. Use the push button on the Provisioner to set the publish information on the Client, and send OnOff commands
to selected Servers.
4.2.2 Stand-Alone Application for Provisioner
To build the stand-alone Provisioner application, define the constant MESH_APP with the value
MESH_APP_SA_ADV_PROVISIONER in the ble_mesh\include\app_mesh.h file.
After building this application successfully, use it to program an RSL10 board which then becomes the Provisioner
(it provisions a device as soon as it sees the beacon, so we recommend powering it off until everything is ready for
testing).
NOTE: In general, you should reset the provisioning information in a device if you are trying to use it in
a new network with a new Provisioner. While you do not need to reset it the first time you set up
the network, if you reprogram the device with a different stand-alone application, you must reset
the provisioning information before trying to provision it once more.
Refer to Section 4.2.5, “Reset Provisioning Information” on page 5 to reset the provisioning information.
4.2.3 Stand-Alone Application for Generic OnOff Client
To build the stand-alone Client application, define the constant MESH_APP with the value
MESH_APP_SA_ADV_CLIENT in the ble_mesh\include\app_mesh.h file.
After building this application successfully, use it to program an RSL10 board which then advertises as an
Unprovisioned device.
Refer to Section 4.2.5, “Reset Provisioning Information” on page 5 to reset the provisioning information.
4.2.4 Stand-Alone Application for Generic OnOff Server
To build the stand-alone Server application, define the constant MESH_APP with the value
MESH_APP_SA_ADV_SERVER_FRIEND in the ble_mesh\include\app_mesh.h file.
After building this application successfully, use it to program an RSL10 board which then advertises as an
Unprovisioned device.
Refer to Section 4.2.5, “Reset Provisioning Information” on page 5 to reset the provisioning information.
This step can be repeated as many times as desired to have more servers for testing.

ON Semiconductor
www.onsemi.com
5
4.2.5 Reset Provisioning Information
To prepare a device for provisioning:
1. Power on the device.
2. Press and hold the onboard SW1 push button on the device for at least five seconds until the LED has blinked
off/on five or more times. Release the button. After the provisioning information from any previous network is
cleared, the LED blinks at a slow rate. Power cycle the device.
4.2.6 Provision and Configure devices
The stand-alone Provisioner provisions and configures devices as soon as it sees the beacon. The order in which the
devices are powered on to be provisioned does not matter. There are two constraints on provisioning: the maximum
number of elements and the maximum number of models per element. Both of these constants (MAX_ELEMENTS and
MAX_MODELS_PER_ELEMENT) are defined in appl_adv_provisioner.c. MAX_ELEMENTS only includes the elements of
devices that are provisioned (i.e., the element on the stand-alone Provisioner does not count towards the limit). You can
make the values higher or lower by changing the constants.
4.2.7 Testing the Stand-alone Provisioner
Testing the stand-alone Provisioner can be summarized as follows:
1. Set up a network by provisioning a Client and a Server Node.
2. On the Provisioner, push the onboard push button which causes the stand-alone Provisioner to search through
the stored provisioned information, find a Client, and set its publication information to talk to the selected
Server.
3. Press the push button on the Client to send an OnOff command to the Server, which causes the Server’s LED
to turn on/off.
The details of the test are as follows:
1. Power on the stand-alone Provisioner.
2. Power on a device, such as a Server Node
3. Wait until you see MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE (for servers). The server
is now part of the mesh network and configured.
4. Power on the next device, such as a Client Node
5. Wait until you see Send Config Model App Bind with Retval - 0x0000 (for clients). The client is
now part of the mesh network and configured.
6. Power on and provision more devices as needed
7. On the Provisioner, press the onboard SW1 push button to set the publish information for the client. To select
the first server you provisioned, press the button quickly. To select the second server, press and hold the button
until the LED blinks once. To select the third server, press and hold the button until the LED blinks twice, and
so on.
8. On the Client Node, press the onboard SW1 push button to send an OnOff command to the selected server.
9. Repeat steps 7-8 with different server nodes selected as needed.
This demonstrates that the stand-alone Provisioner can both provision and configure nodes.
5. MORE INFORMATION
For more information about using RSL10 Mesh, see:

Getting Started with RSL10 Bluetooth Low Energy Mesh
www.onsemi.com
6
RSL10 Bluetooth Low Energy Mesh Release Notes
Lists new features and known issues in the latest release. This file is available from the
ON Semiconductor website and is not included in the zip file.
RSL10 Bluetooth Low Energy Mesh Sample Code User’s Guide
Describes what the Mesh sample application (ble_mesh) demonstrates, how to configure the
projects to set up different Mesh network scenarios, and how to verify correct operation.
EtherMind Mesh Documentation
User and reference manuals from Mindtree:
•EtherMind Mesh SDK Documentation: a compiled help file that provides the application
programmer interface (API) reference material
•EtherMind Mesh Application Developer’s Guide: provides guidelines for developing
applications using the EtherMind Mesh Core Stack and Models APIs
•EtherMind User Guide—Mesh Command Line Interface: how to use commands to configure
and control the devices on the Mesh network

M-20858-003
ON Semiconductor
Bluetooth is a registered trademark of Bluetooth SIG, Inc. Windows is a registered trademark of Microsoft Corporation. All other brand names and product names appearing in this
document are trademarks of their respective holders.
ON Semiconductor and are trademarks of Semiconductor Components Industries, LLC dba ON Semiconductor or its subsidiaries in the United States and/or other
countries. ON Semiconductor owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property. A listing of ON Semiconductor’s
product/patent coverage may be accessed at www.onsemi.com/site/pdf/Patent-Marking.pdf. ON Semiconductor reserves the right to make changes without further notice to any
products herein. ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does
ON Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation
special, consequential or incidental damages. Buyer is responsible for its products and applications using ON Semiconductor products, including compliance with all laws,
regulations and safety requirements or standards, regardless of any support or applications information provided by ON Semiconductor. “Typical” parameters which may be
provided in ON Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters,
including “Typicals” must be validated for each customer application by customer’s technical experts. ON Semiconductor does not convey any license under its patent rights nor
the rights of others. ON Semiconductor products are not designed, intended, or authorized for use as a critical component in life support systems or any FDA Class 3 medical
devices or medical devices with a same or similar classification in a foreign jurisdiction or any devices intended for implantation in the human body. Should Buyer purchase or
use ON Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold ON Semiconductor and its officers, employees,
subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of
personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that ON Semiconductor was negligent regarding the design or
manufacture of the part. ON Semiconductor is an Equal Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in
any manner.
PUBLICATION ORDERING INFORMATION
LITERATURE FULFILLMENT:
Literature Distribution Center for ON Semiconductor
19521 E. 32nd Pkwy, Aurora, Colorado 80011 USA
Phone: 303-675-2175 or 800-344-3860 Toll Free USA/Canada
Fax: 303-675-2176 or 800-344-3867 Toll Free USA/Canada
Email: orderli[email protected]
N. American Technical Support: 800-282-9855 Toll
Free USA/Canada
Europe, Middle East and Africa Technical Support:
Phone: 421 33 790 2910
ON Semiconductor Website: www.onsemi.com
Order Literature: http://www.onsemi.com/orderlit
For additional information, please contact your local
Sales Representative
Other manuals for RSL10
11
Table of contents
Other ON Semiconductor Control Unit manuals
Popular Control Unit manuals by other brands

Powers
Powers Hydroguard 410 5 Technical instructions

CLA-VAL
CLA-VAL 90-01 Installation operation & maintenance

MP
MP 401 Instructions for installation, use and maintenance

Beckhoff
Beckhoff M2510 Technical description

Hydac
Hydac FCU 8000 Series Operating and maintenance instructions

ROYOLE
ROYOLE FLX user manual

ehang
ehang G-BOX operating manual

Emerson
Emerson Anderson Greenwood 9300 Series Installation and maintenance instructions

Hikmicro
Hikmicro Mini Series quick start guide

Ventam
Ventam 85 Installation & commissioning instructions

Viessmann
Viessmann Vitotronic 100 HC1 Installation and service instructions

Racal Instruments
Racal Instruments 1260-93 user manual