HC-06蓝牙模块的主从机说明

HC-05,HC-06蓝牙模块的主从机说明

之前用过HC-05,HC-06蓝牙模块,HC-05是主从一体的,而HC-06应该是只有从机模式。最近要用到蓝牙模块,身边找到了BT-06的蓝牙模块,发现和HC-06的属性基本一致(蓝牙只有从机模式)。值得说明一下的是,两块蓝牙模块之间配对,只有块设定为一主机另一块设定为从机才能完成,如下:

情况是否可以配对
HC-05(主) HC-05(从)可以配对
HC-06 HC-06不可配对
HC-05(主) HC-06可以配对

对于从机蓝牙(如HC-06,BT-06)也可以使用AT命令进行配置,与主从一体的蓝牙模块差别在于其中的ROLE(主从机角色)不可配置,即使使用命令AT+ROLE=1(也可能AT+ROLE1,依不同型号的模块在指令上会有细小差别,后面的值 1:主机模式,0:从机模式)设定完毕,但在再次查询的时候,返回的值是0,代表从机模式不可更改,所以两块只有从机模式的蓝牙应该是没法配对的。

### HC-05蓝牙模块主从配对示例代码 对于HC-05蓝牙模块,在主从模式下进行配对和通信,通常需要通过发送特定的AT指令来设置主设备和从设备。以下是具体的操作方法以及相应的代码示例。 #### 设置端(Slave) 为了使HC-05作为从设备运行,可以通过向其发送一系列初始化命令来进行配置: ```cpp // 初始化串口通讯波特率为9600bps Serial.begin(9600); delay(10); // 进入命令模式 Serial.println("AT"); delay(100); // 设定角色为SLAVE Serial.println("AT+ROLE=0"); delay(100); // 关闭可发现性以节省电量并提高安全性 Serial.println("AT+CMODE=0"); delay(100); // 保存当前参数至EEPROM中以便下次开自动加载 Serial.println("AT&W"); delay(100); ``` 上述代码片段用于设定HC-05处于从属状态,并关闭了它的可见性[^3]。 #### 设置端(Master) 同样地,为了让另一个HC-05成为主控单元,则需执行如下操作: ```cpp // 初始化串口通讯波特率为9600bps Serial.begin(9600); delay(10); // 进入命令模式 Serial.println("AT"); delay(100); // 设定角色为主站 Serial.println("AT+ROLE=1"); delay(100); // 开启经典蓝牙模式下的任意连接方式 Serial.println("AT+CMODE=1"); delay(100); // 配置目标地址,这里假设对方MAC地址已知 String macAddress = "98:D3:31:B7:A4:E2"; // 替换成实际的从设备MAC地址 char buffer[18]; macAddress.toCharArray(buffer, sizeof(buffer)); sprintf_P(buffer,"AT+BIND=%s",buffer); Serial.println(String(buffer)); // 尝试建立链接 Serial.println("AT+LINK=" + String(macAddress)); delay(100); // 保存当前参数至EEPROM中以便下次开自动加载 Serial.println("AT&W"); delay(100); ``` 这段程序负责把指定的HC-05转换成主控制台,并尝试与之前定义好的从节点创建链路关系。 一旦完成了以上步骤中的所有配置之后,就可以利用标准UART接口在两者间传递信息了。值得注意的是,当两方成功建立了关联以后,任何一方都可以主动断开这种联系;而如果希望重新握手的话,则必须再次发起请求过程。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值