600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 连接蓝牙demo_【BTS001】开源蓝牙协议栈BTStack初体验

连接蓝牙demo_【BTS001】开源蓝牙协议栈BTStack初体验

时间:2019-01-20 21:49:51

相关推荐

连接蓝牙demo_【BTS001】开源蓝牙协议栈BTStack初体验

BTStack是一款开源的蓝牙协议栈,它具有很高的可配置性和极小的内存占用量,非常适合小型的、资源有限的设备,例如8或16位嵌入式系统。

支持以下Protocols和Profiles:

Protocols:L2CAP (incl. LE Data Channels), RFCOMM, SDP,BNEP, AVDTP, AVCTP, ATT, SM (incl. LE Secure Connections).

Profiles:GAP, IOP, HFP, HSP, SPP, PAN, A2DP, AVRCPincl. Browsing, GATT.

Beta Stage:HID, HOGP, PBAP.

In Development:BLE Mesh and more.

可以通过(H2) HCI USB、(H4) HCI UART + TI'seHCILL、(H5) HCI Three-Wire UART.等方式与HCI蓝牙模块进行连接。

本文主要初步体验一下BTStack,包括工具的安装以及蓝牙的简单测试。

需要注意的是,BTStack如果用于商业用途,是需要收费的!

需要的工具:

Windows电脑一台;

MSYS2软件安装包;

BTStack源码包;

HCI蓝牙dongle(这里用的是CSR8510A10 dongle)。

1.MSYS2的安装。

首先,根据自己的电脑下载MSYS2软件包。

双击运行安装,指定安装目录,比如d:\msys64:

安装完毕后,修改以下文件,增加两个镜像服务器:

开始菜单,找到MSYS2 MinGW 64-bit运行:

在界面下逐条执行以下命令安装:

pacman -Syu

pacman -Su

pacman -Smingw-w64-x86_64-gcc

pacman -S make

pacman -S vim

pacman -S git

pacman -S python

pacman -S winpty

如有提示缺少文件,可以忽略,如有错误,也可尝试关闭MSYS2后再尝试。

2.下载、编译BTStack。

下载地址:/bluekitchen/btstack

下载后解压到某个文件夹,然后进入该文件夹:

#cd port/windows-winusb

用vim修改btstack_config.h文件(当然也可用windows下的记事本等工具修改),命令:vimbtstack_config.h

确保以下一行内容已经存在,没有的话自行添加一下:

#define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE

关于#define ENABLE_SCO_OVER_HCI,如果是windows7系统,这将这行注释掉,如果是windows8或者更高,应该可以不注释掉(未验证)。

然后用make命令进行编译:

3.安装CSR8510A10 dongle驱动。

我们使用的dongle为CSR8510A10,看BTStack中,也有一些其他品牌的芯片的内容,估计这些芯片也可能是可以使用的:

先将CSR8510A10的dongle插入到PC机上,如果没有安装过其他驱动的话,系统应该会安装自带驱动,也就是识别到了一个蓝牙设备。

我的电脑已经装过CSR的软件了,所以CSR8510A10会自动安装CSR的驱动:

需要更新为Windows下的万能USB驱动—WinUSB,需要用到一个驱动安装软件zadig-2.4.exe,下载地址为:https://zadig.akeo.ie/

打开后找到List All Device:

将原先的CSR驱动替换为WinUSB驱动

成功后在设备管理器中看到以下设备:

驱动更换OK。

4.初体验BTStack

启动MSYS2 MinGW 64-bit工具,切换到前面编译软件的目录“port/windows-winusb”。

先来测试一下BLE功能,随便选一个程序,比如gatt_counter.exe:

这个时候,用手机的rightblue就可以找到le_counter这个设备了:

顺便也测试一下传统蓝牙,用a2dp_sink_demo.exe来模拟一个蓝牙耳机,与手机连接,并尝试在手机上播放音乐:

可以看到所有的操作都有提示,并且最后播放的音乐会存在avdtp_sink.wav中,听了一下这个文件,效果还可以(废话么,数字音乐啊~)。

总体下来,感觉这个BTStack挺强大的,对于学习蓝牙协议栈应该有不小的帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。