我的新蓝牙HC-05模块有问题。在AT模式下,它与我需要的所有命令完美配合...执行INQ。 我事先试图发送一大堆其他命令:
AT+INIT
OK
AT+ORGL
OK
AT+ROLE=1
OK
AT+CLASS=0
OK
他们都工作得很好。我也试图改变IAC和INQM设置......但是模块的答案总是一样的:
AT+INQ
ERROR:(1F)
我看了related topic here并尝试按下HC-05上的按钮,因为它在那里推荐,但是 - 没有结果。 我有三个来自同一个商店的模块,它们都以相同的方式工作
答案 0 :(得分:0)
我有一个带有3.0-20170601的HC-05,昨晚我设法将其绑定到一个奴隶。事实证明,v3具有两种AT模式。
第一个是在连接电源时按住按钮。指示灯将缓慢闪烁,您可以以38400的波特率连接。但这就像配置模式,其中AT + INQ不可用。
在这种模式下,我执行了以下命令:
AT
AT+UART
AT+RMAAD
AT+ROLE=1
(按住按钮)
AT+RESET
(在设备重新启动并且指示灯缓慢闪烁后释放按钮)
AT+CMODE=1
AT+INQM=0,5,5
AT+PSWD="9999"
AT应该给出OK作为答案,以了解连接是否正常
AT + UART将显示配置的波特率。默认值为9600。
AT + RMAAD清除所有保存的连接
AT + ROLE = 1将其设置为主控
AT + RESET重新启动设备以更改为主设备
AT + CMODE = 1接受各种设备
AT + INQM = 0,5,5在标准模式下查询,最大连接数为5或5秒
AT + PSWD =“ 9999”设置密码9999,更改为所需的密码
此后,是时候更新arudino代码,使其连接到配置的波特率了。就像
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 (链接有效期至2018-08-13)
答案 1 :(得分:-1)
我们遇到同样的问题,您可以看到answer in here。
问题的结论是关于您使用的HC-05上的固件。如果您使用固件版本3.0,则会收到错误1F in AT+INQ
。也许固件版本3.0的HC-05具有不同的参数来运行AT + INQ。现在我对如何找到固件版本为2.0的HC-05感到困惑。 HC-05有没有按钮。
简而言之,答案是:固件版本为2.0-20100601的(B)模块可以通过以下命令正常工作(上电时设置PIN34为高电平,或按下模块上的按钮并在命令期间保持按下状态)。
因此版本2.0的HC-05是否使用按钮,它是相同的。
如果您有关于HC-05 3.0版和2.0版之间的不同信息,请告知我们。