Appearance
蓝牙协议 V1
本文档详细说明了基于BLE(低功耗蓝牙)的设备通信规范、接口定义和开发指南。
开始之前
在使用本协议之前,您需要:
- 一个可编程的蓝牙模块(支持BLE 4.0及以上)
- 具备蓝牙协议栈的基础知识(GATT、GAP等)
- 了解C语言或其他嵌入式开发语言
- 熟悉SM4加密算法和MD5签名
协议特性
本协议具有以下特点:
- 安全加密 - 支持SM4/AES128加密,保护数据安全
- 高兼容性 - 支持BLE 4.0+设备,覆盖主流平台
- 灵活扩展 - 模块化设计,易于扩展新功能
- 低功耗 - 基于BLE协议,优化电池续航
- 完整工具链 - 提供C-SDK和开发工具
添加设备时序图
- 扫描设备 - 使用UUID过滤扫描BLE设备
- 建立连接 - 连接到GATT服务器
- 获取公钥 - 发送
0x3090指令获取设备公钥(PublicKey) - 获取私钥和签名密钥 - 发送
0x3091指令获取私钥(PrivateKey)和签名密钥(SignKey) - 读取设备状态 - 发送
0x3040指令读取设备信息和特征值 - 添加超级管理员 - 发送
0x3001指令添加首个管理员,完成门锁初始化 - 执行操作 - 开锁、添加密码、查询记录等
蓝牙通信时序图
协议版本
| 版本 | 发布日期 | 主要变更 |
|---|---|---|
| v1.0 | 2024-11 | 初始版本,定义核心协议 |
| v1.1 | 2025-01 | 新增通用扩展指令(0x3030) |
| v1.2 | 2025-02 | 优化广播格式,支持厂商隔离 |
| v1.3 | 2026-03 | 新增 0x3041 门锁功耗数据读取协议 |
开发工具
1. 协议调试工具
推荐使用以下工具进行蓝牙协议调试:
| 工具名称 | 平台 | 功能 | 下载链接 |
|---|---|---|---|
| nRF Connect | Android/iOS | BLE扫描、GATT调试 | 官网 |
| LightBlue | iOS/macOS | BLE扫描、特性读写 | App Store |
| BLE Scanner | Android | BLE扫描、数据分析 | Google Play |
文档说明
本文档持续更新中,部分章节正在完善。如需查看特定功能的详细说明,请参考对应章节。
