Bluetooth Mesh Remote Provisioning Client Model#
Bluetooth Mesh Remote Provisioning Client Model.
Remote Provisioning Client model is used to provision devices which are not within one hop from the provisioner.
Modules#
sl_btmesh_evt_remote_provisioning_client_scan_capabilities
sl_btmesh_evt_remote_provisioning_client_scan_status
sl_btmesh_evt_remote_provisioning_client_scan_report
sl_btmesh_evt_remote_provisioning_client_extended_scan_report
sl_btmesh_evt_remote_provisioning_client_link_status
sl_btmesh_evt_remote_provisioning_client_link_report
Enumerations#
Possible remote provisioning link states.
NPPI operation type.
Functions#
Macros#
Enumeration Documentation#
sl_btmesh_remote_provisioning_client_link_state_t#
sl_btmesh_remote_provisioning_client_link_state_t
Possible remote provisioning link states.
Enumerator | |
---|---|
sl_btmesh_remote_provisioning_client_link_state_idle | (0x0) Idle state |
sl_btmesh_remote_provisioning_client_link_state_opening | (0x1) Link Opening |
sl_btmesh_remote_provisioning_client_link_state_active | (0x2) Link active |
sl_btmesh_remote_provisioning_client_link_state_outbound_packet_transfer | (0x3) Outbound packet transfer |
sl_btmesh_remote_provisioning_client_link_state_closing | (0x4) Link Closing |
sl_btmesh_remote_provisioning_client_nppi_operation_t#
sl_btmesh_remote_provisioning_client_nppi_operation_t
NPPI operation type.
Enumerator | |
---|---|
sl_btmesh_remote_provisioning_client_nppi_device_key_update | (0x0) Update Device Key |
sl_btmesh_remote_provisioning_client_nppi_address_update | (0x1) Update device address. Note that also DCD will be updated if updated DCD is available |
sl_btmesh_remote_provisioning_client_nppi_dcd_update | (0x2) Update device DCD |
sl_btmesh_remote_provisioning_client_remote_provisioning | (0xff) Provision a remote device. |
Function Documentation#
sl_btmesh_remote_provisioning_client_init#
sl_status_t sl_btmesh_remote_provisioning_client_init ()
Initialize the remote provisioning client.
Returns
SL_STATUS_OK if successful. Error code otherwise.
sl_btmesh_remote_provisioning_client_get_scan_capabilities#
sl_status_t sl_btmesh_remote_provisioning_client_get_scan_capabilities (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
Get the value of the Remote Provisioning Scan Capabilities state.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_start_scan#
sl_status_t sl_btmesh_remote_provisioning_client_start_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t item_limit, uint8_t timeout_sec, uint8_t single_scan, uuid_128 uuid)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address |
uint16_t | [in] | elem_index | Client element index |
uint8_t | [in] | item_limit | Maximum number of scanned items to be reported. |
uint8_t | [in] | timeout_sec | Time limit for a scan (in seconds). Valid value range: [1 - 255]. |
uint8_t | [in] | single_scan | Whether to perform single UUID scan or multiple target scan. |
uuid_128 | [in] | uuid | UUID of the device to scan. Valid only for single UUID scan |
Start scanning for remote unprovisioned devices, within immediate radio range of the Remote Provisioning Server.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_get_scan_status#
sl_status_t sl_btmesh_remote_provisioning_client_get_scan_status (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
Request scan status.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_stop_scan#
sl_status_t sl_btmesh_remote_provisioning_client_stop_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
Stop Remote Provisioning Scan procedure.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_start_extended_scan#
sl_status_t sl_btmesh_remote_provisioning_client_start_extended_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t mode, uuid_128 uuid, size_t ad_types_len, const uint8_t * ad_types)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
uint8_t | [in] | timeout_sec | Time limit for a scan (in seconds). Used only if selected mode is 1 and then valid value range: [1 - 5]. |
uint8_t | [in] | mode | If 1 request additional information about a specific unprovisioned device. If 0 request additional information about the Remote Provisioning Server itself. |
uuid_128 | [in] | uuid | If mode is 1 identifies the Device UUID of the unprovisioned device for which additional information is requested. |
size_t | [in] | ad_types_len | Length of data in |
const uint8_t * | [in] | ad_types | list AD_types to be reported. List maximun size being 16. See https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/. |
Request additional information about a specific unprovisioned device or about the Remote Provisioning Server itself.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_open_link#
sl_status_t sl_btmesh_remote_provisioning_client_open_link (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t dkri, uuid_128 uuid)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
uint8_t | [in] | timeout_sec | Time limit for a scan (in seconds). |
uint8_t | [in] | dkri | Enum sl_btmesh_remote_provisioning_client_nppi_operation_t. Selection of Network Interface Operation or remote provisioning. |
uuid_128 | [in] | uuid | UUID of the device to provision. Valid if NPPI(dkri) procedure is not sl_btmesh_remote_provisioning_client_remote_provisioning |
Establish the provisioning bearer between a node supporting the Remote Provisioning Server model and an unprovisioned device, or to open the Node Provisioning Protocol Interface.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_get_link_status#
sl_status_t sl_btmesh_remote_provisioning_client_get_link_status (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
Get the Remote Provisioning Link state of a Remote Provisioning Server model.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_btmesh_remote_provisioning_client_close_link#
sl_status_t sl_btmesh_remote_provisioning_client_close_link (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t reason)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | enc_netkey_index | Network key used to encrypt the request on the network layer |
uint16_t | [in] | server | Server address. |
uint16_t | [in] | elem_index | Client element index |
uint8_t | [in] | reason | 0: success, 2:procedure failed, other not allowed. |
Close remote provisioning link.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events