在蓝牙通信体系中,服务发现协议(SDP, Service Discovery Protocol)扮演着 "服务目录" 的核心角色。对于串口通信协议(SPP, Serial Port Profile)而言,SDP 服务记录是设备间建立串口连接的基础:主设备(DevA)通过解析从设备(DevB)的 SDP 记录,获取 RFCOMM 通道号、协议版本等关键信息。本文将深度解析 SPP 中 SDP 的互操作性要求,结合协议规范与实战经验,为开发符合蓝牙 SIG 标准的串口设备提供完整指南。
一、SPP 服务记录的核心要素
SDP是蓝牙设备互联的"黄页系统",其核心价值在于建立设备间的服务认知桥梁。在Serial Port Profile中,SDP承担着关键的服务宣告与发现职能,特别是在设备角色划分明确的场景下(DevA作为客户端,DevB作为服务端),其实现细节直接影响着设备互操作性。
1.1 服务记录结构总览
每个服务记录由一组属性(Attribute)构成,属性包含:
-
属性ID:16位无符号整数,唯