一、前言
本文面向希望基于ESP32实现BLE配网功能的开发着,通过梳理例程,帮助读者快速掌握从机模式的基本开发流程。
BLE是工作在从机模式,负责广播自身服务,主机(如:手机)扫描并发起连接,连接后进行配网,大部分基于乐鑫ESP32平台设备的配网链路如下:
BLE从机初始化(nimble_port初始化)->GATT服务注册(GATTF服务回调处理)->连接与配网。
二、BLE从机流程梳理:
要开启BLE从机工作,让手机APP过来连接,需要先完成以下几个步骤的初始化操作。
nvs_flash_init(); //nvs存放phy caliberation data
nimble_port_init(); //nimble蓝牙协议接口初始化
ble_svc_gap_init(); //gap初始化
ble_svc_gatt_init(); //gatt初始化
ble_gatts_count_cfg(); //gatt服务条目配置,应该是UUID
ble_gatts_add_svcs //gatt服务添加
nimble_port_run(); //ble接口开始运行
ble_advertise_start(); //开始广播
完成以上初始化操作后,手机APP端开启BLE扫描,可以看到广播的BLE从机设备