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修订历史记录

连接设备

连接设备的第一步是将 SPP LE 服务和特性添加到 LightBlue 中。要手动执行此操作,请在 LightBlue 中创建一个空白的虚拟外设,然后添加必要的服务和特性。另一个选项是在 SPPLEDemo 充当服务器的同时克隆 SPPLEDemo。要克隆 SPPLEDemo,首先如上所述连接 2 个设备。连接 2 个设备后,选择显示屏右上角的“Clone”选项。应用返回到设备列表,您将观察到 SPPLEDemo 列为虚拟外设,如下所示:


GUID-20230227-SS0I-HNPV-VDVT-JNNQXPB0H5WB-low.png

注: 确保选中 SPPLEDemo 左侧的复选框,如图所示。如果未选中,iDevice 未进行广播并且 SPPLEDemo 无法连接。

克隆后,SPP LE 服务现在可以与设备连接。接下来,重新启动 SPPLEDemo,并在出现提示时启动该应用作为客户端。下一步,使用 StartScanning 命令进行扫描以查找 iOS 设备。找到 iOS 设备后,使用 StopScanning 命令停止扫描。现在使用 ConnectLE 5c75524c733a 1 命令连接到 iOS 设备。之后,在 10 秒时间范围内运行 DiscoverSPPLE 5c75524c733a 命令。SPP LE 服务发现完成后,在 25 秒时间范围内运行 ConfigureSPPLE 5c75524c733a。如果命令未在这些时间范围内运行,iOS 设备将断开与 SPPLEDemo 的连接。配置 SPP LE 特性后,2 个应用保持连接,但请注意,如果 iOS 设备进入睡眠状态,则会关闭连接。运行刚刚介绍的命令后,在 SPPLEDemo 的终端中将观察到类似以下内容的输出:

OpenStack().
Bluetooth Stack ID: 1.
Device Chipset: 4.1.
BD_ADDR: 0xd03972cdab68

 Command Options: Server, Client, Help 

SPP+LE>Client

 Command Options General: Help, GetLocalAddress, SetBaudRate 
 Quit, 
 Command Options BR/EDR: Inquiry, DisplayInquiryList, Pair, 
 EndPairing, PINCodeResponse, 
 PassKeyResponse, 
 UserConfirmationResponse, 
 SetDiscoverabilityMode, 
 SetConnectabilityMode, 
 SetPairabilityMode, 
 ChangeSimplePairingParameters, 
 GetLocalName, SetLocalName, 
 GetClassOfDevice, SetClassOfDevice, 
 GetRemoteName, SniffMode, 
 ExitSniffMode, Open, Close, Read, 
 Write, GetConfigParams, 
 SetConfigParams, GetQueueParams, 
 DisplayRawModeData, AutomaticReadMode,
 SetQueueParams, Loopback, 
 CBSend. 
 Command Options GAPLE: SetDiscoverabilityMode, 
 SetConnectabilityMode, 
 SetPairabilityMode, 
 ChangePairingParameters, 
 AdvertiseLE, StartScanning, 
 StopScanning, ConnectLE, 
 DisconnectLE, PairLE, 
 LEPasskeyResponse, 
 QueryEncryptionMode, SetPasskey, 
 DiscoverGAPS, GetLocalName, 
 SetLocalName, GetLERemoteName, 
 SetLocalAppearance, 
 GetLocalAppearance, 
 GetRemoteAppearance, 
 Command Options SPPLE: DiscoverSPPLE, RegisterSPPLE, LESend, 
 ConfigureSPPLE, LERead, Loopback, 
 DisplayRawModeData, AutomaticReadMode 

SPP+LE>StartScanning
Scan started successfully.
SPP+LE>
etLE_Advertising_Report with size 36.
1 Responses.
Advertising Type: rtConnectableUndirected.
Address Type: atRandom.
Address: 0x5c75524c733a.
RSSI: -71.
Data Length: 21.
AD Type: 0x01.
AD Length: 0x01.
AD Data: 0x1a
AD Type: 0x07.
AD Length: 0x10.
AD Data: 0x39 0x23 0xcf 0x40 0x73 0x16 0x42 0x9a 0x5c 0x41 0x7e 0x7d 0xc4 0x9a 0x83 0x14
SPP+LE>
etLE_Advertising_Report with size 36.
1 Responses.
Advertising Type: rtScanResponse.
Address Type: atRandom.
Address: 0x5c75524c733a.
RSSI: -71.
Data Length: 11.
AD Type: 0x09.
AD Length: 0x09.
AD Data: 0x53 0x50 0x50 0x4c 0x45 0x44 0x65 0x6d 0x6f
SPP+LE>StopScanning
Scan stopped successfully.
SPP+LE>ConnectLE 5c75524c733a 1
Connection Request successful.
SPP+LE>
etLE_Connection_Complete with size 16.
Status: 0x00.
Role: Master.
Address Type: Random.
BD_ADDR: 0x5c75524c733a.
SPP+LE>
etGATT_Connection_Device_Connection with size 16:
Connection ID: 1.
Connection Type: LE.
Remote Device: 0x5c75524c733a.
Connection MTU: 23.
SPP+LE>
Exchange MTU Response.
Connection ID: 1.
Transaction ID: 1.
Connection Type: LE.
BD_ADDR: 0x5c75524c733a.
MTU: 131.
SPP+LE>
SPP+LE>DiscoverSPPLE 5c75524c733a
GATT_Start_Service_Discovery success.
SPP+LE>
Service 0x000f - 0x001b, UUID: 14839ac47d7e415c9a42167340cf2339.
SPP+LE>
Service Discovery Operation Complete, Status 0x00.
SPP+LE>ConfigureSPPLE 5c75524c733a
SPPLE Service found on remote device, attempting to read Transmit Credits, and configured CCCDs.
SPP+LE>
Write Response.
Connection ID: 1.
Transaction ID: 15.
Connection Type: LE.
BD_ADDR: 0x5c75524c733a.
Bytes Written: 2.
SPP+LE>
Write Response.
Connection ID: 1.
Transaction ID: 16.
Connection Type: LE.
BD_ADDR: 0x5c75524c733a.
Bytes Written: 2.
注: 当 SPPLEDemo 充当服务器时,用户必须使用 LightBlue 应用手动启用通知;但是,当运行 ConfigureSPPLE 命令时,SPPLEDemo 会自动处理启用通知。

现在,2 个设备已连接并配置完毕,设备可以在它们之间发送和接收数据。现在,选择 LightBlue 中的 SPPLEDemo 虚拟外设,以查看虚拟外设的特性。将在 iDevice 的显示屏上观察到以下内容或类似内容:


GUID-20230227-SS0I-V14Z-S7X4-CTXDWPNLCK01-low.png