我有一个 HC-05,其版本号为 3.0-20170601,昨晚我设法将其绑定到从属设备上。事实证明,v3 有两种 AT 模式。
第一种是在连接电源时按住按钮。 LED 将缓慢闪烁,您可以以 38400 波特率连接。但这就像配置模式,AT+INQ 不可用。
在这种模式下,我执行了以下命令:
AT
AT+UART
AT+RMAAD
AT+ROLE=1
(按住按钮)
AT+RESET
(设备重启且LED缓慢闪烁后松开按钮)
AT+CMODE=1
AT+INQM=0,5,5
AT+PSWD="9999"
AT 应该给出 OK 作为知道连接正常工作的答案
AT+UART 将显示配置的波特率。默认值为 9600。
AT+RMAAD 清除所有保存的连接
AT+ROLE=1 设置为master
AT+RESET 重启设备变master
AT+CMODE=1 接受各种设备
AT+INQM=0,5,5 标准模式下查询,最多 5 个连接或 5 秒
AT+PSWD="9999" 设置pin码9999,修改为你需要的pin
之后是时候更新 arduino 代码,以便它连接到配置的波特率。会是这样的
BTSerial.begin(9600);
...或者您可能将波特率设置为什么值。然后重新刷新你的arduino。
现在进入非常烦人的第二AT指令模式。
无需按住按钮即可开机。您将获得快速的眨眼速度。通电后,按住按钮。 LED 将继续快速闪烁,但按下按钮时,您现在可以按配置的波特率连接到设备。因此,打开串行监视器并键入 AT 进行验证。
请记住,该模式仅在按下按钮时才有效。所以保持按下状态。我在那里放了一个小夹子。
然后我输入这些命令:
AT+STATE
AT+STATE会显示当前状态,应该是查询
然后打开从设备的电源,地址应该开始弹出。它将类似于 xyz:xy:xyzw,931F00,7FFF
第一部分是你想要的地址(xyz:xy:xyzw)
更改: 为 ,并得到 xyz,xy,xyzw
检查您是否连接到正确的设备
AT+RNAME?xyz,xy,xyzw
然后绑定
AT+PAIR=xyz,xy,xyzw,5
AT+BIND=xyz,xy,xyzw
AT+LINK=xyz,xy,xyzw
AT+LINK 命令给我 FAIL 作为输出。但这并不重要。
我重新启动并且之前或之后都没有按任何按钮。正常启动而已。
5-10 秒后,串行数据显示在我的串行监视器中。
模块已绑定。并会在通电时自动连接。如果不是,您可能输入了错误的密码。确保将上面的 9999 更改为 0000 或 1234 或任何其他值。当我输入错误的引脚时,我仍然可以从 AT+PAIR 和 AT+BIND 命令中得到确定...直到我输入正确的引脚后,它才对我起作用。
很抱歉发了这么长的帖子,但我想说得更彻底,因为目前互联网上有关 HC-05 v3 的信息非常稀缺。
所有命令的参考可以在这里找到:http://www.Electronicaestudio.com/docs/istd016A.pdf http://www.electronicaestudio.com/docs/istd016A.pdf(链接有效期2018-08-13)