物联网数据通信与安全:蓝牙、TCP/IP及加密技术解析
1. 蓝牙协议介绍
蓝牙协议定义了完成特定功能的消息格式和流程,如链路控制、安全服务、服务信息交换和数据传输等。这里主要介绍蓝牙协议规范中的属性协议(ATT),蓝牙数据以属性形式存在,每个属性由四个元素组成:
- 属性句柄(Attribute handle) :类似于内存地址用于查找内存内容,属性句柄可帮助查找对应的属性。例如,第一个属性句柄是 0x0001,第二个是 0x0002,最大为 0xFFFF。
- 属性 UUID(Attribute UUID) :每个数据代表特定属性。如智能灯有设置开关状态和读取开关状态两个基本属性。
- 属性值(Attribute value) :是每个属性携带的信息,其他三个元素是为了让对等方更轻松地获取属性值。例如,智能灯设置开关状态的属性值,“1” 表示开灯,“0” 表示关灯;读取开关状态的属性值,“1” 表示开状态,“0” 表示关状态。
- 属性权限(Attribute permissions) :每个属性对其属性值有相应的访问限制,如有些属性可读,有些可写,有些可读可写。数据所有者可通过属性权限控制本地数据的属性权限。例如,智能灯的开关属性权限可设为可写不可读,读取开关状态的属性权限可设为只读不可写。
以下是智能灯基本功能的蓝牙属性列表:
| 属性句柄 | 属性 UUID | 属性值 | 属性权限 |
| — | — | — | — |
| 0x0001 | 设置开关状态 | 1/0