BLE

BLE

BLE技术揭秘

工作流程:广播Advertising、扫描Scanning、连接Connection、通信、断开。

主机 Central(可以发起对从机的扫描连接)和从机 Peripheral(只能广播并等待主机的连接)建立连接之后才能相互收发数据。

广播是指从机每经过一个广播间隔发送一次广播数据包 advertising pocket

主机作为GATT的Client端,可以发现和获取从机的服务 Service特征值 Characteristic,然后与之通信WriteRead数据。从机Notify数据。

每个服务和特征值都有自己的唯一标识 UUID,标准UUID为128位。特征值有属性 Property:可读R/W/N。

UUID serviceUUID = UUID.fromString("8CBEBE01-0001-0002-0003-0123456789ab");

从机Profile

连接过程:

  1. 从机开始广播 Advertising
  2. 主机扫描 Scanning
  3. 发现 Found从机,获得设备名称、MAC地址、RSSI信号值等
  4. 发送连接请求 Connecting,通过MAC地址
  5. 成功连接 Connected
  6. 获取从机的服务 Discovery Service,成功获取服务
  7. 发送数据,主->从:Read/Write,从->主:Notify
  8. 断开请求 Disconnecting,成功断开 Disconnected

?

HID

android设备通过BluetoothHidDevice模拟键鼠等蓝牙HID设备,控制iOS、Android、PC等

blog、项目:HidPerpheralbluetooth-remoteBLE-HID-Peripheral-for-Android