HM-10连接长UUID问题:如何通过AT+CHAR设置完整特征UUID?
解决HRM设备长特征UUID设置问题
核心思路
BLE的128位UUID由固定基础UUID(00000000-0000-1000-8000-00805F9B34FB)和自定义部分组成。针对你的AT命令仅支持输入16位(0xFFFE范围)特征值的限制,可通过以下方法处理32位/128位自定义UUID:
方法1:尝试AT命令的长UUID输入格式
很多BLE模块的AT命令支持扩展参数,直接输入完整128位UUID:
- 先绑定目标服务的完整UUID:
AT+UUID=00112233-4455-6677-8899-AABBCCDDEEFF(替换为你的HRM设备实际服务UUID) - 再输入特征的完整128位UUID:
AT+CHAR=00112233-4455-6677-8899-AABBCCDDEEFF
部分模块会自动解析超出16位的UUID部分,无需拆分。
方法2:扫描获取UUID映射后拆分设置
- 执行
AT+SCAN命令扫描目标HRM设备,获取其广播的完整服务与特征UUID - 如果自定义UUID是基于基础UUID扩展的(比如
1234ABCD-0000-1000-8000-00805F9B34FB),提取特征UUID的16位核心部分(ABCD),用AT+CHAR=ABCD配合之前设置的对应服务UUID完成绑定 - 若扫描返回完整特征UUID,确认模块是否支持通过
AT+UUID先锁定服务上下文,再用特征的相对ID设置
方法3:检查固件或配置扩展
- 查看BLE模块官方文档,确认是否有固件升级包可扩展
AT+CHAR命令的输入范围,支持128位UUID - 若模块支持高级配置模式,进入后修改UUID解析参数,解除16位输入限制
验证步骤
- 用扫描命令获取目标设备的完整服务、特征UUID
- 优先尝试完整128位UUID格式的
AT+CHAR命令 - 若失败,拆分UUID为核心16位+服务上下文的方式设置
- 执行
AT+CO1验证心率数据接收状态
内容的提问来源于stack exchange,提问作者Mohannad Haddad
相关产品推荐
相关产品推荐

