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.
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  | 
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 | The Device Key Refresh Interface.  | 
| uuid_128 | [in] | uuid | UUID of the device to provision. Valid if dkri is not 0xff  | 
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