1.原理
蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4~2.485GHz的ISM波段的UHF无线电波)。蓝牙可连接多个设备,克服了数据同步的难题。
蓝牙技术是世界著名的5家大公司——爱立信(Ericsson)、诺基亚(Nokia)、东芝(TOshiba)、国际商用机器公司(IBM)和英特尔(Intel),于1998年5月联合宣布的一种无线通信新技术。蓝牙设备是蓝牙技术应用的主要载体,常见蓝牙设备比如电脑、手机等。蓝牙产品容纳蓝牙模块,支持蓝牙无线电连接与软件应用。蓝牙设备连接必须在一定范围内进行配对。这种配对搜索被称之为短程临时网络模式,也被称之为微微网,可以容纳设备最多不超过8台。蓝牙设备连接成功,主设备只有一台,从设备可以多台。蓝牙技术采用了TDMA结构与网络多层次结构,在技术上应用了跳频技术、无线技术等,具有传输效率高、安全性高等优势,所以被各行各业所应用。
2.典型蓝牙模块
本节着重以目前流行的蓝牙通信模块HC-05为例,讲述STM32单片机、HC-05模块为核心的感知节点实现蓝牙通信的功能。
(1)蓝牙通信模块HC-05简介
蓝牙通信模块HC-05是一款高性能的主从一体蓝牙串口模块,可以同各种带蓝牙功能的电脑、蓝牙主机、手机、PDA、PSP等智能终端配对。该模块支持非常宽的波特率范围:4800~1382400。并且模块兼容5V或3.3V单片机系统,可以很方便与各种产品进行连接。模块外观与模块引脚说明如图8.5所示。
图8.5 HC-05模块外观与模块引脚说明图
模块自带了一个状态指示灯:LED。该灯有3种状态。
①在模块上电的同时(也可以是之前),将KEY设置为高电平(接VCC),此时LED慢闪(1秒亮1次),模块进入AT状态,且此时波特率固定为38400。
②在模块上电的时候,将KEY悬空或接GND,此时TA快闪(1秒2次),表示模块进入可配对状态。如果此时将KEY再拉高,模块也会进入AT状态,但是LED依旧保持快闪。
③模块配对成功,此时LED双闪(一次闪2下,2秒闪一次)。
有了LED指示灯,我们就可以很方便地判断模块的当前状态,方便大家使用。
(2)HC-05蓝牙通信模块电气特性参数
①接口特性:TTL,兼容3.3V/5V单片机系统,支持波特率为4800、9600、19200、38400、57600、115200、230400、460800、921600、1382400。
②其他特性:主从一体,指令切换,默认为从机。带状态指示灯,带配对状态输出。
③通信距离:10M(空旷地),一般会在10~20m无问题。
④工作温度:-25℃~75℃。
⑤模块尺寸:16mm×32mm。
⑥工作电压:DC3.3V~5.0V。
⑦工作电流:配对中,30~40mA;配对完毕未通信,1~8mA;通信中,5~20mA。
(3)HC-05蓝牙通信模块原理图
HC-05蓝牙通信模块原理图如图8.6所示。
图8.6 HC-05蓝牙通信模块原理(www.daowen.com)
(4)HC-05蓝牙通信模块工作过程
HC-05嵌入式蓝牙串口通信模块(以下简称模块)具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下,模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接数据传输;当模块处于命令响应工作模式时,能执行下述所有AT命令,用户可向模块发送各种AT指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。
(5)模块使用-AT指令集
有2种方法使模块进入AT指令状态。
①上电之前将KEY设置为VCC,上电后,模块即进入AT指令状态。进入AT状态后,模块的波特率为:38400(8位数据位,1位停止位)。
②模块上电后,通过将KEY接VCC,使模块进入AT状态。进入AT状态后,模块波特率和通信波特率一致。
HC-05蓝牙串口模块所有功能都是通过AT指令集控制。在此,我们仅介绍用户常用的几个AT指令,详细的指令集请参考“HC-05蓝牙指令集.pdf”文档。
模块的指令结构为:
AT+<CMD>?查询参数格式
AT+<CMD>=<PARAM>设置参数格式
其中,CMD(指令)和PARAM(参数)都是可选的。不过,切记在发送末尾添加回车符(\r\n);否则,模块不响应。比如我们要查看模块的版本,则
①串口发送:AT+VERSION?\r\n。
②模块回应:+VERSION:2.0-20100601。
3.HC-05蓝牙通信模块的使用
使用HC-05蓝牙通信模块时首先确定工作角色,主动发起通信的为Master,被动响应通信的为Slave,在使用前首先配置HC-05蓝牙通信模块的一些参数,方法如下。
(1)将USB转串口的RXD与HC-05模块的TXD相连,TXD与HC-05模块的RXD相连,再将VCC、GND分别连接HC-05模块的VCC、GND,并将HC-05模块的1号引脚接VCC,上电。
(2)打开串行助手或超级终端等串口调试软件,选择好USB转串口的串口号,设置串口波特率为38400、无校验位,数据位为8、停止位为1,打开串口,准备发送AT指令。
(3)将HC-05模块的按键一直保持按下状态,在串行助手发送窗口上输入AT指令,对模块进行配置。
如:发送AT+ROLE=0\r\n,如接收OK,表示设置成功,工作角色为从角色(Slave);发送AT+ROLE=1\r\n,如接收OK,表示设置成功,工作角色为主角色(Master)。
一般需要设置的参数有模块角色(主或从角色)、连接模式(主角色一般选任意蓝牙地址、从角色可不设)、模块名称(自己定义)、配对密码(自己定义)、蓝牙模块串口参数设置,具体命令对应的AT指令可参考模块配套说明“HC-05蓝牙指令集.pdf”文档。
以上配置也可使用专门软件来实现,设置时可直接选择设置名称,软件就发送对应的AT指令,使用起来更方便。
按上述的方法一旦设置成功后,HC-05模块就可把从无线通信接收到的数据通过串口发送给STM32单片机,同样STM32单片机通过串口发送给HC-05模块的数据也通过无线方式发送出去,实现了透传功能。STM32单片机的蓝牙无线收发程序实际上就是STM32单片机的串口收发程序。
HC-05模块与STM32单片机连接如图8.7所示。
图8.7 HC-05模块与STM 32单片机连接图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。