You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

HM-10蓝牙模块设置AT+IMME指令后连接异常问题咨询

解决HM-10仅允许Android设备主动发起连接的配置问题

我来帮你梳理下HM-10的配置问题,你遇到的情况其实是对AT+IMME参数的作用理解有偏差,加上配套参数没设置到位导致的。先给你拆解核心参数的逻辑,再一步步给出解决方案:

关键参数解析

  • AT+IMME=0:这是自动连接模式,模块会主动尝试连接之前配对过的设备——这就是你遇到“手机开蓝牙就自动连”的原因,同时这个模式下模块默认是可见的,所以能被搜到。
  • AT+IMME=1:这是手动连接模式,模块不会主动发起连接,但默认是不可被发现的——这就是你设置后搜不到模块的核心问题!

正确配置步骤

要实现“仅手机主动发起连接”,需要把模块设为手动模式,同时强制开启可见性,还要清除旧的配对记录避免自动回连,步骤如下:

  1. 进入AT命令模式:确保模块未连接任何设备,用串口工具(波特率默认9600,8N1)发送AT,如果返回OK说明进入命令模式成功。
  2. 清除所有配对设备记录:发送AT+RMAAD,返回OK即可,这一步是为了让模块忘记之前连接过的Android设备,避免残留的自动连接逻辑。
  3. 设置为手动连接模式:发送AT+IMME=1,返回OK,此时模块不会主动发起连接。
  4. 开启模块可见性:发送AT+ADVI=1(参数说明:0=不可见,1=持续可见,2=间隔广播可见),选择12都可以,只要保证模块能被手机搜到。
  5. 保存配置(重要):发送AT+SAVE,返回OK,这样重启模块后配置不会丢失。
  6. 重启模块生效:发送AT+RESET,模块重启后就会按照新配置工作。

验证效果

配置完成后:

  • Android设备可以正常搜索到HM-10模块
  • 只有当手机主动发起连接时,模块才会响应建立连接
  • 连接断开后,模块不会主动尝试回连,下次需要手机再次主动发起连接

额外注意点

  • 发送AT命令时,要确保串口工具添加了换行符(CR+LF),很多工具默认没开,会导致命令不生效。
  • 确认模块角色是从机:发送AT+ROLE?,如果返回+ROLE:0就是正确的(0=从机,1=主机),如果是1的话发送AT+ROLE=0修改并保存。
  • 如果还是搜不到,可以检查模块名称:发送AT+NAME=你的模块名称设置一个容易识别的名字,再保存重启。

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

火山引擎 最新活动