首页 > 技术文章 > Smobiler低功耗蓝牙连接的过程和参数的含义

smobiler 原文

参数的含义

  • macAddress  顾名思义,每个蓝牙有它的设备地址.蓝牙外设的Mac地址,简而言之就是这个物理地址,每个设备都是唯一的,可以理解为省份证号。
  • uuidService  BluetoothGattService,蓝牙设备的服务对象.
  • uuidTransmitCharUuid 和 uuidReceiveCharUuid  BluetoothGattCharacteristic,蓝牙设备的特性,一个BLE设备可能有多个服务.同样每个服务可以有多个BluetoothGattCharacteristic特性。我们一般只会与某个特定BluetoothGattService中的某个特性BluetoothGattCharacteristic进行数据读写。


连接和通讯的过程

1


  • 搜索和连接蓝牙
  • 通过开启设备蓝牙搜索附近蓝牙设备的名称和设备地址
  • 弹出搜索到蓝牙设备,供用户选择并匹配

23


  • 通过连接回调,获取蓝牙设备的服务对象,判断设置的uuidService是否在此蓝牙设备中,如果不匹配,则断开连接

4

  • 如果匹配成功,则获取发送和接收信息的特性对象,并开启接受服务
    (备注:在确认接受特性后,需要设置特性服务的Descriptors可接收,否则设备获取不到蓝牙发送的信息)
  • 到此,蓝牙设备已经连接上了
  • 蓝牙交互
  • 通过对uuidTransmitCharUuid特性服务写入内容,服务端传递信息给客户端后,客户端通过此接口可发送信息给蓝牙设备
  • 在蓝牙接口BluetoothGattCallback中有onCharacteristicChanged方法,此方法在连接上蓝牙后,会实时接收蓝牙设备发送的信息.通过此接口的回调内容,可以发内容接收并传给服务端.
  • 服务端也可以手动连接和断开指定的蓝牙设备,Smobiler客户端已适配方法.

推荐阅读