Chapter 2. API Reference
Public Members
const char *name
Name of the handler, which is passed to protocomm layer
uint16_t uuid
UUID to be assigned to the BLE characteristic which is mapped to the handler
struct protocomm_ble_config
Config parameters for protocomm BLE service.
Public Members
char device_name[MAX_BLE_DEVNAME_LEN]
BLE device name being broadcast at the time of provisioning
uint8_t service_uuid[BLE_UUID128_VAL_LENGTH]
128 bit UUID of the provisioning service
uint8_t *manufacturer_data
BLE device manufacturer data pointer in advertisement
ssize_t manufacturer_data_len
BLE device manufacturer data length in advertisement
ssize_t nu_lookup_count
Number of entries in the Name-UUID lookup table
protocomm_ble_name_uuid_t *nu_lookup
Pointer to the Name-UUID lookup table
Macros
MAX_BLE_DEVNAME_LEN
BLE device name cannot be larger than this value 31 bytes (max scan response size) - 1 byte (length) - 1 byte
(type) = 29 bytes
BLE_UUID128_VAL_LENGTH
MAX_BLE_MANUFACTURER_DATA_LEN
Theoretically, the limit for max manufacturer length remains same as BLE device name i.e. 31 bytes (max
scan response size) - 1 byte (length) - 1 byte (type) = 29 bytes However, manufacturer data goes along with
BLE device name in scan response. So, it is important to understand the actual length should be smaller than
(29 - (BLE device name length) - 2).
Type Definitions
typedef struct name_uuid protocomm_ble_name_uuid_t
This structure maps handler required by protocomm layer to UUIDs which are used to uniquely identify BLE
characteristics from a smartphone or a similar client device.
typedef struct protocomm_ble_config protocomm_ble_config_t
Config parameters for protocomm BLE service.
2.4.2 Unified Provisioning
Overview
Unified provisioning support in the ESP-IDF provides an extensible mechanism to the developers to configure the
device with the Wi-Fi credentials and/or other custom configuration using various transports and different security
schemes. Depending on the use-case it provides a complete and ready solution for Wi-Fi network provisioning
along with example iOS and Android applications. Or developers can extend the device-side and phone-app side
implementations to accommodate their requirements for sending additional configuration data. Following are the
important features of this implementation.
Espressif Systems 674
Submit Document Feedback
Release v4.4