0

我试图使用我的 HC-05 模块作为中心节点来扫描附近的蓝牙设备。但是我遇到了以下命令的问题: AT+INQ给出响应错误:(1F)并 AT+INIT给出响应错误:(17)但后来我发现错误:(17)是由于SPP重复初始化,我认为这不是一个严重的. 但我不知道什么是错误:(1F)。

我正在遵循这个程序: 除了和之外的AT+INIT AT+IAC=9E8B33 AT+INIT AT+IAC=9E8B33 AT+CLASS=0 AT+INQM=1,9,48 AT+INQ
每个命令都可以正常工作。我提到的文件是https://cdn.instructables.com/ORIG/FKY/Z0UT/HX7OYY7I/FKYZ0UTHX7OYY7I.pdf,这里也没有提到错误代码1F。我尝试了其他网站,但没有任何解决方案。AT+INITAT+INQ

我还尝试按住模块上的小按钮(无 KEY 引脚)然后通过 AT+INQ,这也给出了相同的错误响应。所有其他 AT 命令工作正常,在主从模式之间切换没有问题。

固件版本:3.0-20170601

如果有人遇到同样的问题,或者找到任何解决方案,请帮助我..

4

1 回答 1

2

我有一个带有 3.0-20170601 的 HC-05,我昨晚设法绑定到一个奴隶。事实证明,v3 有两种 AT 模式。

第一种是在连接电源时按住按钮。LED 将缓慢闪烁,您可以以 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 重启设备变为master

AT+CMODE=1 接受各种设备

AT+INQM=0,5,5 在标准模式下查询,最大连接数为 5 或 5 秒

AT+PSWD="9999" 设置密码9999,改成你需要的密码

在此之后是时候更新 arudino 代码了。在您的情况下,您应该更新第 4 行

const long baudRate = 38400;

const long baudRate = 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)

于 2018-12-30T08:26:59.133 回答