nRF5 IoT SDK  v0.9.0
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
BLE Node Configuration Service

The Node Configuration Service exposes information necessary to configure the node so it can be added to the network. This service is not a service defined by the Bluetooth SIG, but a proprietary service defined by Nordic Semiconductor to demonstrate commissioning of a node.

The Node Configuration GATT Service does not depend on any other services and can operate only on Bluetooth low energy as transport.

The Node Configuration Service defines two new error codes for the Attribute Protocol:

  • Node Configuration Incomplete – 0x81
  • Unknown Opcode – 0x82
  • Invalid Attribute Value – 0x83

This service is instantiated as a primary service. Data exchange is in little endian (LSB first) order.

Proprietary service UUID

The assigned service UUID is 0x1531 over proprietary base. See the following table for Nordic Semiconductor's UUID:

Description Number base
Company identifier: 0x0059
UUID base: 0x73, 0x3E, 0x2D, 0x02, 0xB7, 0x6B, 0xBE, 0xBE, 0xE5, 0x4F, 0x40, 0x8F, 0x00, 0x00, 0x20, 0x54
Service UUID start: 0x7799
Characteristic UUID start: 0x779A

Service characteristics

The Node Configuration Service exposes one instance of the characteristics listed in the following table. The service does not impose any security requirements.

Characteristic name Requirement Mandatory properties Description
Commissioning SSID M Write See Commissioning SSID.
Commissioning Keys Store M Write See Commissioning Keys Store.
Commissioning Control Point M Write See Commissioning Control Point.

Commissioning SSID

The UUID of the Commissioning SSID characteristic is 0x77A9 over proprietary base.

The data received on this characteristic will serve as the manufacturer-specific data of the advertisement data the next time the node enters connectable mode in Joining mode. This characteristic must be written before Joining mode can be requested.

The size of the packet written to the Commissioning SSID characteristic must be between 6 and 16 octets. Packets must be in little endian (LSB first) order.

Commissioning Keys Store

The UUID of the Commissioning Keys Store characteristic is 0x77B9 over proprietary base.

The data received on this characteristic will serve as the Passkey while establishing a secure connection to the router in Joining mode. This characteristic must be written before Joining mode can be requested. An array of length zero must be written to indicate the absence of OOB data.

The size of the packet written to the Commissioning Keys Store characteristic must be between 0 and 8 octets. Packets must be in little endian (LSB first) order.

Commissioning Control Point

The UUID of the Commissioning Control Point characteristic is 0x77C9 over proprietary base.

The Commissioning Control Point characteristic is used to control the state of the commissioned node.

The following table shows control point procedure operation codes and the respective parameters.

NamesField requirementFormatAdditional information
Opcode Mandatory uint8 Enumerations:
KeyValueDescription
0Reserved for future use
1Enter Joining modeEnter connectable mode and wait for a connection from the router. Must be preceeded by writing the Commissioning SSID and Commissioning Keys Store characteristics.
2Enter Configuration modeEnter connectable mode and wait for a connection from the TTP with the new settings.
3Enter Identity modeThe node makes itself known if supported by the hardware.
4-255Reserved for future use
Action delay Mandatory uint32 Number of seconds before the action selected by the Opcode should be executed.
Duration Mandatory uint32 Number of seconds as the duration of the mode selected by the Opcode.
State-on-failure Mandatory uint8 Value identifying the state that the node should enter in event the procedure did not succeed.
Enumerations:
KeyValueDescription
0No mode changeEnter the same mode again, restart the timer as set by the Duration field previously.
1Power offPower off the node. If powered on again, the node will enter connectable mode in Configuration mode.
2Enter Configuration modeEnter connectable mode and wait for connection from the TTP.
3-255Reserved for future use
Identity data Optional uint8[0-8] If the length is greater than zero, this array will serve as the content of the manufacturer specific data in the the scan response data the next time the node enters connectable mode.