当前位置:首页 > 单片机 > 单片机
[导读]一、蓝牙模块XLBT232‐\D01介绍(外部设备蓝牙)1.1、蓝牙模块简介XLBT232-D0101蓝牙模块采用CSR BlueCore 芯片,配置6-8Mbit 的软件存储空间,支持AT 指令,用户可根据需要更改SPP 角色(主、从模式)以及串口波特率

一、蓝牙模块XLBT232‐D01介绍(外部设备蓝牙)

1.1、蓝牙模块简介

XLBT232-D0101蓝牙模块采用CSR BlueCore 芯片,配置6-8Mbit 的软件存储空间,
支持AT 指令,用户可根据需要更改SPP 角色(主、从模式)以及串口波特率、
设备名称、配对密码等参数,使用灵活。

1.2、模块功能介绍

1.2.1、特性

蓝牙协议:Bluetooth Specification V2.1+EDR、V2.0+EDR、V2.1、V2.0 V1.2

? 工作频率:2.4GHz ISM band

? 调制方式:GFSK(Gaussian Frequency Shift Keying)

? 发射 率:≤4dBm, Class 2

? 灵 敏 度:≤-84dBm at 0.1% BER

? 传输速率:Asynchronous: 2.1Mbps(Max) / 160 kbpsSynchronous: 1Mbps/1Mbps

? 安全特性:Authentication and encryption

? 支持服务:Bluetooth SPP(主模式& 从模式)

? 供电电源:+3.3VDC 50mA

? 工作温度:-5 ~ +65 Centigrade

? 外观尺寸:26.9mm x 13mm x 2.2 mm

1.2.2、模块接线原理图

PS:当然也能用USB转TTL模块进行连接在电脑上调试,毕竟大多数笔记本已经没有串口啦!

1.3、使用说明

[图:蓝牙模块]

>_<"KEY为输入管脚,短按控制,或者输入约100ms 的高电平单次脉冲,可以
实现以下功能:

模块设置为SPP 主机模式时:

    未连接状态时:清除配对信息(若存在配对设备信息)

    已连接状态时:主动发起断开连接,延时150ms 后重启,重新搜索
  连接从设备; 在断开连接时:重新搜索连接从设备。

模块设置为SPP 从机时:

    在已连接状态时:主动发起断开连接,延时150ms 后重启,重新进入被搜
索状态,等待主机配对和连接

    在断开连接时:延时150ms 后重启,重新进入被搜索状态,等待主机配对
和连接。

>_<"显示模块当前工作状态:

待机状态慢闪——重复2s 脉冲;

连接状态长亮——高电平。

1.4、AT指令集

蓝牙模块出厂默认的串口配置为:波特率9600,无校验,数据位8,停止位1。
PS:接下来说明以上位机为电脑,模块参数为出厂设置时进行配置说明。
>_<"将模块通过USB电平转换板连接到电脑USB口(USB转TTL),使用串口调试助手,按
照 9600,N,8,1 进行配置,打开串口后,发送 AT(无rn),若返回 OK,说明配置
成功。
PS:设置 AT 指令必须在蓝牙模块未连接或断开 SPP 链接时才可以(上电或配对
后都可以,如果连接 SPP,串口输入的数据将会直接发送到远端蓝牙设备串口)

1.4.1、测试指令:

1.4.2、查询设置波特率指令:

1.4.3、查询设置设备名称指令:

1.4.4、恢复默认设置指令:

1.4.5、模块复位重启指令:

1.4.6、查询设置主从模式:

1.4.7、查询设置配对密码:

1.4.8、查询设置是否需要密码鉴权:

PS:为方便使用,默认为不用密码鉴权连接,搜索到蓝牙串口之后,直接连接
可。有安全考虑的客户请选择需要密码鉴权。
PS:此指令只有在从设备时才有效;主设备时不接受此指令,发送此指令没
有回复,也不执行

1.4.9、清除主设备配对信息指令:

PS:此指令只有在主设备时才有效;从设备时不接受此指令,发送此指令
没有回复,也不执行。

1.4.10、搜索并连接新的蓝牙串口从设备(*)指令:

PS:此指令只有在主设备时才有效;从设备时不接受此指令,发送此指令没
有回复,也不执行。

1.4.11、连接最后一次连接的蓝牙串口从设备(*)指令:

PS:此指令只有在主设备时才有效;从设备时不接受此指令,发送此指令没
有回复,也不执行。

1.4.12、连接指定蓝牙地址的从设备(*)指令:

PS:此指令只有在主设备时才有效;从设备时不接受此指令,发送此指令没
有回复,也不执行。

1.4.13、查询、设置软件版本指令:

1.4.14、系统帮助指令:

1.4.15、查询本机MAC 地址指令:

>_<:1:所有参数设置后存储在模块内,下次启动时无需再次设置
2:AT 指令后标注*号的,表示目前未应用的AT 指令

二、蓝牙模块配置与笔记本电脑相连

2.1.1、蓝牙初始化配置:

将蓝牙模块通过TTL转USB模块连接到笔记本,打开串口助手,通过上述AT指令设置为从设备,波特率为9600,然后重启

[图:USB转TTL模块]

[图:串口助手]

2.1.2、电脑为主设备搜索建立连接:

点击笔记本蓝牙标志的小图标,添加蓝牙设备:

然后要等一会,笔记本正在装驱动:

然后右击蓝牙图标,查看蓝牙设备,可见我们的设备已经被电脑发现并添加:

查看该设备属性,此时笔记本为该设备提供一个串口,就是笔记本蓝牙和设备蓝牙通信的通道,要记住这个一会编程的时候会用到:

PS:这个COM15也可以在设备管理器中修改为其他通道

三、C#编程使笔记本蓝牙和外部设备蓝牙通信:

其实配对以后,蓝牙就被模拟成了一个端口,我们可以用最简单的端口通讯来收发信息。首先,在每次启动时,需要连接端口:

[FORM初始化时获取所有的COM口,并加入下拉列表]

1 public Form1()

2 {

3 InitializeComponent();

4

5 //Get all port list for selection

6 //获得所有的端口列表,并显示在列表内

7 PortList.Items.Clear();

8 string[] Ports = SerialPort.GetPortNames();

9

10 for (int i = 0; i < Ports.Length; i++)

11 {

12 string s = Ports[i].ToUpper();

13 Regex reg = new Regex("[^COM\d]", RegexOptions.IgnoreCase | RegexOptions.Multiline);

14 s = reg.Replace(s, "");

15

16 PortList.Items.Add(s);

17 }

18 if (Ports.Length > 1) PortList.SelectedIndex = 1;

19 }


[连接按钮事件:选中list中的被选中的COM口进行连接,如果连接成功就在状态栏显示蓝牙连接成功]


1 private void ConnectButton_Click(object sender, EventArgs e)

2 {

3 if (!BluetoothConnection.IsOpen)

4 {

5 //Start

6 Status = "正在连接蓝牙设备";

7 BluetoothConnection = new SerialPort();

8 ConnectButton.Enabled = false;

9 BluetoothConnection.PortName = PortList.SelectedItem.ToString();

10 BluetoothConnection.Open();

11 BluetoothConnection.ReadTimeout = 10000;

12 BluetoothConnection.DataReceived += new SerialDataReceivedEventHandler(BlueToothDataReceived);

13 Status = "蓝牙连接成功";

14 }

15 }


[蓝牙接收数据事件响应函数,在按钮连接事件中声明的该事件,用于响应蓝牙数据接收]



1 private void BlueToothDataReceived(object o, SerialDataReceivedEventArgs e)

2 {

3 //int length = BluetoothConnection.ReadByte();

4 Thread.Sleep(1000);

5 int length = 13;

6 BlueToothReceivedData = DateTime.Now.ToLongTimeString() + "rn";

7 BlueToothReceivedData += "收到字节数:" + length + "rn";

8

9 byte[] data = new byte[length];

10 BluetoothConnection.Read(data,0,length);

11 for (int i = 0; i < length; i++)

12 {

13 BlueToothReceivedData += string.Format("data[{0}] = {1}rn", i, data[i]);

14 }

15 //receive close message

16 if (length == 3 && data[0] == 255 && data[1] == 255 && data[2] == 255)

17 {

18 //Stop

19 Status = "正在断开蓝牙设备";

20 BluetoothConnection.Close();

21 BluetoothConnection.Dispose();

22 BluetoothConnection = null;

23 ConnectButton.Enabled = true;

24 Status = "蓝牙断开成功";

25 }

26 }


这里第4行让程序休息1是因为延时等待从设备把数据发送完全。

这里为了方便我严格控制让发送数据为13Byte。

从设备发送的13Byte数据送至缓冲区,PC端C#程序通过read()函数将缓冲区数据接收到data中,下面是格式输出一下数据。

[发送数据函数]



1 private void BlueToothDataSend(byte[] data)

2 {

3 //int length = data.Length;

4 //byte[] readData = new byte[length + 2];

5 //readData[0] = (byte)(length % 255);

6 //readData[1] = (byte)(length / 255);

7 //for (int i = 0; i < length; i++)

8 //{

9 // readData[i + 2] = data[i];

10 //}

11 //BluetoothConnection.Write(readData, 0, length + 2);

12 BluetoothConnection.Write(data, 0, 1);

13 //Status = "发送数据字节数:" + length;

14 }


本来是将data[]数据发送出去,因为我从设备设置为只要有数据发送过来就做出响应发送13Byte数据,所以就直接将data的第一byte发送出去了。

[定时器函数:用于刷新状态栏,和接收数据显示]


1 private void MonitorTimer_Tick(object sender, EventArgs e)

2 {

3 StatusMessage.Text = Status;

4

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭