1. E104-BT05蓝牙模块概述与核心特性
E104-BT05是成都亿佰特电子科技基于BLE5.0协议开发的蓝牙转串口模块,采用TLSR8266芯片方案,尺寸仅10×14.5mm,支持70米传输距离(空旷环境)。该模块专为嵌入式设备无线通信设计,具有以下突出特性:
- 工作模式:仅支持从机模式,无法主动扫描其他设备
- 通信接口:UART串口(3.3V TTL电平),波特率默认9600bps
- 协议支持:完整兼容BLE5.0规范,支持广播模式和数据透传
- 扩展功能:提供4路PWM输出、2路GPIO电平控制/读取
- 供电要求:2.5-3.6V宽电压输入,峰值电流13mA
重要提示:模块通信电平为3.3V,直接连接5V TTL设备可能导致损坏,必须使用电平转换电路。
2. 硬件连接与AT指令基础
2.1 引脚定义与典型连接电路
模块采用20引脚贴片封装,关键引脚定义如下:
| 引脚号 | 名称 | 类型 | 功能描述 |
|---|---|---|---|
| 19 | TXD | 输出 | 串口数据输出 |
| 20 | RXD | 输入 | 串口数据输入 |
| 7/15 | GND | - | 电源地 |
| 14 | VDD | - | 电源正(2.5-3.6V) |
| 1 | RST | 输入 | 低电平复位(通常接10k上拉) |
典型连接示意图:
[MCU] [E104-BT05] TX --------<-- RXD(20) RX --------> TXD(19) GND ---------- GND(7/15) 3.3V --------- VDD(14)2.2 AT指令集详解
模块通过AT指令进行参数配置,基本指令格式为:
AT+<命令>[=<参数>]\r\n常用基础指令示例:
测试连接
AT\r\n正常响应:
OK设置设备名称
AT+NAME=MyDevice\r\n成功响应:
OK+Set:MyDevice查询MAC地址
AT+MAC?\r\n响应示例:
OK+Get:C4:BE:84:12:34:56设置广播间隔
AT+ADVI=100\r\n // 单位ms(20-10000)响应:
OK+Set:100
3. 数据传输功能开发实战
3.1 透传模式配置流程
实现蓝牙数据透传需完成以下配置步骤:
设置工作模式为透传:
AT+MODE=0\r\n // 0-透传模式配置串口参数(需与主机匹配):
AT+UART=115200,8,1,0\r\n // 波特率,数据位,停止位,校验设置连接间隔(影响传输速度与功耗):
AT+CONI=20\r\n // 单位1.25ms(6-3200)保存配置到Flash:
AT+SAVE\r\n
3.2 数据收发测试方法
使用串口调试助手进行双向通信测试:
发送数据到手机端:
- 在串口助手发送框输入任意文本(如
Hello BLE) - 手机端使用LightBlue等APP查看接收数据
- 在串口助手发送框输入任意文本(如
接收手机端数据:
- 在APP中写入特征值(通常为FFE1)
- 观察串口助手接收区显示的数据
调试技巧:建议初始测试时发送ASCII字符,避免二进制数据解析问题。若出现乱码,首先检查双方波特率设置。
4. 典型问题排查与性能优化
4.1 常见故障处理表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| AT指令无响应 | 接线错误/波特率不匹配 | 检查TX/RX交叉连接,确认波特率 |
| 连接频繁断开 | 射频干扰/距离过远 | 减小连接间隔,避开WiFi信道 |
| 数据传输丢包 | MTU设置过小 | 执行AT+MTU=247\r\n增大MTU |
| 手机搜索不到设备 | 未开启广播/名称包含特殊符 | 确认AT+ADEN=1,简化设备名 |
4.2 传输性能优化建议
参数调优组合:
AT+ADVI=50\r\n // 加快广播间隔 AT+CONI=12\r\n // 缩短连接间隔 AT+POWE=8\r\n // 最大发射功率(8dBm)数据分包策略:
- 单包数据建议≤20字节(避免BLE分片)
- 实现应用层ACK确认机制
功耗平衡方案:
AT+SLEEP=1\r\n // 启用休眠 AT+ADVI=200\r\n // 适当降低广播频率
实测数据对比(相同环境条件下):
| 配置方案 | 传输速率 | 平均电流 | 连接稳定性 |
|---|---|---|---|
| 默认参数 | 2.5KB/s | 8.2mA | ★★★☆☆ |
| 优化参数(平衡模式) | 4.8KB/s | 6.7mA | ★★★★☆ |
| 极限性能模式 | 7.2KB/s | 12.1mA | ★★☆☆☆ |
5. 进阶功能开发指南
5.1 GPIO控制实现
通过AT指令操作IO2/IO3引脚:
设置引脚方向:
AT+IO2=1\r\n // 1-output, 0-input控制输出电平:
AT+IO2V=1\r\n // 输出高电平读取输入状态(需先设为输入模式):
AT+IO0V?\r\n响应示例:
OK+Get:1
5.2 PWM功能配置
模块支持4路PWM输出(PWM0-PWM3),配置示例:
设置PWM1参数:
AT+PWM1=1000,500\r\n // 周期1000us, 占空比500us启用PWM输出:
AT+PWMEN=1\r\n
典型应用场景:
- 驱动蜂鸣器发声
- LED亮度调节
- 简易舵机控制
6. 实际项目集成经验
在智能家居传感器节点中集成E104-BT05时,总结以下关键经验:
天线布局要点:
- 模块周边5mm内避免金属部件
- PCB天线区域保持净空(参考手册Layout示例)
电源处理建议:
- 添加10μF+0.1μF去耦电容
- 使用LDO而非开关电源(降低纹波)
固件升级注意:
- 通过
AT+UPDATE进入升级模式 - 使用厂家提供的TLSR8266烧录工具
- 通过
生产测试方案:
# 简易Python测试脚本示例 import serial def test_bluetooth(port): with serial.Serial(port, 9600, timeout=1) as ser: ser.write(b'AT\r\n') if b'OK' not in ser.read(10): return False ser.write(b'AT+MAC?\r\n') return len(ser.read(20)) > 10
常见工程问题记录:
- 某批次模块响应延迟:最终发现是USB转串口芯片驱动不兼容
- 户外环境连接不稳定:通过
AT+CHAN=0锁定信道解决同频干扰 - 手机兼容性问题:iOS设备需要设置
AT+ADTY=3改变广播类型