锂电池蓝牙BLE协议详解与交互流程

需积分: 4 1 下载量 31 浏览量 更新于2024-08-04 收藏 42KB DOCX 举报
"锂电池蓝牙协议(征集意见2)" 是一种专用于锂电池与电柜或手机之间通过蓝牙低功耗(BLE)技术进行数据交换的通信协议。该协议利用BLUETOOTH GATT(Generic Attribute Profile)通道,使电池端作为GATTSERVER(服务器),而电柜或手机端作为GATTCLIENT(客户端)进行交互。电池端通过自身的序列号进行广播,以便客户端发现并建立连接。 协议交互流程分为五个阶段: 1. 客户端发现服务器的服务访问点,可以通过电池序列号或MAC地址匹配寻找。 2. 客户端连接服务器。 3. 客户端发起鉴权请求,如果在连接后5秒内未进行鉴权,服务器将断开连接。 4. 服务器验证通过后保持连接,否则断开连接。 5. 客户端通过服务访问点查询所需数据。 协议提供了特定的服务访问点(0X8900),包括五个子服务: 1. 鉴权请求(0X8901):使用平台统一提供的加密和解密函数库,鉴权失败将无法读取其他子服务信息。 2. 查询电池基础信息(0X8902):通过READ指令获取基础信息。 3. 电芯模拟量1(0X8903):读取电芯1至10的电压信息,通过READ方法。 4. 电芯模拟量2(0X8904):同上,但有效长度为20字节,16串设备后续字段填充0XFF。 5. 故障信息(0X8905):通过READ或NOTIFY获取,有效长度为8字节。 各参数说明如下: - 鉴权码:17字节,需写入的鉴权码用于鉴权过程。 - 电池状态:1字节,表示电池的状态,如移动、静止或存储。 - 总电压:2字节,单位为V*100,总电压放大100倍。 - 总电流:2字节,单位为A*100,电池电流放大100倍,负值代表充电,正值代表放电。 - SOC:1字节,0到100,表示电池容量的百分比。 - SOH:1字节,0到100,表示电池健康度的百分比。 - 速度:1字节,0到255,单位为千米/小时,整型。 - 电池控制:1字节,0到4,表示电池状态,如放电、充电、负载在位、充电在位或空载。 - MOS温度:1字节,可读取电池相关部件的温度。 此协议旨在确保锂电池安全、高效地通过蓝牙BLE与外部设备进行数据交互,实现电池状态监控、故障检测等功能。