前情提要

  • 无线通信在嵌入式开发中较为重要,尤其是对一些移动的嵌入式设备,很难做到有线通信,所以学习如何使用无线通信就显得比较重要了,下面就我在使用蓝牙通信中遇到的配对问题进行总结。

HC05 模块

  • 对于蓝牙通信,在嵌入式领域用到较多的是HC05蓝牙模块,有比较多的特点:
    • 体积小巧,和硬币差不多大
    • 主从一体
    • 支持AT指令定制化配置
    • 支持波特率宽泛(4800~1382400)
    • 有状态指示灯
    • 有较宽泛的用户群体,资料丰富
  • 那么如何来正确的使用它呢,当然是磨刀不误砍柴工了,第一步是将模块配置好。

HC05 模块配置

  • 不像一般的开发套件,HC05模块给用户提供高定制化的AT指令集,供用户自定义,根据自身需求对模块进行初始化

AT指令集

  • AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。

常见AT指令

  • AT+ADDR 获取蓝牙地址

  • AT+NAME 设置\查询 - 设备名称

  • AT+ROLE 设置\查询 - 设备角色

  • AT+PSWD 设置\查询 - 配对码

  • AT+UART 设置\查询 - 串口参数

  • AT+BIND 设置\查询 - 绑定蓝牙地址

  • 那么如何设置AT指令呢?

AT指令设置

  • 为了安全性和实用性,HC05模块分为两个模式,数据模式和指令模式,指令模式一般默认工作在38400的波特率下,而数据模式的波特率可由用户自行配置。
  • 要实现两种模式的切换,就自然需要额外的操作来区分。

HC05模块如何进入AT指令模式

  • 引脚置高,将模块上的AT引脚接高电平后上电(不同模块引脚的叫法不一样,还有叫EN等的)
  • 按住模块上的按键后,再上电
  • 如何判断是否进入AT指令模式呢?
    • 可以通过模块的状态指示灯来判别,数据模式下,指示灯为快闪,进入指令模式后,指示灯为慢闪,可据此分别模块当前模式。
  • 学会如何进入指令模式后,要使用蓝牙模块,必然是成双成对的,那么下一步就该学习如何对一对蓝牙进行配对了。

模块配对

  • 配对配对,那么首先要知道对方的名字或地址,名字可能会重名,但是地址却是唯一的,所以最保险的手段是通过地址进行配对。
  • 物理连接
    • 要对蓝牙进行配对,除了两个蓝牙模块外,还需要两个串口TTL模块,并且分别与蓝牙进行连接(TX接RX、RX接TX),并接入电脑。
  • 手工配对
    • 将两个模块都进入AT指令模式
    • AT+NAME?\r\n 查看是否有返回结果,以此判定是否已经进入AT指令模式
    • 主机设置
      • AT+ROLE = 1\r\n 设置当前模块为主机
      • AT+PSWD=4399\r\n 设置配对码为4399
      • AT+BIND=2015,2,120758\r\n 绑定从机地址
      • AT+UART=9600\r\n 设置波特率为9600
    • 从机设置
      • AT+ROLE=0\r\n 设置当前模块为从机
      • AT+PSWD=4399\r\n 设置配对码为4399(需要和主机配对码一样)
      • AT+ADDR?\r\n 查询地址(如2015:2:120758)
      • AT+BIND=2015,2,120758\r\n 绑定地址(将查询到的地址中的冒号改为逗号)
      • AT+UART=9600\r\n 设置波特率为9600,需要和主机的波特率一致
    • 配对完成
  • 软件配对
    • 该软件只是将指令转化为可视化的软件配置,原理相同,但是比较方便快捷。
      HC05 蓝牙配对

注意事项

  • \r\n代表window下换行符的字符表示,如果手工配置时,你的串口软件勾选了发送新行,则可去除。

相关文章: