ZHCACZ5 August   2023 CC2564C

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. 运行蓝牙代码
  6. 演示应用程序
    1. 3.1 演示应用程序上的设备 1(服务器)设置
    2. 3.2 演示应用程序上的设备 2(客户端)设置
    3. 3.3 从设备 2 启动连接
    4. 3.4 确定支持的服务
    5. 3.5 客户端和服务器之间的数据传输
    6. 3.6 多个 SPPLE 连接指南
  7. 使用 LightBlue 应用在 iOS 设备上演示 SPP LE
    1. 4.1 LightBlue 概述
    2. 4.2 SPP LE 服务概述
      1. 4.2.1 特性
  8. LightBlue 作为客户端/SPPLEDemo 作为服务器
    1. 5.1 连接设备
    2. 5.2 启用通知
    3. 5.3 从 LightBlue 中发送数据/在 SPPLEDemo 中接收数据
    4. 5.4 从 SPPLEDemo 中发送数据/在 LightBlue 中接收数据
  9. LightBlue 作为服务器/SPPLEDemo 作为客户端
    1. 6.1 连接设备
    2. 6.2 从 LightBlue 中发送数据/在 SPPLEDemo 中接收数据
    3. 6.3 从 SPPLEDemo 中发送数据/在 LightBlue 中接收数据
  10. 应用程序命令
  11. 常规命令
    1. 8.1 帮助 (DisplayHelp)
    2. 8.2 获取本地地址
    3. 8.3 设置波特率
    4. 8.4 退出
  12. BR/EDR 命令
  13. 10GAPLE 命令
    1. 10.1  设置可发现性模式
    2. 10.2  设置可连接性模式
    3. 10.3  设置可配对性模式
    4. 10.4  更改配对参数
    5. 10.5  广播 LE
    6. 10.6  启动扫描
    7. 10.7  停止扫描
    8. 10.8  连接 LE
    9. 10.9  断开 LE
    10. 10.10 LE 配对
    11. 10.11 LE 通行密钥响应
    12. 10.12 LE 查询加密
    13. 10.13 设置通行密钥
    14. 10.14 发现 GAPS
    15. 10.15 获取本地名称
    16. 10.16 设置本地名称
    17. 10.17 获取远程名称
    18. 10.18 LE 用户确认响应
    19. 10.19 启用仅 SC
    20. 10.20 重新生成 P256 本地密钥
    21. 10.21 SC 生成 OOB 本地参数
    22. 10.22 设置本地外观
    23. 10.23 获取本地外观
  14. 11SPPLE 命令
    1. 11.1 发现 SPPLE
    2. 11.2 注册 SPPLE
    3. 11.3 LE 发送
    4. 11.4 配置 SPPLE
    5. 11.5 LE 读取
    6. 11.6 环回
    7. 11.7 显示原始模式数据
    8. 11.8 自动读取模式
  15. 12参考文献
  16. 13修订历史记录

LE 配对

说明

提供 PairLE 命令是为了与连接的设备进行配对(或者,如果是从设备,则请求安全性)。该命令使用 SendPairingRequest (ConnectionBD_ADDR, LocalDeviceIsMaster) 调用 SendPairingRequest (BD_ADDR_tBD_ADDR, Boolean_t ConnectionMaster) 函数。

参数

使用此命令时不需要包含参数。参数对命令的结果没有影响。

可能的返回值

  • (0) 成功设置可配对性模式
  • (-4) FUNCTION_ERROR
  • (-6) INVALID_PARAMETERS_ERROR
  • (-2) BTPS_ERROR_INVALID_BLUETOOTH_STACK_ID
  • (-1) BTPS_ERROR_INVALID_PARAMETER
  • (-56) BTPS_ERROR_GAP_NOT_INITIALIZED
  • (-104) BTPS_ERROR_LOCAL_CONTROLLER_DOES_NOT_SUPPORT_LE
  • (-66) BTPS_ERROR_INSUFFICIENT_RESOURCES
  • (-107) BTPS_ERROR_INVALID_DEVICE_ROLE_MODE

API 调用

  • GAP_LE_Pair_Remote_Device(BluetoothStackID, BD_ADDR, &Capabilities, GAP_LE_Event_Callback, 0)
  • GAP_LE_Request_Security(BluetoothStackID, BD_ADDR, Capabilities.Bonding_Type, Capabilities.MITM, GAP_LE_Event_Callback, 0)

API 原型

  • int BTPSAPI GAP_LE_Pair_Remote_Device(unsigned int BluetoothStackID, BD_ADDR_t BD_ADDR, GAP_LE_Pairing_Capabilities_t *Capabilities, GAP_LE_Event_Callback_tGAP_LE_Event_Callback, unsigned long CallbackParameter)
  • int BTPSAPI GAP_LE_Request_Security(unsigned int BluetoothStackID, BD_ADDR_t BD_ADDR, GAP_LE_Bonding_Type_t Bonding_Type, Boolean_t MITM,GAP_LE_Event_Callback_t GAP_LE_Event_Callback, unsigned long CallbackParameter)

API 说明

提供 GAP_LE_Pair_Remote_Device 函数是为了能够与连接的远程设备配对。该函数将以下内容作为输入:当前连接的要配对的设备的地址以及本地设备的配对功能。此函数还将要在配对过程中使用的 GAP LE 事件回调信息作为输入。如果成功,此函数返回零;如果出现错误,则返回负的错误代码。该函数只能由连接的主设备(连接的发起方)发出。原因是从设备只能请求安全过程,而不能发起安全过程。提供 GAP_LE_Request_Security 函数是为了让从设备能够请求(连接的)主设备执行配对操作或重新建立先前的安全性。该函数只能由从设备调用。原因是从设备只能请求发起安全性,它无法自行发起安全过程。如果成功,此函数返回零;如果出现错误,则返回负的错误代码。