串口蓝牙模块(主/从)
该模块是一款易于使用的蓝牙 SPP(串口协议)模块,设计用于透明的无线串口连接。
串口蓝牙模块完全符合蓝牙 V2.0+EDR(增强数据速率)标准,支持 3Mbps 调制,集成了完整的 2.4GHz 无线收发器和基带。它采用 CSR Bluecore 04-External 单芯片蓝牙系统,使用 CMOS 技术并具有 AFH(自适应频率跳跃功能)。其尺寸仅为 12.7mm x 27mm,希望能够简化您的整体设计/开发周期。
型号: WLS123A1M
特性
硬件特性
- 典型 -80dBm 灵敏度
- 高达 +4dBm RF 发射功率
- 低功耗 1.8V 操作,1.8 至 3.6V I/O
- PIO 控制
- 可编程波特率的 UART 接口
- 集成天线
- 边缘连接器
软件特性
- 默认波特率:38400,数据位:8,停止位:1,校验:无校验,数据控制:是。支持的波特率:
9600, 19200, 38400, 57600, 115200, 230400, 460800。
-
使用 CTS 和 RTS 控制数据流。
-
在 PIO0 上给出一个上升脉冲,设备将断开连接。
-
状态指示端口 PIO1:低-断开连接,高-已连接;
-
PIO10 和 PIO11 可分别连接到红色和蓝色 LED。当主从配对时,红色和蓝色 LED 每 2 秒闪烁一次。断开连接时,仅蓝色 LED 每秒闪烁两次。
-
默认情况下,设备上电后自动连接到最后一个设备。
-
默认允许配对设备连接。
-
默认自动配对 PINCODE:“0000”。
-
当因超出连接范围而断开时,30 分钟内自动重新连接。
应用场景
- 遥控器
- 无线通信
注意事项
- 在与 Seeeduino / Arduino 一起使用时,将工作电压设置为 5V。否则请使用适当的逻辑电平转换器。
- 在与 UartSBee 一起使用时,将工作电压设置为 5V。
- 更改波特率的命令在重置后仍然有效。因此,请记住下次使用的波特率。
规格
引脚 | # | 焊盘类型 | 描述 |
---|---|---|---|
PIO11 | 34 | 双向 | 可编程输入/输出线 |
PIO10 | 33 | 双向 | 可编程输入/输出线 |
PIO9 | 32 | 双向 | 可编程输入/输出线 |
PIO8 | 31 | 双向 | 可编程输入/输出线 |
PIO7 | 30 | 双向 | 可编程输入/输出线 |
PIO6 | 29 | 双向 | 可编程输入/输出线 |
PIO5 | 28 | 双向 | 可编程输入/输出线 |
PIO4 | 27 | 双向 | 可编程输入/输出线 |
PIO3 | 26 | 双向 | 可编程输入/输出线 |
PIO32 | 25 | 双向 | 可编程输入/输出线 |
PIO1 | 24 | 双向 TX EN | 可编程输入/输出线,用于控制 PA(如果安装) |
PIO0 | 23 | 双向 RX EN | 可编程输入/输出线,用于控制 LNA(如果安装) |
GND | 13,21,22 | VSS | 接地端 |
USB± | 15,20 | 双向 | |
SPI_CLK | 19 | CMOS 输入,带弱内部下拉 | 串行外设接口时钟 |
SPI_MISO | 18 | CMOS 输入,带弱内部下拉 | 串行外设接口数据输出 |
SPI_MOSI | 17 | CMOS 输入,带弱内部下拉 | 串行外设接口数据输入 |
SPI_CSB | 16 | CMOS 输入,带弱内部上拉 | 串行外设接口芯片选择,低电平有效 |
NC | 14 | ||
3.3VCC | 12 | 3.3V | 集成 3.3V(+)电源,带片上线性稳压器输出,范围为 3.15-3.3V |
RESETB | 11 | CMOS 输入,带弱内部上拉 | 低电平复位(外部保持) |
软件说明
工作示意图
流程图
更改默认配置的命令
1. 设置工作模式
\r\n+STWMOD=0\r\n | 将设备工作模式设置为客户端(从机)。保存并重启。 |
\r\n+STWMOD=1\r\n | 将设备工作模式设置为服务器(主机)。保存并重启。 |
注意: \r\n 是操作所必需的,其值在十六进制中为 0x0D 0x0A。\r 和 \n 分别表示 回车 和 换行(或下一行)。
2. 设置波特率
\r\n+STBD=115200\r\n | 设置波特率为 115200。保存并重启。 |
支持的波特率:9600、19200、38400、57600、115200、230400、460800。 |
3. 设置设备名称
\r\n+STNA=abcdefg | 将设备名称设置为 "abcdefg"。保存并重启。 |
4. 开机自动连接最后配对的设备
\r\n+STAUTO=0\r\n | 禁止自动连接。保存并重启。 |
\r\n+STAUTO=1\r\n | 允许自动连接。保存并重启。 |
5. 允许配对设备连接我
\r\n+STOAUT=0\r\n | 禁止。保存并重启。 |
\r\n+STOAUT=1\r\n | 允许。保存并重启。 |
6. 设置 PIN 码
\r\n +STPIN=2222\r\n | 设置 PIN 码为 "2222",保存并重启。 |
7. 删除 PIN 码(通过 MCU 输入 PIN 码)
\r\n+DLPIN\r\n | 删除 PIN 码。保存并重启。 |
8. 读取本地地址码
\r\n+RTADDR\r\n | 返回设备地址。 |
9. 主设备超出有效范围时自动重新连接(从设备将在超出有效范围后 30 分钟内自动重新连接)
\r\n+LOSSRECONN=0\r\n | 禁止自动重新连接。 |
\r\n+LOSSRECONN=1\r\n | 允许自动重新连接。 |
正常操作的命令:
1. 查询
a) 主机 | |
\r\n+INQ=0\r\n | 停止查询 |
\r\n+INQ=1\r\n | 开始/重新开始查询 |
b) 从机 | |
\r\n+INQ=0\r\n | 禁止被查询 |
\r\n+INQ=1\r\n | 允许被查询 |
当 +INQ=1 命令成功时,红色和绿色 LED 将交替闪烁。
2. 蓝牙模块返回查询结果
\r\n+RTINQ=aa,bb,cc,dd,ee,ff;name\r\n | 查询到地址为 "aa,bb,cc,dd,ee,ff" 且名称为 "name" 的串口蓝牙设备 |
3. 连接设备
\r\n+CONN=aa,bb,cc,dd,ee,ff\r\n | 连接地址为 "aa,bb,cc,dd,ee,ff" 的设备 |
4. 蓝牙模块请求输入 PIN 码
\r\n+INPIN\r\n
5. 输入 PIN 码
\r\n+RTPIN=code\r\n | |
示例:RTPIN=0000 | 输入 PIN 码为四个零 |
6. 断开设备连接 将 PIO0 拉高将断开当前工作的蓝牙设备。
7. 返回状态 \r\n+BTSTA:xx\r\n
xx 状态:
- 0 - 初始化中
- 1 - 准备就绪
- 2 - 查询中
- 3 - 连接中
- 4 - 已连接
(注意: 这不是命令,而是模块在每次命令后返回的信息)
额外想法
资源
支持
如果您有任何问题或更好的设计想法,可以前往我们的 论坛 或 许愿 进行讨论。
如何购买
点击这里购买:串口蓝牙模块(主/从)
相关产品
许可
本文档采用 Creative Commons 署名-相同方式共享 3.0 许可协议。源代码和库采用 GPL/LGPL 许可协议,详情请参阅源代码文件。
外部链接
链接到提供更多应用创意、文档/数据手册或软件库的外部网页。
相关项目
如果您想使用串口蓝牙模块制作一些很棒的项目,这里有一些参考项目。
使用安卓应用控制多个舵机电机
这是一个由 Arduino 和 Grove 制作的有趣演示。
这是一个完整的教程,讲解如何通过安卓应用控制多个舵机电机。
与我们分享您的精彩项目
怀着创造和分享的精神,这是我们认为让创客社区充满活力的原因。
正因为如此,开源社区才能像今天这样繁荣。
无论您是谁,无论您制作了什么,黑客、创客、艺术家或工程师,
只要您开始与他人分享您的作品,
您就是开源社区的一部分,并为其做出了贡献。
现在在 Recipe 上与我们分享您的精彩项目,并赢得成为 Seeed 核心用户的机会。
- 核心用户是那些对 Seeed 产品表现出高度兴趣并做出显著贡献的人。
- 我们与核心用户合作开发新产品,换句话说,核心用户将有机会在产品正式发布前体验 Seeed 的任何新产品,并且我们期待他们提供有价值的反馈,以帮助我们改进产品性能和用户体验。在大多数情况下,如果核心用户有任何好的创意,我们将提供硬件组件、PCBA 服务以及技术支持。此外,与核心用户进一步的商业合作也是非常可能的。
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时体验顺畅。我们提供了多种沟通渠道,以满足不同的偏好和需求。