1. 蓝牙问题,使用内部自带的BluetoothClient(经典蓝牙)只能识别已经配对的蓝牙,无法scan所有未连接的蓝牙,可以使用第三方扩展的的BLE蓝牙,就可以搜索并连接所有蓝牙。
2. 搜索并连接蓝牙的步骤,初始化 -> 发现并显示BLE设备 -> 连接设备 -> 显示已连接设备名称,可以参考如下:


3. 在ESP32中用户自定义的BLE UUID为2个字节,如服务为0x00FF,特征为0xFF01,使用App向对应特性写数据时,要扩展正标准128字节,否则会出现提示:该UUID错误,未被识别!如下为错误方式:

蓝牙 SIG 定义的基本 UUID 模板为 0000xxxx-0000-1000-8000-00805F9B34FB,其中 xxxx 就是需要替换的 2 字节 UUID 部分,正确的扩展如下,注意大小写要一致:

4. 如果需要实时监听收到的数据,则需要先调用BLE.RegisterForBytes方法,然后在BLE.BytesReceived事件里处理接收到的数据:

注意:List数据的Index是从1开始的,不是0.
5. BLE只能识别传统广播模式(Legacy Advertising),跟蓝牙版本无关。不支持任何其他广播模式,包括不支持扩展广播、周期性广播、辅助信道广播、广播载荷突破31字节、速度提升等模式。
2388

被折叠的 条评论
为什么被折叠?



