zoukankan      html  css  js  c++  java
  • Smobiler低功耗蓝牙连接的过程和参数的含义

    参数的含义

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


    连接和通讯的过程

    1


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

    23


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

    4

    • 如果匹配成功,则获取发送和接收信息的特性对象,并开启接受服务
      (备注:在确认接受特性后,需要设置特性服务的Descriptors可接收,否则设备获取不到蓝牙发送的信息)
    • 到此,蓝牙设备已经连接上了
    • 蓝牙交互
    • 通过对uuidTransmitCharUuid特性服务写入内容,服务端传递信息给客户端后,客户端通过此接口可发送信息给蓝牙设备
    • 在蓝牙接口BluetoothGattCallback中有onCharacteristicChanged方法,此方法在连接上蓝牙后,会实时接收蓝牙设备发送的信息.通过此接口的回调内容,可以发内容接收并传给服务端.
    • 服务端也可以手动连接和断开指定的蓝牙设备,Smobiler客户端已适配方法.
  • 相关阅读:
    洛谷——P1141 01迷宫
    洛谷——P1781 宇宙总统
    洛谷——P1608 路径统计
    洛谷——P1144 最短路计数
    洛谷—— P1162 填涂颜色
    python(22)- 递归和函数式编程
    android驱动例子(LED灯控制)
    Android之SDK、NDK、JNI和so文件
    NDK 与 JNI 的关系
    Android之NDK开发
  • 原文地址:https://www.cnblogs.com/smobiler/p/11429930.html
Copyright © 2011-2022 走看看