HC05蓝牙模块(一)

GPIO_SetBits  设置为0!!!!!!!!不要忘记!

目录

注意事项

AT指令

总结


注意事项

1. 蓝牙模块,HC05,主从模式,不论是主机还是从机,都可以发送数据!不要犯傻!但是手机搜索的时候,该蓝牙应设置为从机

2. 正点原子的HC05模块是RXD TXD VCC GND KEY LED6个引脚,对应大部分HC05模块的RXD TXD VCC GND EN STATE

AT指令

进入方式:一般提前将EN接高(3.3/5V,HC05容忍5V和3.3V),然后在串口调试助手输入指令。AT指令具体操作,不粘了。。。。。。

注意点:

1. 必须要勾选发送新行那一项,手打\r\n是不行的,虽然很多说明书上都是这样标的,但是可以试试,不行。。。

2. 结束AT指令时,将EN接GND,然后输入AT+RESET之后,就算是结束了,这之后AT指令就输不进去了

总结

其实蓝牙模块就是个串口通信,神魔模式啊这些可以提前设置好,然后连上就能用。汇承公司的HC05用户手册的一张图我觉得展示的很明了,其实并不复杂,就是个串口通信。。。

 

### HC-05蓝牙模块主多从模式的配置与使用 HC-05 蓝牙模块支持主多从的工作模式,在这种模式下,个主机可以同时连多个从机。为了实现这功能,需要对主机和从机分别进行相应的配置。 #### 主机端配置 主机作为中心节点,负责管理与其他从机之间的通信。以下是主机端的主要配置步骤: 1. **设置为主模式** 将 HC-05 设置为主设备(Master Mode)。可以通过 AT 指令完成此操作:`AT+ROLE=1`[^2]。该指令会将模块切换到主模式。 2. **查询 MAC 地址** 获取主机的蓝牙地址以便后续绑定或识别。通过命令 `AT+ADDR?` 可以读取当前模块的硬件地址[^1]。 3. **建立连** 当主机尝试连某个特定从机时,需指定目标从机的蓝牙地址。例如,执行如下命令来发起连请求: ```plaintext AT+LINK=<Slave_MAC_Address> ``` 4. **数据传输控制** 成功建立链路后,可通过串口或其他口向各个已链的从机发送消息;同样也能收来自这些终端的数据包。 #### 从机端配置 对于每个充当外设角色的 HC-05 设备,则应按照以下方式调整参数: 1. **设定为从属身份** 利用相同的 AT 命令语法——即输入 `AT+ROLE=0` 来把单元定义成 Slave 类型。 2. **命名唯标识符** 给每个单独的 slave 单元分配独无二的名字,这样便于区分同的客户端实例。比如运行这条语句更改默认名称:“AT+NAME=My_Slave_X”。 3. **启用自动重连机制 (可选)** 如果希望即使断开了还能再次迅速恢复关联关系的话,那么开启 Auto Reconnect 功能将会很有帮助。“AT+AUTOCONN?” 查询现有状态,“AT+AUTOCONN=1” 开启它。 4. **保存修改后的属性值至非易失存储器中去永久生效** 执行 “AT+CMODE=1”,允许任意类型的远程装置与其组合起来形成点对点多路径网络结构; 着调用 “AT&W” 把刚才所做的全部改动写入内部 Flash Memory 中长期保留下来直至下次手动改变为止。 #### 实际应用中的注意事项 - 确保所有的从设备都处于配对可见的状态,并且它们各自的 PIN 码致。 - 测试期间最好采用 USB-TTL 转换线配合电脑上的虚拟 COM Port 工具来进行调试工作,方便查看交互日志记录。 - 对于批量生产的项目而言,建议预先烧录固件版本较高的芯片样品出来做兼容性验证测试。 ```python import serial def send_command(command, ser): """Send an AT command to the Bluetooth module.""" ser.write((command + '\r\n').encode()) response = "" while True: line = ser.readline().decode('utf-8') if not line or 'OK' in line: break response += line return response.strip() ser_host = serial.Serial('/dev/ttyUSB_HOST', 9600) send_command("AT+ROLE=1", ser_host) # Set as master mode. slave_mac_addresses = ["xx:xx:xx:xx:xx:xx"] * 3 # Replace with actual addresses. for mac_addr in slave_mac_addresses: result = send_command(f"AT+LINK={mac_addr}", ser_host) print(result) # Repeat similar setup steps on each slave device setting ROLE=0 etc.. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值