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

HM10蓝牙-UART模块如何启用首次连接PIN码认证?

解决HM10模块iPhone连接时PIN码验证不触发的问题

我之前也碰到过一模一样的情况——明明按手册设置了PIN码,iPhone用LightBlue之类的软件还是直接连上,完全不弹PIN输入框。折腾了好一阵才搞明白核心问题,给你一步步梳理解决办法:

核心原因:HM10默认启用SSP配对模式

iOS对蓝牙SSP(安全简单配对)的「Just Works」模式支持非常友好,这种模式下不需要输入PIN就能自动完成配对。所以哪怕你设置了PIN码,只要模块还处于SSP模式,iOS就会直接跳过PIN验证环节。咱们需要把模块切换回传统PIN配对模式,才能强制触发PIN输入要求。

具体操作步骤

1. 进入HM10的AT指令模式

HM10进入AT模式有两种常用方式,选你顺手的:

  • 方法一:上电前把模块的PIO11引脚接GND,然后给模块上电,此时模块进入AT模式,默认波特率为9600(8位数据位、1位停止位、无校验)。
  • 方法二:如果模块当前处于空闲状态(未连接任何设备),直接向串口发送AT指令,若返回OK,说明已经进入AT模式。

2. 检查当前配对设置

先确认模块当前的配对模式和PIN码配置:

  • 发送AT+TYPE?:查看配对类型,返回+TYPE:1表示启用SSP模式,+TYPE:0表示传统PIN模式。
  • 发送AT+PIN?:查看当前设置的PIN码,默认一般是00001234

3. 切换到传统PIN配对模式并设置自定义PIN码

  • 发送AT+TYPE=0:禁用SSP,切换到传统PIN配对模式,返回OK表示设置成功。
  • 发送AT+PINXXXX(把XXXX替换成你想要的4位/6位PIN码,比如AT+PIN123456),返回OK表示PIN码设置完成。
  • 发送AT+SAVE:保存所有配置,返回OK后断电重启模块,让设置生效。

4. iOS端重置配对缓存并重新连接

这一步绝对不能忘!如果你的iPhone之前和HM10配对过,iOS会保存配对缓存,哪怕模块改了设置,还是会自动连接。所以要:

  • 打开iPhone「设置」→「蓝牙」,找到HM10模块的名称,点击旁边的i图标,选择「忽略此设备」。
  • 重新搜索蓝牙设备,找到HM10后点击连接,此时应该会弹出PIN码输入框,输入你设置的PIN码就能完成配对。

额外注意事项

  • 固件版本限制:部分早期版本的HM10固件可能不支持关闭SSP,如果执行AT+TYPE=0返回ERROR,你需要升级模块的最新固件(可以找卖家索要固件和升级工具)。
  • 克隆版指令差异:不同厂家的HM10克隆模块可能指令略有不同,如果上面的指令不生效,可以试试AT+SSP0(禁用SSP)或者AT+AUTH1(启用PIN验证),具体以你手头模块的完整AT指令手册为准。
  • 串口调试细节:用串口助手(比如SSCOM、Putty)发送AT指令时,要注意勾选「发送新行」或者手动在指令末尾加\r\n,否则模块可能无法识别指令。

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

火山引擎 最新活动