You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HM-10 BLE模块跨芯片连接其他BLE设备的技术咨询

HM-10/AT-09 连接非CC254X BLE设备问题解决指南

核心问题分析

你之前的思路偏差在于:HM-10默认的串口透传并不是直接转发任意BLE数据,而是绑定到自身默认的GATT服务(通常是0000ffe0-0000-1000-8000-00805f9b34fb服务和0000ffe1-0000-1000-8000-00805f9b34fb特征)。直接发指令+CRC到串口,数据只会被发送到HM-10自身的特征,而非目标设备的指定Service/Characteristic UUID,所以目标设备不会响应。

关键AT命令配置步骤

首先确保HM-10处于未连接BLE设备的状态,通过USB-RS232连接到Hterm,波特率设为默认的9600(8N1),进入AT模式:

  • 发送AT,收到OK即确认进入AT模式。

配置目标设备的Service和Characteristic UUID

根据你从Android APK中提取的UUID,执行以下命令(注意UUID格式:可带分隔符-或直接用连续十六进制字符串,部分固件要求小写):

  1. 设置目标Service UUID:
    AT+UUID=<目标Service UUID>
    
    示例:AT+UUID=12345678-1234-5678-1234-56789abcdef0
  2. 设置目标Characteristic UUID:
    AT+CHAR=<目标Characteristic UUID>
    
    示例:AT+CHAR=87654321-4321-8765-4321-0fedcba987654321
  3. 保存配置并重启:
    AT+SAVE
    AT+RESET
    

连接目标设备

重启后,发送连接命令(MAC地址格式为AA:BB:CC:DD:EE:FF或不带冒号的AABBCCDDEEFF):

AT+CON=<目标设备MAC地址>

收到OK+CONN即表示连接成功。

后续验证与排查

  1. 指令发送验证:连接成功后,将指令+CRC16-Modbus值以十六进制形式发送到串口,此时HM-10会自动将数据转发到目标设备的指定特征上。
  2. 抓包排查:之前用Wireshark抓手机和目标设备的包看不到指令是正常的,要验证数据是否发送,需用BLE嗅探工具抓取HM-10与目标设备之间的BLE数据包,或者查看Hterm中是否收到目标设备的回应。
  3. 兼容性检查:固件6.01的HM-10对非CC254X设备可能存在兼容性问题,如果配置后仍无响应,可尝试升级到最新兼容固件(注意备份原配置)。
  4. 特征权限确认:确认目标设备的Characteristic是否支持Write或Write Without Response权限,若仅为通知/指示特征,写入操作自然不会有响应,需核对APK中对应的特征权限。

内容的提问来源于stack exchange,提问作者user18648645

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:06:51