极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 592|回复: 3

【基础】蓝牙模块你真的会用吗?

[复制链接]
发表于 2017-12-5 21:41:14 | 显示全部楼层 |阅读模式
本帖最后由 小志 于 2017-12-5 21:48 编辑

蓝牙的名字来源于10世纪丹麦国王哈拉尔蓝牙王-英译为Harold Bluetooth(因为他十分喜欢吃蓝梅,所以牙齿每天都带着蓝色)

1.蓝牙HC05模块探究-设置AT指令

蓝牙HC05是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。当然,对于建立这种通道连接是有一定条件,那就是对蓝牙设置好能进行配对连接的AT模式。

1697825-140Z21126442c3.jpg

一般的蓝牙串口模块引脚:
RXD:接收端
TXD:发送端
AT:设置工作模式(1、工作模式 2、AT指令设置模式)
VCC:模块供电正极(5V)
GND:模块供电负极

一般的蓝牙模块使用有三种:
蓝牙从设备与电脑配对连接(1、电脑自带蓝牙 2、电脑不带蓝牙,这事需要蓝牙适配器)
蓝牙从设备与手机配对连接
蓝牙从设备与蓝牙主设备配对连接

HC05蓝牙模块的AT模式设置的方法大致有三种:
默认设置
用USB转UART模块设置
用带有蓝牙设置的主控器串口程序进行设置

第一:主要默认设置:
模块工作角色:从模式
串口参数:38400bits/s 停止位1位无校验位
配对码:1234
设备名称:HC-05
连接模式:任意蓝牙设备连接模式(恢复默认设置 AT指令:AT+ORGL)

第二:用USB to UART模块设置蓝牙  

蓝牙与USB转串口模块连接方式,RXD-TX TXD-RX VCC-VCC GND-GND

要设置蓝牙AT指令,必须让AT引脚置高(接高电平),然后接上蓝牙模块,当蓝牙模块state灯变为慢闪,则表明已经进入AT模式。(将蓝牙模块与转串口模块对插,用跳线将AT对应的引脚接VCC)这时候将转串口模块接入电脑,打开超级终端或者串口调试助手便可以开始设置AT模式。

打开串口调试助手,测试AT指令,找到相应串口号后,注意两点,1、设置AT模式的波特率为38400 2、输入指令后加上回车后换行,发送后返回OK。



下面来设置模块为从机模式,依次输入指令:
AT+NAME=Bluetooth-Slave  蓝牙名称为Bluetooth-Slave
AT+ROLE=0                蓝牙模式为从模式
AT+CMODE=0               蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD                 清空配对列表


相应返回OK表示设置成功。这个时候的蓝牙就可以与电脑主机或者手机配对通信。需要注意的是设置指令里的符号不要在中文状态下输入,否则不会返回相应指令。

第三:用Arduino配置蓝牙AT指令

步骤一 :给Arduino下载程序

  1. #define AT 2
  2. #define LED 13
  3. void setup(){
  4. pinMode(LED,OUTPUT);
  5. pinMode(AT,OUTPUT);
  6. digitalWrite(AT,HIGH);
  7. Serial.begin(38400);
  8. delay(100);
  9. Serial.println("AT");
  10. delay(100);
  11. Serial.println("AT+NAME=OPENJUMPER-Bluetooth");
  12. delay(100);
  13. Serial.println("AT+ROLE=0");
  14. delay(100);
  15. Serial.println("AT+PSWD=1234");
  16. delay(100);
  17. Serial.println("AT+UART=9600,0,0");
  18. delay(100);
  19. Serial.println("AT+RMAAD");
  20. }  
  21. void loop(){
  22. digitalWrite(LED, HIGH);
  23. delay(500);
  24. digitalWrite(LED, LOW);
  25. delay(500);
  26. }
复制代码


步骤二:蓝牙与Ardino连线 RXD-TX TXD-RX VCC-VCC GND-GND AT-2 (当很多传感器扩展板带有蓝牙模块接口,则可以直接将蓝牙插在扩展板上接口,不用麻烦接线)。

步骤三 :按下Arduino的复位按键,让程序开始运行一次,当发现板载L灯500ms闪烁时则表明已设置成功。

2.两个蓝牙模块配对连接教程:(具体AT指令参考HC05AT指令集)

简单说 一个蓝牙设置为主机,一个蓝牙设置为从机,设置对应密码波特率AT指令后,自动连接配对。

第一步:准备好做主机的蓝牙模块,用cp2102转串口模块连接蓝牙并进入AT设置模式(指示灯慢闪) 分别输入下面AT指令 (注意输入指令后加上回车后换行,发送后返回OK表示设置成功,如下指令是一条一条输入,切勿所有一起输入再点发送。设置完成后可以通过AT指令类似AT+NAME?这样的指令查询刚刚设置是否成功,具体参考HC05AT指令集)

AT+NAME=Bluetooth-Master  蓝牙主机名称为Bluetooth-Master
AT+ROLE=1                蓝牙模式为主模式
AT+CMODE=1              蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD                 清空配对列表

第二步:准备好做从机的蓝牙模块用cp2102转串口模块连接蓝牙并进入AT设置模式(指示灯慢闪) 分别输入下面AT指令 (注意输入指令后加上回车后换行,发送后返回OK表示设置成功)
(如果设置没有效果可以先恢复出厂设置AT+ORGL)

AT+NAME=Bluetooth-Slave  蓝牙名称为Bluetooth-Slave
AT+ROLE=0                蓝牙模式为从模式
AT+CMODE=1              蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD                 清空配对列表

第三步:分别给主模块和从模块选择进入工作模式,并重新上电。两个模块会自动连接然后配对,这样后,状态灯会出现慢闪烁指示。



有任何问题欢迎留言交流,回复“Arduino”获取课程开始你的学习之旅吧!

PS:如果你觉得本文对你有一点帮助,点赞、转发,不胜感激。
-- END --


Copyright © 2017 Robotkang. 转载请联系作者




QQ截图20171205214622.png

扫码关注公众号:ChinanewsTT

分享科技、生活、技术、人生、个人感悟
同时记录个人成长历程
——
个人博客:http://robotkang.cc
回复

使用道具 举报

发表于 2017-12-7 14:49:07 | 显示全部楼层
现在蓝牙都4.0时代了还HC05.  来4.0配置教程。示例代吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
zhuertie888 发表于 2017-12-7 14:49
现在蓝牙都4.0时代了还HC05.  来4.0配置教程。示例代吗

有道理,其实会设置2.0的;4.0的也差不多了。都是AT指令设置的
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
小志 发表于 2017-12-8 11:38
有道理,其实会设置2.0的;4.0的也差不多了。都是AT指令设置的

配置4.0与2.0差多了。有AT代码我弄了3天。主从不配对。ARDUINO写了几次代码都不对。来个示例
回复 支持 反对

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2017-12-15 22:11 , Processed in 0.041113 second(s), 6 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表