Wi-Fi provisioning Bluetooth LE transport
This library implements the Bluetooth® GATT transport layer for the Wi-Fi® provisioning service.
It provides the Bluetooth LE-specific implementation of the transport interface defined by the core Wi-Fi provisioning library.
The Bluetooth LE transport layer is designed to work with the core Wi-Fi provisioning library located at subsys/net/lib/wifi_prov/ directory.
Overview
The Bluetooth LE transport layer is responsible for:
GATT service interface - Defines the GATT service and serves as the transport layer for the provisioning protocol.
Bluetooth LE-specific message handling - Implements the transport functions required by the core library.
Connection management - Manages Bluetooth LE connections and handles characteristic notifications and indications.
Configuration
To use this library, enable the CONFIG_BT_WIFI_PROV Kconfig option.
Service declaration
The Wi-Fi Provisioning Service is instantiated as a primary service. Set the service UUID value as defined in the following table:
Service name |
UUID |
Wi-Fi Provisioning Service |
|
Service characteristics
The UUID value of characteristics are defined in the following table.
Characteristic name |
UUID |
Information |
|
Operation Control Point |
|
Data Out |
|
The characteristic requirements of the Wi-Fi Provisioning Service are shown in the following table.
Characteristic name |
Requirement |
Mandatory properties |
Optional properties |
Security permissions |
|---|---|---|---|---|
Information |
Mandatory |
Read |
No security required |
|
Operation Control Point |
Mandatory |
Indicate, Write |
Encryption required |
|
Operation Control Point - Client Characteristic Configuration descriptor |
Mandatory |
Read, Write |
Encryption required |
|
Data Out |
Mandatory |
Notify |
Encryption required |
|
Data Out - Client Characteristic Configuration descriptor |
Mandatory |
Read, Write |
Encryption required |
The purpose of each characteristic is as follows:
Information- For client to getInfomessage from server.Operation Control Point- For client to sendRequestmessage to server, and server to sendResponsemessage to client.Data Out- For server to sendResultmessage to the client.
Transport interface implementation
The Bluetooth LE transport layer implements the transport interface defined by the core Wi-Fi provisioning library:
wifi_prov_send_rsp()- Sends Response messages through Bluetooth LE indications on the Operation Control Point characteristic.wifi_prov_send_result()- Sends Result messages through Bluetooth LE notifications on the Data Out characteristic.
The transport layer also handles:
Receiving request messages from the Operation Control Point characteristic.
Providing info messages through the Information characteristic.
Managing Bluetooth LE connection state and characteristic subscriptions.
Dependencies
The Bluetooth LE transport layer depends on:
Bluetooth stack (
CONFIG_BT)nanopb for protobuf message handling
API documentation
include/net/wifi_prov_core/wifi_prov_core.hsubsys/bluetooth/services/wifi_prov