极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 单片机菜鸟

《博哥玩Arduino》- 蓝牙模块HC06 重命名

[复制链接]
发表于 2016-11-25 10:49:01 | 显示全部楼层 |阅读模式
本帖最后由 单片机菜鸟 于 2016-11-27 21:21 编辑

最近在研究蓝牙RGB灯,因为有多块蓝牙模块,然后由于名字是一样的,导致都不知道手机蓝牙到底连接到哪一块去了。那么就意味着 我们需要一个标识来区分蓝牙模块,这就意味着每个蓝牙模块应该可以自定义自己的名字,然后去查了一下资料,果然有AT指令可以支持,以下附上代码:

  注意:我的板子是 Mega2560. 用UNO也可以的

  1. /**
  2. * 日期:2016/11/24
  3. * 功能:设置蓝牙模块名字
  4. * 作者:单片机菜鸟
  5. *
  6. * 运行完程序之后需要重启一下蓝牙模块
  7. **/

  8. #define LED 13
  9. void setup()
  10. {
  11.        pinMode(LED,OUTPUT);
  12.        Serial1.begin(9600);//这里应该和你的模块通信波特率一致
  13.        delay(100);
  14.        Serial1.println("AT");
  15.        delay(1000);
  16.        Serial1.println("AT+NAME 蓝牙台灯");//命名模块名
  17.        delay(100);
  18. }

  19. void loop()
  20. {
  21.        digitalWrite(LED, HIGH);
  22.        delay(500);
  23.        digitalWrite(LED, LOW);
  24.        delay(500);
  25. }
复制代码


我这个蓝牙模块默认名字是 HC-06. 因为我在研究蓝牙RGB灯,所以我命名为“蓝牙台灯”.


注意点:
       第一,我查资料说,AT指令格式应该是这样:"AT+NAME=蓝牙台灯",但是我发现这样的话,名字就变成了“=蓝牙台灯”,这是我比较奇怪的?
       第二,设置完毕后,需要重启蓝牙模块才会有效,直接复位arduino板子就可以了。

博哥系列文章:
《博哥玩Arduino》-蓝牙小车-基础篇
     http://www.geek-workshop.com/thread-27767-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-蓝牙小车-实操篇
     http://www.geek-workshop.com/thread-27777-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-Arduino语法手册
     http://www.geek-workshop.com/thread-27843-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-WIFI小车-基础篇
     http://www.geek-workshop.com/thread-27850-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-WIFI小车-调试实操篇
     http://www.geek-workshop.com/thread-27853-1-1.html (出处: 极客工坊)
《博哥玩Arduino》- 蓝牙模块HC06 重命名
     http://www.geek-workshop.com/thread-27897-1-1.html (出处: 极客工坊)
《博哥玩Arduino》- 蓝牙RGB灯
    http://www.geek-workshop.com/thread-27892-1-1.html  (出处: 极客工坊)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-11-25 11:56:28 | 显示全部楼层
人家说的是直接串口输入AT命令
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-25 12:39:05 | 显示全部楼层
jjwy 发表于 2016-11-25 11:56
人家说的是直接串口输入AT命令

我连的就是串口
回复 支持 反对

使用道具 举报

发表于 2016-11-25 18:59:49 | 显示全部楼层
"AT+NAME=蓝牙台灯" 这种方式是 HC05 的命令方式,HC06是 "AT+NAME 蓝牙台灯" 没错,只是E跟蓝之间应该是不用空格吧!
回复 支持 反对

使用道具 举报

发表于 2016-11-25 20:07:19 | 显示全部楼层
挺好的,以后可以做参考用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-25 20:07:19 | 显示全部楼层
slotg 发表于 2016-11-25 18:59
"AT+NAME=蓝牙台灯" 这种方式是 HC05 的命令方式,HC06是 "AT+NAME 蓝牙台灯" 没错,只是E跟蓝之间应该是不 ...

我看我的HC05不行 非得用 "AT+NAME 蓝牙台灯"  哈哈哈  拿到商机给我发了HC06
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-25 20:09:30 | 显示全部楼层
P.919HY 发表于 2016-11-25 20:07
挺好的,以后可以做参考用

"AT+NAME=蓝牙台灯" 这种方式是 HC05 的命令方式,HC06是 "AT+NAME 蓝牙台灯" 没错

可以两种轮流设置一下 看看哪种有用
回复 支持 反对

使用道具 举报

发表于 2016-11-25 20:38:53 | 显示全部楼层
诺诺问一下,不是应该这样吗?  "AT+NAME=”蓝牙台灯" "
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-25 20:40:17 | 显示全部楼层
275891381 发表于 2016-11-25 20:38
诺诺问一下,不是应该这样吗?  "AT+NAME=”蓝牙台灯" "

不用的   手册中没有引号的
回复 支持 反对

使用道具 举报

发表于 2016-11-26 18:01:08 | 显示全部楼层

#include <SoftwareSerial.h>   // 引用程式庫

// 定義連接藍牙模組的序列埠
SoftwareSerial BT(8, 9); // 接收腳, 傳送腳
char val;  // 儲存接收資料的變數

void setup() {
  Serial.begin(9600);   // 與電腦序列埠連線
  Serial.println("BT is ready!");

  // 設定藍牙模組的連線速率
  // 如果是HC-05,請改成38400
  BT.begin(9600);
}

void loop() {
  // 若收到「序列埠監控視窗」的資料,則送到藍牙模組
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }

  // 若收到藍牙模組的資料,則送到「序列埠監控視窗」
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}
//这个能方便一点,并且蓝牙4.0也可以,脚不接错就行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-27 14:43:58 来自手机 | 显示全部楼层
嗯就看你怎么弄了,你是串口监视器写入
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-27 14:44:21 来自手机 | 显示全部楼层
jjwy 发表于 2016-11-26 18:01
#include    // 引用程式庫

// 定義連接藍牙模組的序列埠


12# 单片机菜鸟
1 秒前
嗯就看你怎么弄了,你是串口监视器写入
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 09:46 , Processed in 0.058315 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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