SKU:RB-03T008A 蓝牙 4.0 模块

来自ALSROBOT WiKi
跳转至: 导航搜索
03T008A01.png

目录

产品概述

蓝牙4.0模块专为智能无线数据传输而打造的,该模块遵循 BT2.1+EDR/3.0/4.0(BLE) 蓝牙规范,支持 SPP 蓝牙串口协议、HID、BLE 等。本模块集成了 MCU 和蓝牙芯片,支持 UART、SPI、I2C、I2S 等接口,包含4 个PWM 端口和 6 个12bit ADC 通道,具有集成度高、成本低、功耗低、蓝牙射频性能优越等特点。支持IOS 和Android4.0及以上系统。

产品参数

  1. 工作电压 :3.3V - 5V
  2. 工作电流:小于等于 100mA
  3. 休眠电流:50uA
  4. 接口类型:UART 串口
  5. 支持系统:Android4.0 以上系统、IOS 系统
  6. 指令集: AT 指令集
  7. 模块尺寸:50mm * 25mm
  8. 工作模式:支持 BT3.0+EDR 和BT4.0(BLE)Dual‐Mode,两种模式可同时工作
  9. 主从模式:支持主从一体
  10. 天线:内置2.4G PCB 射频天线,无需作天线调试
  11. 传输距离:空旷地可达到 50 - 100 米
  12. 重量大小:6g
  13. 产品接口:KF2510 - 4P
  14. 储存温度: -40℃ - +85℃
  15. 工作温度: -30℃ - +85℃

使用方法

模块配置

  • 使用软件:

串口调试助手:
AccessPort 串口助手下载链接:http://pan.baidu.com/s/1o8hVaZK 密码:581n
sscom 串口调试助手,下载链接:http://pan.baidu.com/s/1jILWMYq 密码:bjd9
两款串口助手任选其一即可

  • 使用硬件:

(1)FT232 USB 转 TTL 模块 * 1个
(2)蓝牙 4.0 模块 * 1个
(3)杜邦线 * 若干

  • 软硬件配置:

(1)FT232 驱动下载(如果电脑已经安装过,或者使用的不是此 USB 转 TTL 模块,此步骤可略过)

FT232官网驱动下载地址

(2)串口调试助手配置连接

  • 如图所示连接蓝牙 4.0 模块和 FT232 USB 转 TTL 模块
蓝牙模块与 USB 转 TTL 模块接线说明
蓝牙 4.0 模块 USB 转 TTL 模块
TX RX
RX TX
+ 5V
- GND
03T008A02.png

(3)连接串口调试助手

  • 将 USB 转 TTL 模块连接 PC,连接后,蓝牙 4.0 模块的红色电源指示灯亮起,表示供电正常,如果驱动安装正确,在设备管理器中可看到模块的端口,如图所示:
03T008A03.png
  • 使用 Accessport 串口软件配置,连接到 USB 转换模块串口
如图所示进行操作:
03T008A04.png
1、点击 1 位置打开软件配置
2、修改 2 位置,将端口为设备管理器中 USB 转 TTL 模块的端口号,这里我的是 “com5”
3、修改 3 位置,将波特率设置为 115200
4、修改 4 位置,将数据发送和接收显示模式设置为如图所示
5、点击 5 位置,完成串口助手软件的设置,并保存退出设置
使用 sscom 串口助手配置:
如图所示进行操作:
03T008A100.png

蓝牙 AT 指令说明

  • 命令格式

AT+指令采用基于ASCII
1、格式说明码的命令行,指令的格式如下:
(1)< >:表示必须包含的部分
(2)[ ]: 可选的部分

  • 命令消息

AT + <CMD>[op][para-1,para-2,para-3,para-4…]<CR> <LF>
(1)AT+:命令消息前缀
(2)CMD: 指令字符串
(3)[op]: 指令操作,指定是参数设置或查询

等于号 - "=" : 表示参数设置
问号 - "?": 表示查询

(4)[para-n]:参数设置时的输入,如查询则不需要
(5)<CR><LF>: 结束符,回车及换行,ASCII 码 0x0a 和 0x0d

  • 响应消息

+<RSP>: [para-1,para-2,para-3,para-4…]<CR><LF><CR><LF>
(1) +:响应消息前缀
(2) RSP:响应字符串,包括:

ok:表示成功
ERROR: 表示失败

(3)[para-n]:查询时返回参数或出错时错误码
(4)<CR><LF>: ASCII码0x0d及ASCII码0x0a

  • AT 错误命令集
AT 错误命令集及含义说明
错误码 含义
0 设备硬件出问题
1 没有连接
2 操作不允许
3 操作参数无效
4 超时
5 内存失败
6 协议错误

2、指令示例 (1)AT+MAC? 查询蓝牙Mac地址

03T008A101.png

(2)AT+VER? 查询蓝牙软件版本

03T008A102.png

(3)AT+HELP? 查询蓝牙帮助命令

03T008A103.png

(4)AT+DNAME? 查询本地设备名称

03T008A104.png

(5)AT+DNAME=alsrobot 设置本地 SPP 设备名为 alsrobot

03T008A107.png

(6)AT+LENAME? 查询 LE 设备名

03T008A108.png

(7)AT+LENAME=alsrobot 设置 LE 设备名为 alsrobot

03T008A105.png

(8)AT+Z=1 重新启动蓝牙设备

03T008A106.png

(9)蓝牙 BLE 广播设置

  • 关闭蓝牙 4.0 BLE 广播 AT+BLE=0 返回值:OK
  • 开启蓝牙 4.0 BLE 广播 AT+BLE=1 返回值:OK
  • 查询蓝牙 4.0 BLE 广播状态 返回值:广播状态
03T008A109.png

(10)AT+STATE? 查询蓝牙设备连接状态

03T008A110.png

(11)AT+URATE? 查询蓝牙模块波特率

03T008A111.png

(12)AT+URATE=115200 设置波特率为 115200,波特率支持:波特率支持1200/2400/4800/9600/14400/19200/38400/57600/115200/230400/460800/921600修改串口波特率成功后,PC 上的串口工具需要修改相关的端口波特率并重新连接,才能继续后续测试。

03T008A112.png

使用例程

配合 Arduino 控制器使用

  • 使用硬件

(1)Starduino UNO R3 控制器 * 1个
(2)传感器扩展扳 V5.0 * 1个
(3)蓝牙模块 4.0 * 1个
(4)USB 数据线 * 1条

  • 硬件连接
03T008A200.png
  • 例子程序
int led=13;  
//初始化函数
void setup(){         
  pinMode(led,OUTPUT);        
  digitalWrite(led,LOW);  
  Serial.begin(115200);    //设置串口波特率115200      
}
//主函数
void loop(){
	if(Serial.available()){           //检测串口是否接收到数据
        char data=Serial.read();          //读串口中数据
        switch (data){
  	    case 'W':  LED_flash(2);Serial.println("the light flash two times");break;    //闪烁2次
  	    case 'X':  LED_flash(3);Serial.println("the light flash three times");break;  //闪烁3次
  	    case 'A':  LED_flash(4);Serial.println("the light flash four times");break;   //闪烁4次
     	    case 'D':  LED_flash(5);Serial.println("the light flash five times");break;   //闪烁5次
            case 'S':  LED_flash(6);Serial.println("the light flash six times");break;   //闪烁6次  
            case 'C':  digitalWrite(led,LOW); Serial.println("the light be went out "); break;   //LED被熄灭  
            case 'Z':  digitalWrite(led,HIGH); Serial.println("the light be light up "); break;   //LED被点亮 
            default: break;
        }
    }
}
//LED闪烁函数
void LED_flash(int times){
    for(int i=0;i<times;i++ ){
        digitalWrite(led,LOW);
        delay(300);
        digitalWrite(led,HIGH);
        delay(300);   
    }       
}
  • 程序效果

通过手机(IOS或者安卓),蓝牙连接蓝牙模块,发送对应字符改变 LED 发光模块的闪烁次数和开启关闭,并通过 arduino IDE 串口监视器打印 LED 的闪烁次数。

03T008A06.png
03T008A07.png

蓝牙2.1 SPP 数据透传

  • 连接 UART TX 及 UART RX 至串口转接板至 PC,上电,用 PC 上串口工具,做好设置,如下图所示
03T008A10.png
  • 有蓝牙功能的PC,搜索蓝牙设备
03T008A11.png
  • 选择“ELET”,点击“下一步”,PC 蓝牙与蓝牙模块配对连接后,在 PC 端会虚拟蓝牙的串口,同样用 PC 串口工具打开蓝牙串口,就可相互传输数据
03T008A12.png

安卓手机与蓝牙模块通信

  • Android 手机安装“蓝牙串口.apk”,在手机蓝牙设置中,搜索配对连“ELET”设备,手机打开“蓝牙串口”应用
03T008A13.png
  • 手机“蓝牙串口”应用连接好蓝牙模块后,数据可以透传
03T008A14.png

IOS 系统与蓝牙模块通信

  • 在iphone 或 ipad 上安装 lightblue,在 appstore 上搜 lightblue.在模组上电后,打开 lightblue,可搜到 ELET_LE 设备,选中连接。
  • 0XFFE2 代表APP 可读
  • 0XFFE3 代表APP 可写(Lightblue 软件限制只能做 HEX 格式)
  • 读选择“listen for notifications”可写选择“write new value”

如图所示:

03T008A17.png

其中0xffe1 为服务,0xffe2 为读的Notify,0xffe3 为写,如果往0xffe3 上写,串口上会出现对应信息
读写演示:

03T008A18.png
03T008A19.png

相关推荐

Erweima.png

购买地址

周边产品推荐

相关问题解答

相关学习资料