/** * 系统发送BluetoothAdapter.ACTIOIN_DISCOVERY_STARTED的广播开始搜索 * BluetoothDevice.ACTION_FOUND:发现一个设备发送一次该广播 * BluetoothAdapter.ACTION_FINISHED搜索结束,取消搜索mBluetoothAdapter.cancelDiscovery() * 搜索时间持续12秒 */ /** * 按照版本划分:经典蓝牙(2.0/3.0)和低功耗蓝牙(4.0) * 低功耗蓝牙:功耗低同时用来传输少量数据,适用于实时性要求比较高,但是数据速率比较低的产品 * BLE协议栈分类 * 控制器:协议栈底层实现,一般继承在SoC中,由芯片厂商实现 * 主机:协议栈上层实现,是 硬件的抽象 * 应用:使用Host(主机)层提供的API,开发的应用 * 在host和controller之间有一个接口层,HCI(实现俩层之间命令和事件交互) * CHI:蓝牙上层应用和芯片交互的必经之路(该层log能很好的分析和调试问题) * Host层属性协议ATT(是BLE通信基础) * ATT: 把数据封装,向外暴露属性,提供属性服务端(专门为低功耗蓝牙设计的,结构简单,数据长度短) * * 使用的通用属性配置文件GATT(建立在ATT基础上,对ATT进行进一步逻辑封装,定义数据的交互方式和含义),GATT按照层级定的概念: * 1. 服务service:把若干个相关的service组合在一起,就成为了一个profile配置