蓝牙驱动和Profile
蓝牙各个版本对比
蓝牙各个版本对比 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#蓝牙各个版本对比1、版本传输率约在748~810kb/s,因是早期设计,容易受到同频率之间的类似通信产品干扰,影响通讯质量。
这个初始版本支持Stereo音效的传输要求,但只能够以单工方式工作,加上带宽频率响应等指标不理想,并未算是最好的Stereo传输工具。
2、版本同样是只有748~810kb/s的传输率,但增加了(改善Software)抗干扰跳频功能 (太深入的技术理论不再详述!)。
支持Stereo音效的传输要求,但只能够作单工方式工作,加上带宽频率响应还是不理想,也不能作为立体声(Stereo)传输工具。
3、版本是的改良提升版,传输率约在s~s,可以有(双工)的工作方式。
即一边作语音通讯,同时亦可以传输档案/高质素图片,版本当然也支持Stereo运作。
随后蓝牙版本的芯片,增加了Stereo译码芯片,则连A2DP (AdvancedAudioDistributionProfile)也可以不需要了。
4、版本为了改善蓝牙技术存在的问题,蓝牙SIG组织(Special InterestGroup)推出了Bluetooth +EDR版本的蓝牙技术。
改善装置配对流程:以往在连接过程中,需要利用个人识别码来确保连接的安全性,而改进过后的连接方式则是会自动使用数字密码来进行配对与连接,举例来说,只要在手机选项中选择连接特定装置,在确定之后,手机会自动列出当前环境中可使用的设备,并且自动进行连结;而短距离的配对方面:也具备了在两个支持蓝牙的手机之间互相进行配对与通讯传输的NFC(NearField CoMMunication)机制;更佳的省电效果:蓝牙版加入了Sniff Subrating的功能,透过设定在2个装置之间互相确认讯号的发送间隔来达到节省功耗的目的。
蓝牙将装置之间相互确认的讯号发送时间间隔从旧版的秒延长到秒左右,如此可以让蓝牙芯片的工作负载大幅降低,也可让蓝牙可以有更多的时间可以彻底休眠。
最新蓝牙驱动(支持Win7)及激活补丁
与大家分享IVT的最新蓝牙驱动(支持Win7)及激活补丁.找了好多天了,今天终于找到一个IVT蓝牙驱动的激活补丁,适合最新的BlueSoleil6.4.249.0版.我的蓝牙耳机终于可以用到电脑上了.这个版本将蓝牙功能与操作系统集成在一起了.也可以打开经典界面还有VoIP插件,支持Skype的VoIP,官网称即将支持MSN和QQ。
可惜激活补丁不能激活这个插件,只能试用15天。
BlueSoleil6.4.249.0官网下载地址:请点击这里VoIP插件下载地址:请点击这里如果链接失效请访问激活工具:BLUETOOTH.part1.rar (200 KB)BLUETOOTH.part2.rar (139.88 KB)激活工具使用方法压缩包中包含一个ActivationTool和一个KeyGen先将KeyGen中的第一栏的序列号复制到ActivationTool的第一栏然后点击GetActivationInformation 按钮,会生成一个激活地址,将这个地址复制到KeyGen的第二栏,再点击右下的generate按钮,会生成Activation Code,点击Copy按钮,复制并将之粘帖到ActivationTool的第三栏,点击Activate BlueSoleil 按钮,会出现BlueSoeil激活成功的提示。
大功告成!下载 (85.16 KB)2009-4-30 23:45教你如何用电脑通过蓝牙连接手机上网现在很多同学买了笔记本,在无聊的大学生活中多了一条打发时间的门路,可是当寒假或是暑假把笔记本电脑带回家的时候发现这机器只能是看看电影或是玩单机游戏了,当然有的同学家里连了网,有的同学家里富裕也可以买个包月无线上网卡过过瘾,可是大多数同学也许没有这样。
别担心,以下我会教你如何用你的笔记本电脑连接手机上网。
首先需要说明的是,你的手机卡必须包了GPRS流量包月套餐,不然移动公司可就赚大了,我的是移动每月送的50M流量,够用了,一般都用不完。
DA14580学习总结
DA14580学习汇总简介芯片名称:DA14580内核:Cortex-M0 32-bit系统时钟:16MHZ 睡眠时钟:32K (所以要外挂两个晶振)协议栈:不开源,采用Riviera Waves授权协议栈IPRam:42 kB System SRAM(存放运行数据)8 kB RetentionSRAM(低漏电存储器,暂存休眠状态下的运行数据)存储方式:32k的OTP(一次性烧录),要实现反复烧录则需要外挂一个flash或者EEPROM 84 kBROM(存放协议栈)最小系统只需7个元件支持仿真烧录方式:串口烧录(JTAG也可以烧录,烧录到外挂的芯片中)封装:34 pins,40pins, 48 pins功耗:首款突破4mA无线收发电流极限的蓝牙智能解决方案(小米手环可满足30天续航)术语Profile:配置文件(在GATT的基础上进行数据的本地处理)GATT:Generic Attribute Profile 通用的配置文件(负责基础的数据通信)DISS:设备信息服务(显示设备的制造商信息)UUID:全球唯一识别码,如0x2A45位设备序列号的UUID(任意蓝牙都可以通过他获取到设备序列号)。
AES:Advanced Encryption Standard 是DA14580中内置的128 位加密处理器development_guide:开发手册GAP:Generic Access Profile 通用接口配置。
跟蓝牙的advertising相关GTL: Generic Transport Layer 通用传输层。
当工作于外部主控模式时,用来传输主控到DA14580的数据NVDS: Non-Volatile Data Storage 非易失性数据存储器OTP: One Time Programmable (memory) 单次可编程存储器PHY:physical layer物理层LL:Link Layer链路层外挂EEPROMDA14580的芯片是没有flash空间的(其实有个32kb的OTP,但只能烧写一次),也可以使用烧录到内存,但是掉电过后就没有程序了。
蓝牙模块介绍
一、硬件1、控制芯片在蓝牙1.1标准的时代,CSR(Cambridge Silicon Radio)公司的CSR Core2芯片占据市场上的绝大部份份额,但到了蓝牙1.2标准盛行的2005年开始,由于Broadcom公司收购蓝牙管理软件widcomm公司,市场份额开始改变,CSR新推出的CSR Core3芯片转向使用IV Bluesoeil,市场反应不佳,Broadcom 公司的BCM系列芯片组开始领跑市场。
(1)CSR Core2芯片,属于蓝牙1.1规范产品(2)CSR Core3-Rom芯片,蓝牙1.2规范,固件与控制芯片整合在一起。
编号为31,有很多JS把CS R Core2的蓝牙棒当Core3卖,这是区别芯片最直接的方法。
(3)Broadcom的BCM系列芯片,属于蓝牙1.2规范产品。
(4)SiliconWave芯片,蓝牙1.2产品,比较少见,通常是低价蓝牙棒才用,不稳定。
2、缓存简单的说,缓存是提供两个蓝牙设备通讯时,由于不可能真正意义上的完全同步,蓝牙设备必须有一个缓冲区,用于暂时存放待处理的数据。
大多数的低价蓝牙棒都不具备缓存,如果你发现蓝牙老断线,70%的原因都是没有缓存造成的。
缓存容量从512K到4MB都有。
3、固件及Profile固件通常上来说,存在于蓝牙棒的缓存上,但现在也有固件与芯片整合的(如用CSR Core3 ROM这个芯片的蓝牙棒)。
固件是让蓝牙棒起应用功能的,其实这和硬盘等固件原理是一样的,而固件的内容就是profile。
举例说明,蓝牙棒用于同步PDA/手机,必须要有一个蓝牙虚拟端口,这个在蓝牙应用上,叫做串口profil e。
所以,有些低价蓝牙无法使用特定的功能,最常见的就是不支持蓝牙鼠标,键盘或蓝牙耳机,这都是因为固件内缺乏相对应的profile引起的,与驱动或蓝牙管理软件无关。
4、天线型态作为无线通讯的一种,蓝牙棒无可避免的需要天线。
天线型态分为两种,最常见的为单天线(Print on Bo ard),成本较低,效果也不错;另外还有双天线蓝牙棒(亦称双回路天线),可以更好地保证无线稳定度及有效距离。
freelacepro蓝牙协议
蓝牙协议概述蓝牙技术规范(Specification)包括协议(Protocol)和应用规范(Profile)两个部份。
协议定义了各功能元素(如串口仿真协议(RFCOMM)、逻辑链路控制和适配协议(L2CAP)等各自的工作方式,而应用规范则阐述了为了实现一个特定的应用模型(Usage model),各层协议间和运转协同机制。
显然, Protocol 是一种横向体系结构,而 Profile 是一种纵向体系结构。
较典型的 Profile 有拨号网络(Dial-up Networking)、耳机(Headset)、局域网访问(LAN Access)和文件传输(File Transfer)等,它们分别对应一种应用模型。
整个蓝牙协议体系结构可分为底层硬件模块、中间协议层(软件模块)和高端应用层三大部份。
图 1 中所示的链路管理层(LM)、基带层(BB)和射频层(RF)属于蓝牙的硬件模块。
RF 层通过 2.4GHz 无需授权的 ISM 频段的微波,实现数据位流的过滤和传输,它主要定义了蓝牙收发器在此频带正常工作所满足的要求。
BB 层负责跳频和蓝牙数据及信息帧的传输。
LM 层负责连接的建立和拆除以及链路的安全机制。
它们为上层软件模块提供了不同的访问人口,但是两个蓝牙设备之间的消息和数据传递必须通过蓝牙主机控制器接口 (HCI)的解释才干进行。
也就是说, HCI 是蓝牙协议中软硬件之间的接口,它提供了一个调用下层 BB、LM 状态和控制寄存器等硬件的统一命令接口。
HCI 层以上的协议实体运行在主机上,而 HCI 以下的功能由蓝牙设备来完成,二者之间通过一个对两端透明的传输层进行交互。
中间协议层包括逻辑链路控制和适配协议(L2CAP,Logical Link Control and AdaptationProtocol)、服务发现协议(SDP,Service Discovery Protocol)、串口仿真协议(RFCOMM)和电信通信协议(TCS,Telephone control Protocol)。
蓝牙Profile的概念和常见种类
蓝牙(lán yá)Profile的概念和常见种类蓝牙(lán yá)Profile的概念和常见种类蓝牙(lán yá)ProfileBluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范。
为了更容易的保持Bluetooth设备之间的兼容(jiān rónɡ),Bluetooth规范中定义了Profile。
Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协。
在所有的Profile中,有四种是基本的Profile,这些Profile会被其它的Profile使用,它们(tā men)包括GAP/SDAP/SPP/GOEP Profile。
1.1 GAPGAP Profile: Generic Access Profile,该Profile保证不同的Bluetooth产品可以互相发现对方(duìfāng)并建立连接。
一般访问应用规范(GAP)定义了蓝牙设备如何发现和建立与其他设备的安全(或不安全)连接。
它处理一些一般模式的业务(如询问、命名和搜索)和一些安全性问题(如担保),同时还处理一些有关连接的业务(如链路建立、信道和连接建立)。
GAP规定的是一些一般性的运行任务。
因此,它具有强制性,并作为所有其它蓝牙应用规范的基础。
1.2 SDAPSDAP Profile: Service Discovery Application Profile,通过该Profile,一个Bluetooth设备可以找到其它Bluetooth设备提供的服务,以及查询相关的信息。
1.3 SPP全称Serial Port Profile,定义了如何在两台BT设备之间建立虚拟串口并进行连接。
例如(lìrú),在两台电脑或者Labtop之间就可以建立这种连接,如下图所示:1.4 GOEPGOEP Profile: Generic Object Exchange Profile,通用对象交换。
BLE蓝牙 4.0 学习笔记
蓝牙4.0 BLE center与peripheral建立连接绑定过程 (2)蓝牙4.0 BLE peripheral 广播设置 (7)蓝牙4.0 BLE 数据传输(一) (11)蓝牙4.0 BLE 数据传输(二) (12)蓝牙4.0 BLE 数据传输(三) (16)蓝牙4.0 BLE 数据传输(四) (19)蓝牙4.0 BLE 数据传输(五) (23)蓝牙4.0 BLE 程序设计相关问题解答(转载) (25)蓝牙4.0 BLE SimpleBLEPeripheral_添加新CHAR值及UUID (33)蓝牙4.0 BLE peripheral 广播设置学习笔记(转载) (45)蓝牙4.0 BLE key处理过程看任务、事件、消息机制 (50)CC254x 内部存储结构FLASH (53)蓝牙4.0 BLE FLASH 操作 (58)蓝牙4.0 BLE center与peripheral建立连接绑定过程蓝牙主机从机建立连接绑定过程center与simplePeripheral建立连接过程center首先进行osal_init_system()初始化各个任务,SimpleBLECentral_Init->osal_set_event( simpleBLETaskId, START_DEVICE_EVT );进入SimpleBLECentral_ProcessEvent()调用VOID GAPCentralRole_StartDevice( (gapCentralRoleCB_t *) &simpleBLERoleCB );//当初始化完成,会发送GAP_DEVICE_INIT_DONE_EVENT由于注册了simpleBLERoleCB函数,因此发送的event由simpleBLERoleCB函数接收static void simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent )此时pEvent->gap.opcode =GAP_DEVICE_INIT_DONE_EVENT,相应信息存储于pEvent中typedef union{gapEventHdr_t gap; //!< GAP_MSG_EVENT and status.gapDeviceInitDoneEvent_t initDone; //!< GAP initialization done. gapDeviceInfoEvent_t deviceInfo; //!< Discovery device information event structure.gapDevDiscEvent_t discCmpl; //!< Discovery complete event structure.gapEstLinkReqEvent_t linkCmpl; //!< Link complete event structure.gapLinkUpdateEvent_t linkUpdate; //!< Link update event structure.gapTerminateLinkEvent_t linkTerminate; //!< Link terminated event structure.} gapCentralRoleEvent_t;联合体,只有deviceInfo里面的数据是正确的typedef struct{osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and statusuint8 opcode; //!< GAP_DEVICE_INIT_DONE_EVENTuint8 devAddr[B_ADDR_LEN]; //!< Device's BD_ADDRuint16 dataPktLen; //!< HC_LE_Data_Packet_Lengthuint8 numDataPkts; //!< HC_Total_Num_LE_Data_Packets} gapDeviceInitDoneEvent_t;能获得如设备地址等信息设备初始化完成通过串口发送'1'触发设备发现进行设备扫描GAP_DEVICE_INFO_EVENT 0x0D //!< Sent during the Device Discovery Process when a device is discovered.GAP_DEVICE_DISCOVERY_EVENT 0x01 //!< Sent when the Device Discovery Process is complete.当发现一个设备时,触发一个设备info事件同样是在simpleBLECentralEventCB 处理此时pEvent改变为deviceInfo可以获得广告设备的类型,地址。
蓝牙驱动 IVT BlueSoleil 6
蓝牙驱动IVT BlueSoleil 6 (6.4.240.2) 官方简体中文版(含破解补丁)BlueSoleil 6 for Windows XP/Vista文件名称:IVT_BlueSoleil_6.4.240.2.zipFile Size : 86.6 MPublish Date : 2008-12-23Languages : English, Simplified Chinese, Traditional Chinese, German, Polish, Russian, Spanish, Japanese, Korean, Norwegian, Portuguese, Swedish, Italian, French, Danish, Dutch, Finnish注意: Before installing this new version, please uninstall the old BlueSoleil version.BlueSoleil是由IVT公司开发的蓝牙软件产品。
BlueSoleil可以让您的计算机享受无线的便捷. 凭借每秒钟3M的数据交换量,用户可以畅听音质好的音乐并无线使用蓝牙鼠标和键盘.凭借独特的蓝牙AV/Mono数据频道协同工作方式, BlueSoleil支持用户同时通过普通的蓝牙立体声仿真耳机听音乐和打电话,或者倾动的转换这两种模式, 新加入的Skype 2.X程序可以方便的让您通过普通的蓝牙耳机接/打电话.通过使用篮牙适配器,BlueSoleil 可以实现多台电脑组网并且无线交互信息。
BlueSoleil还可以实现电脑和其他篮牙设备快速稳定的连接,比如说移动手机,头戴式耳机,个人掌上电脑,局域网接入设备,打印机,数码相机,电脑的外设设备等等.安装及破解说明:1、在安装此BlueSoleil 6最新版前,请拔下蓝牙设配器,卸载BlueSoleil的旧版本;2、运行安装程序,安装完毕,提示是否要重启,选择“否”,暂不要重启系统;3、将破解补丁文件复制到程序安装目录下(如C:\Program Files\IVT Corporation\BlueSoleil\),替换原文件;4、重启系统,将蓝牙适配器插入到计算机的USB接口(如果使用计算机内嵌蓝牙模块请直接开启蓝牙模块电源),驱动自动安装完成。
蓝牙适配器驱动安装和产品使用说明
CSR Harmony4.0蓝牙的驱动安装和产品使用说明您好!欢迎您使用本产品!让我们一起尽情享受蓝牙的无线快乐吧!首先让我们先大概了解一下本产品的特色:1.CSR V4.0蓝牙适配器采用了CSR(Cambridge SiliconRadio)公司的最新的8510芯片。
2.支持Bluetooth High Speed v3.0与low energy v4.0,并完全向下兼容v1.1/ v1.2/ v2.0/ v2.1的蓝牙设备;3.CSR蓝牙4.0芯片通过被称为Wideband Speech的技术进行音频编码解码,并进一步消除背景噪声和干扰,使无线音频的传输质量大幅提升,A2DP蓝牙立体声音频传输的音效极佳,可以媲美有线音频传输的音质;4.蓝牙4.0技术拥有极低的运行和待机功耗,同时拥有跨厂商互操作性,3毫秒低延迟,AES-128加密,无线覆盖范围增强;5.是蓝牙3.0的升级增强版本,与3.0版本相比最大的不同就是低功耗。
一:驱动部分本产品是支持免驱,即插即用的。
免驱的蓝牙适配器:意思并不是指不要驱动,而是微软公司自己在操作系统里集成了蓝牙驱动,当蓝牙适配器插上电脑后系统会自动安装微软的蓝牙驱动。
但是经我们测试,目前微软自己的蓝牙驱动仅仅能支持蓝牙键鼠协议,部分手机的蓝牙文件传输和蓝牙串口等,并不能支持蓝牙音频功能。
如果仅仅用免驱的适配器来连接蓝牙键盘或者鼠标,的确可以不用再额外安装驱动,直接插上去就可以连接、使用,但是如果需要与蓝牙耳机连接或者想体验更多的蓝牙应用,那么必须安装我们光盘内的驱动。
本驱动支持多国语言介于本驱动内容较大,有四百多MB,所以本产品标配的驱动碟都采用小盘DVD;建议您先把光盘的内容直接复制到电脑后再进行安装,这将会让您更节省时间,安装也会更顺利。
Windows XP_32位/Windows vista_32位/Windows7_32位/Windows8_32位操作系统,请直接打开“Setup”文件夹,双击文件,即可开始进入驱动程序的安装。
台式机蓝牙适配器怎么样使用
台式机蓝牙适配器怎么样使用台式机蓝牙适配器怎么样使用呢?你会使用吗?下面由小编给你做出详细的台式机蓝牙适配器使用方法介绍!希望对你有帮助!台式机蓝牙适配器使用方法一:台式电脑可以用蓝牙适配器,然后使用蓝牙耳机和蓝牙音响等。
1、把蓝牙适配器插入电脑的USB接口。
台式机最好插后面的USB接口,不要用前置,容易供电不足。
2、如果是免驱型的,样子一般如下图,windows会自动安装蓝牙驱动。
如果是特殊的适配器,需要安装光盘里的驱动。
3、安装好驱动后,右下角任务栏就会出现蓝牙标志。
4、右键点击右下角的蓝牙标志,在弹出的菜单里添加设备即可使用。
台式机蓝牙适配器使用方法二:要实现这个功能,我们需要的设备有:蓝牙耳机一个、蓝耳适配器一个、电脑一台。
1.安装蓝牙适配器的驱动程序,我用的是IVTbluesoleil2.1.3.0,可以支持立体声蓝牙耳机功能A2DP(AdvanceAudioDistributionProfile)。
2、把蓝牙适配器插入电脑的USB端口,打开IVTbluesoleil 的软件,自动找到蓝牙适配器后,右下角的任务栏的标志会变蓝。
3、把蓝牙耳机选到匹配状态(非普通待机状态,具体操作请看说明书或见我们论坛相关指导文章),IVTbluesoleil软件的菜单里面选择,搜索蓝牙设备,找到后,选中蓝牙耳机,点“连接”后任务栏提示PIN代码的文字,会要求输入蓝牙耳机的验证码,一般为0000、1234、8888,具体情况请查看说明书。
4、完成后,电脑就会自动连接。
这时你会听到蓝牙耳机出现“叮咚…叮咚”的声音,这只是完成了一半了,说明通讯是没问题的。
5、控制面板――声音和音频设备把音乐播放和录音的设备改为蓝牙设备。
音乐播放和录音的设备里有2个蓝牙设备~!都要改成改为BluetoothSCOAudio蓝牙设备否则声音出不来~!!!6.然后点击“测试硬件”(小提示:如电脑提示“无法完成声音硬件测试向导”请把蓝牙耳机开关按一下,直至耳机没任何声音发出。
Win10如何查看电脑蓝牙版本?电脑蓝牙版本查看教程
Win10如何查看电脑蓝牙版本?电脑蓝牙
版本查看教程
大家在使用电脑的过程中,经常会遇到各种各样的问题,就有Win10用户问我电脑蓝牙版本怎么查看?应该还有很多用户不知道如何查看吧。
那针对这个问题,我们就来看看Win10查看蓝牙版本的方法吧。
操作教程:
1、打开运行(Win+R),输入devmgmt.msc 命令,按确定或回车,可以打开设备管理器;
2、设备管理器窗口,找到并点击展开蓝牙,然后右击要查看的蓝牙设备名称,在打开的菜单项中,选择选择属性;
3、蓝牙属性窗口,点击高级选项卡,查看固件版本中显示的LMP版本号;
4、将查看到的LMP大版本号与下表对应,便可得知当前Win10电脑所使用蓝牙适配器版本号;
注意:蓝牙5.2需要系统是Win10 20H2以上版本才能支持
LMP即Link Management Protocol,我们称之为链路管理器协议。
LMP是用来控制和协商两个设备连接行为的协议,涉及的方面包括逻辑传输连接的建立和控制,LMP通过连接的发起,交换和核实进行身份验证和加密,通过协商确定基带数据分组大小;还控制无线设备的
节能模式和工作周期,以及连接状态。
蓝牙BLE:GATTProfile简介(GATT与GAP)
蓝⽛BLE:GATTProfile简介(GATT与GAP)⼀. 引⾔现在低功耗蓝⽛(BLE)连接都是建⽴在 GATT (Generic Attribute Profile) 协议之上。
GATT 是⼀个在蓝⽛连接之上的发送和接收很短的数据段的通⽤规范,这些很短的数据段被称为属性(Attribute)。
⼆. GAP详细介绍 GATT 之前,需要了解 GAP(Generic Access Profile),它在⽤来控制设备连接和⼴播。
GAP 使你的设备被其他设备可见,并决定了你的设备是否可以或者怎样与合同设备进⾏交互。
例如 Beacon 设备就只是向外⼴播,不⽀持连接,⼩⽶⼿环就等设备就可以与中⼼设备连接。
2.1 设备⾓⾊GAP 给设备定义了若⼲⾓⾊,其中主要的两个是:外围设备(Peripheral)和中⼼设备(Central)。
外围设备:这⼀般就是⾮常⼩或者简单的低功耗设备,⽤来提供数据,并连接到⼀个更加相对强⼤的中⼼设备。
例如⼩⽶⼿环。
中⼼设备:中⼼设备相对⽐较强⼤,⽤来连接其他外围设备。
例如⼿机等。
2.2 ⼴播数据在 GAP 中外围设备通过两种⽅式向外⼴播数据: Advertising Data Payload(⼴播数据)和 Scan Response Data Payload(扫描回复),每种数据最长可以包含 31 byte。
这⾥⼴播数据是必需的,因为外设必需不停的向外⼴播,让中⼼设备知道它的存在。
扫描回复是可选的,中⼼设备可以向外设请求扫描回复,这⾥包含⼀些设备额外的信息,例如设备的名字。
(⼴播的数据格式我将另外专门写⼀个篇博客来讲。
)2.3 ⼴播流程GAP 的⼴播⼯作流程如下图所⽰。
从图中我们可以清晰看出⼴播数据和扫描回复数据是怎么⼯作的。
外围设备会设定⼀个⼴播间隔,每个⼴播间隔中,它会重新发送⾃⼰的⼴播数据。
⼴播间隔越长,越省电,同时也不太容易扫描到。
2.4 ⼴播的⽹络拓扑结构⼤部分情况下,外设通过⼴播⾃⼰来让中⼼设备发现⾃⼰,并建⽴GATT连接,从⽽进⾏更多的数据交换。
蓝牙4.0模块常见问题及解答
蓝⽛4.0模块常见问题及解答信驰达蓝⽛4.0模块常见问题及解答⼀、蓝⽛4.0模块基础理论问题:1、什么是蓝⽛4.0,蓝⽛4.0较之前版本蓝⽛的区别。
蓝⽛4.0 共3种⼯作模式,普通蓝⽛模式,⾼速蓝⽛模式和低速蓝⽛模式,⽽以前的版本只⽀持普通蓝⽛模式,其他模式不和普通蓝⽛模式兼容;2、蓝⽛4.0 是BLE么?蓝⽛4.0包含BLE, BLE是蓝⽛4.0中的单模模式。
3、低功耗蓝⽛和普通蓝⽛有什么区别?最主要的区别是数据包有限制,因此功耗也更低。
4、⽬前是否所有⼿机都能⽀持低功耗蓝⽛?不是,需要⽀持蓝⽛4.0技术的⼿机,如苹果、三星、HTC等。
5、低功耗蓝⽛4.0是否能够向下兼容之前版本的蓝⽛,为什么?低功耗蓝⽛不向下兼容,低功耗由于需要降低功耗,使⽤的通讯机制已经和普通蓝⽛不同,所以⽆法通讯。
6、BLE蓝⽛速率多少?物理层速率1M,实际转发速率是每次连接事件传20字节。
7、低功耗蓝⽛模块的传输距离有多远?在0dB的情况下,标称100英尺,约60⽶。
8、BLE模块的传输速率是多⼤?能传的数据量有多⼤?转发速率最快4K/S,可稳定⼯作在2.8K/S。
能传的数据量有多⼤,取决于你传多久。
9、BLE模块的抗⼲扰能⼒怎么样?穿墙能⼒如何?使⽤调频通讯⽅式,37个通讯频点,3个⼴播频点。
可有效避免⼀些频点⼲扰。
不建议穿墙使⽤,如果是空⼼⽊质墙体可以试试。
10、BLE模块是否为双⼯模块?是的,全双⼯。
11、BLE模块默认连接间隔是多少?可以调节吗?V1.X是100ms,V2.0是20ms,V2.0可以调。
12、BEL模块串⼝数据包的⼤⼩可以是多少?200字节以内,包含200字节。
13、BLE模块的⼯作电流怎么计算的?标准的纽扣电池能⽤多久?持续的⼯作电流对时间积分,再求平均值。
⼀秒⼀次连接,不计其它功耗,⼀年以上。
14.产品使⽤通过的BQB认证模块,还需要过其他蓝⽛认证吗?只是要过产品的其他认证,⽐如FCC,CE,蓝⽛部分⽆需再过认证。
蓝牙 Profile
耳机配置文件 (HSP)
HSP描述了蓝牙耳机如何与电脑或例如手机等其他蓝牙设备进行通讯。 使用情景 典型的使用情景当然是使用无线耳机与手机进行连接。 产品范例 以下例子说明了可能会使用HSP的若干设备类型: 耳机,手机,PDA ,个人电脑,手提电脑 技术知识 HSP定义了音频网关(AG)和耳机(HS)两个角色: 音频网关(AG) – 该设备为音频(特别是手机或电脑)的输入/输 出网关。 耳机(HS) – 该设备作为音频网关的远程音频输入/输出机制。
通用A/V分发配置文件 (GAVDP)
GAVDP提供了A2DP和VDP的基础,该系统基础旨在使用蓝牙技术分发视频和音频流。 使用情景 典型的使用情景是一副无线立体声耳机和一个音乐播放器, 例如MP3播放器或者随身听。音乐播放器向耳机传送信息建 立连接或调整音频流,反之亦然。 产品范例 以下例子说明了可能会使用GOEP的若干设备类型: 音乐播放器,立体声耳机,立体声音响,手提电脑,个人电脑,手机 ,PDA 技术知识 GAVDP定义了启动设备和接收设备两个角色: 启动设备(INT) – 这是启动信号发送过程的设备。 接收设备(ACP) – 这是回应INT输入请求的设备。 注:设备的角色并不固定。角色会于信号传输过程启动时确 定,当过程结束时设备角色也将解除。当启动新一轮过程时 ,设备的角色
串行端口配置文件 (PP)
SPP定义了如何设置虚拟串口并连接两个蓝牙设备 使用情景 一种使用情景将是使用两个设备,例如个人电脑或手提电 脑作为虚拟串口,并通过蓝牙技术连接两个设备。 产品范例 以下是可能使用SPP的部分设备种类: 个人电脑 手提电脑 技术知识 SPP定义了设备A和设备B两种角色: 设备A– 该设备主动与另一设备建立连接(启动器)。 设备B– 该设备等待另一设备启动连接(接收器)。
PAN1026A蓝牙基本数据率和低功耗模块设计指南(版本1.1)说明书
PAN1026ABluetooth ® Basic Data Rate and Low Energy ModuleDesign GuideRev. 1.1OverviewThe PAN1026A is a Class 2 Bluetooth 4.2 Basic Data Rate and Low Energy (LE) module for easy implementation of Bluetooth functionality into various electronic devices.Features•Small SMD module: 15.6 mm x 8.7 mm x 1.8 mm •Same form factor as PAN1760A and PAN1762 •Bluetooth 4.2 Basic Data Rate and LE compliant •Bluetooth stack in ROM•Embedded Basic Data Rate Serial PortProfile (SPP) profile•Embedded LE GATT profile •Supported by Toshiba Bluetooth SDK •UART, 10 General Purpose I/Os, wake up control pinsBluetooth•Basic Data Rate SPP profile•LE Peripheral and Broadcast support•LE GATT server and GATT client support •LE Central and Observer not supported Basic Data Rate Features •Faster SPP classic connection and disconnectiontimes•Support for interlaced inquiry and page scan •Support for extended inquiry responseLow Energy Features •Increased LE MTU size of 160 bytes •Increased number of supported GATT services •Increased number of supported GATTcharacteristics•Support for TX power control•Support for LE Secure Connections •Improved peak error rate (PER) Characteristics•Typical sensitivity: -88 dBm•Output power: max. 4 dBm•Typical TX power consumption: 46 mA •Voltage range: 2.7 V to 3.6 V (+/-10 %)•Temperature range: -40 °C to +85 °CBlock DiagramBy purchase of any of the products described in this document the customer accepts the document's validity and declares their agreement and understanding of its contents and recommendations. Panasonic Industrial Devices Europe GmbH (Panasonic) reserves the right to make changes as required at any time without notification. Please consult the most recently issued Design Guide before initiating or completing a design.© Panasonic Industrial Devices Europe GmbH 2019.This specification sheet is copyrighted. Reproduction of this document is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Do not disclose it to a third party.All rights reserved.This Design Guide does not lodge the claim to be complete and free of mistakes.Engineering Samples (ES)If Engineering Samples are delivered to the customer, these samples have the status “Engineering Samples”. This means that the design of this product is not yet concluded. Engineering Samples may be partially or fully functional, and they may differ from the published Product Specification.Engineering Samples are not qualified and they are not to be used for reliability testing or series production.DisclaimerThe customer acknowledges that samples may deviate from the Design Guide and may bear defects due to their status of development and the lack of qualification mentioned above.Panasonic rejects any liability or product warranty for Engineering Samples. In particular, Panasonic disclaims liability for damages caused by:∙The use of the Engineering Sample other than for evaluation purposes, particularly the installation or integration in another product to be sold by the customer,∙Deviation or lapse in function of the Engineering Sample,∙Improper use of the Engineering Sample.Panasonic Industrial Devices Europe GmbH disclaims any liability for consequential and incidental damages. In case of any queries regarding the Engineering Samples, please contact your local sales partner or the related product manager.Table of Contents1About This Document (5)1.1Purpose and Audience (5)1.2Revision History (5)1.3Use of Symbols (5)1.4Related Documents (6)2Overview (7)2.1Block Diagram (7)2.2Pin Configuration (8)2.3UART Interface (10)2.4Bluetooth Features (10)3Reference Design (11)3.1USB Evaluation Kit Schematic (11)3.2Placement Recommendations (11)4Software Related Documents Summary (13)4.1Predefined High Level APIs (13)4.2Validation of Elliptic Curve Parameters (14)4.3Unique Mac/Bluetooth Address (14)5USB Evaluation Kit (15)5.1Overview for the USB Evaluation Board Options (15)5.2Recommended Tools (16)5.3Development of Applications (16)6Appendix (17)6.1Ordering Information (17)6.2Contact Details (18)1 About This Document1.1 Purpose and AudienceThis Design Guide applies to the Bluetooth development platform PAN1026A USB.The intention is to enable our customers to easily and fast integrate our module PAN1026A in their product.This Design Guide describes the hardware and gives useful hints.It is intended for hardware and software engineers. The product is referred to as“the PAN1026A” or “the module” within this document.1.2 Revision History1.3 Use of SymbolsNoteIndicates important information for the proper use of the product.Non-observance can lead to errors.AttentionIndicates important notes that, if not observed, can put the productat risk.TipIndicates useful information designed to facilitate working with the module.1.4 Related DocumentsPlease refer to the Panasonic website for related documents 6.2.2 Product Information.2 OverviewThe PAN1026A is a Bluetooth 4.2 Basic Data Rate and LE module based on the ToshibaTC35661 single-chip controller.It has both a Bluetooth Basic Data Rate Serial Port Profile (SPP) and a Bluetooth LE GATTprofile stack integrated. Enhanced Data Rate (EDR) and GATT Central Mode are notsupported.Only one connection (either Bluetooth Basic Data Rate or LE) at a time is supported,simultaneous operation of Bluetooth Basic Data Rate and LE is not possible.The integrated EEPROM is pre-programmed with a Bluetooth Device Address and can be used to store additional application information such as connection link keys.Compared to the PAN1026, the PAN1026A is fully backwards compatible, but has additionalsupport for increased MTU size, increased number of services and characteristics and now also supports LE Secure Connections.Previously developed Bluetooth LE profiles and applications can be easily migrated with aminimal effort.Please refer to the Panasonic website for related documents ☯ 6.2.2 Product Information.Further information on the variants and versions☯ 6.1 Ordering Information.2.1 Block Diagram2.2 Pin ConfigurationPin AssignmentTop ViewPin Functions2.3 UART Interface•Full-Duplex 4-wire data transfer: Rx, Tx, RTS, CTS•Programmable baud rate: 2 400 bps to 4.33 Mbps•Default baud rate: 115 200 bps•Data format: 8N1, LSB first•Error detection: Character timeout, Overrun error, Framing error2.4 Bluetooth Features•Bluetooth 4.2 with SPP and GATT•GAP support for SPP•GATT server and client mode supported for LE•Class 2 Tc power with or without external PA (improved link robustness)•Excellent link budget (up to 91 dB), enabling long-range applications•GAP peripheral support for LE3 Reference Design3.1 USB Evaluation Kit Schematic3.2 Placement RecommendationsAntennaDo not place any ground plane under the marked restricted antenna area inany layer! This would be affecting the performance of the chip antenna in acritical manner.The following requirements must be met:✓Keep this product away from heat. Heat is the major cause of decreasing the life of these products.✓Keep this product away from other high frequency circuits.Antenna “Keep o ut Area”The antenna requires a cutout area of 5 mm x 3 mm under the PAN1026A module. This “Keep out Area” shall be located in every layer under the module antenna.Impact of Placement on the Antenna Radiation PatternThe placement of the module, surrounding material, and customercomponents have an impact on the radiation pattern of the antenna.It is recommended to verify the perfect position of the module in the target application before fixing the design.4 Software Related Documents Summary4.1 Predefined High Level APIsMake use of the easy-to-use High-Level SPP and Bluetooth LE API for PAN1026A setup,connect and data transfer in an easy way. Driver layer provide access to the entire function setof the module. SPP and Bluetooth LE application example is available on Toshiba ARM ®Cortex ®-M3 MCU with FreeRTOS integration.High Level SPP APIs are sufficient for communication with a remote SPP device. With the LE+GATT Driver the use of PAN1026A Command Interface is simplified. It encapsulates Chiron LE MNG, GAP and GATT Commands in one.4.2 Validation of Elliptic Curve ParametersResearchers at the Israel Institute of Technology identified a security vulnerability in two related Bluetooth features: Secure Simple Pairing and LE Secure Connections.PAN1026A supports those features but does not perform public key validation during the pairing procedure. In this case, connections between devices could be vulnerable to aman-in-the-middle attack that would allow for the monitoring or manipulation of traffic.To remedy the vulnerability, the Bluetooth SIG has now updated the Bluetooth specification to require products to validate any public key received as part of public key-based securityprocedures. In addition, the Bluetooth SIG has added testing for this vulnerability within theBluetooth Qualification Program.The necessary procedures are included starting with the release of the Toshiba Bluetooth SDK version 4.2.2. Further information is included in the documentationToshiba_Bluetooth_Platform_Errata.pdf contained in the SDK.To ensure that the end product is operating according to the Bluetoothspecification the customer application has to follow the above mentionedinstructions.4.3 Unique Mac/Bluetooth AddressThe PAN1026A has a preprogrammed address in the EEPROM that needs to be copied into the RAM during the initialization. Therefore three TCU commands need to be used. Below is anexample with the individual address 00 13 43 00 00 1A.The bold marked Bluetooth address is original and needs to be byte switchedto write into the RAM of the module to be visible in an Bluetooth inquiry asexample.1. Enter the address: 01 08 FC 0B 00 A0 00 00 00 14 5B FF 02 03 01.→The result is: 04 FF 0A 08 00 A0 00 00 00 14 5B 00 00.2. Read the Bluetooth address from E2PROM:01 08 FC 10 00 A1 00 00 00 14 88 FF 10 06 A0 01 01 06 02 00.→The result is:04 FF 11 08 00 A1 00 00 00 14 88 00 10 0600 13 43 00 00 1A.3. Set the address into RAM: 01 13 10 06 1A 00 00 43 13 00.→The result is: 04 0E 04 04 13 10 00.5 USB Evaluation KitPAN1026A USB (easy to use) is a development platform for PAN1026A Bluetooth LE dual module to implement Bluetooth functionality into various electronic devices.The PAN1026A USB is intended for evaluation purpose and can be used together with EasySPP and EasyBLE Software.The API is a very useful abstracted tool, which is described on the Toshiba website.For further details on additional options and services please refer to OptionsUFL-External Antenna USB DirectUFL-external antenna connector can be used if the cap next to the modules shield is moved (de-soldered, soldered) to the other (free) pin.USB DirectUSB DirectUFL-Ext.32KHz LEAntennaClockEEPROM WPUART Exposure5.2 Recommended ToolsEasySPPThe following requirement must be met:Microsoft .NET framework (version 4) which can be downloaded from the Microsoft websiteEasy SPP is the first step to get familiar with the TCU commands. The issued commands canbe copied and then ported to any microcontroller. HyperTerminal is not recommended to usebecause the commands are in binary format.EasyBLEThis tool has the same intention as the EasySPP and shows some example Bluetooth LEprofiles e. g. heart rate sensor. It can be used together with various of the shelf apps running on iPhone and Android phones supporting Bluetooth 4.0. One example is “Wahoo Utility” which is available in the Apples iTunes App Store.EasyBLE documentation includes an application example how to connect PAN1026A USB stick and an iOS device.5.3 Development of ApplicationsPlease contact your local sales office for customized development of your individual application6.2.1 Contact Us.Please note that the individual Mac address is stored in the EEPROM and hasto be loaded into the RAM after each start-up.The following tools are recommended: IAR, J-Link debugger.The BMSKTOPASM369BT(kc) Starter Kit makes it possible to quickly and easily evaluateToshiba’s B luetooth Dual Mode LSI TC35661-5xx in combination with Toshiba ARM®Cortex®-M3 MCU as host MCU. It is made to execute the Toshiba Bluetooth Driver software and debug user application code via an embedded J-Link debugger interface. The TMPM369FDFG Microcontroller offers embedded Ethernet, CAN, USB host, USB device and RS-232connectivity.Starter Kit Content:•Toshiba TOPAS369Bluetooth Board•Segger J-Link JTAG/SWD Emulator with USB interface•J-Link 19-pin Cortex-M Adapter•USB Cable•Rapid Start-Up Guide6 Appendix6.1 Ordering InformationVariants and Versions1 Abbreviation for Minimum Order Quantity (MOQ). The default MOQ for mass production is 1 500 pieces,fewer only on customer demand. Samples for evaluation can be delivered at any quantity via the distributionchannels.2 Samples are available on customer demand.6.2 Contact Details6.2.1 Contact UsPlease contact your local Panasonic Sales office for details on additional product options and services:For Panasonic Sales assistance in the EU, visithttps:///about-us/contact-usEmail: *********************.comFor Panasonic Sales assistance in North America, visit the Panasonic website“Sales & Support” to find assistance near you athttps:///distributorsPlease visit the Panasonic Wireless Technical Forum to submit a question athttps://6.2.2 Product InformationPlease refer to the Panasonic Wireless Connectivity website for further information on ourproducts and related documents:For complete Panasonic product details in the EU, visithttp://pideu.panasonic.de/products/wireless-modules.htmlFor complete Panasonic product details in North America, visit/rfmodules。
蓝牙Profile
蓝牙profile基础及应用Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth 规范。
为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。
Profile 定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协议。
比如,如果一家公司希望它们的Bluetooth芯片支援所有的Bluetooth耳机,那么它只要支持HeadSet Profile即可,而无须考虑该芯片与其它Bluetooth设备的通讯与兼容性问题。
如果你想购买Bluetooth产品,你应该了解你的应用需要哪些Profile来完成,并且确保你购买的Bluetooth产品支持这些Profile。
在所有的Profile中,有四种是基本的Profile,这些Profile会被其它的Profile使用。
它们是:GAP Profile: Generic Access Profile,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接。
SDAP Profile: Service Discovery Application Profile,通过该Profile,一个Bluetooth设备可以找到其它Bluetooth设备提供的服务,以及查询相关的信息。
SPP Profile: Serial Port Profile,模拟串口通讯。
GOEP Profile: Generic Object Exchange Profile,通用对象交换。
这个Profile的名字有些费解,它定义的是数据的传输,包括同步,文件传输,或者推送其它的数据。
你可以把它理解为内容无关的传输层协议,可以被任何应用用来传输自己定义的数据对象。
另外,Bluetooth还定义了9种应用(usage)Profile。
CTP Profile: Cordless Telephone Profile,无绳电话。
android_bluetooth调试问题汇总
Bluetooth(Android 4.1)问题汇总1.在查问题之前,需先掌握这些东西:捕捉LOGKernel 的启动LOG,在串口中会有输出,蓝牙的rfkill-rk 驱动,其打印以字符串可搜索之;如果你用“adb shell”来查看log,可先切换到root 后,用“cat /proc/kmsg”打印kernel 的LOG。
Android 中关于蓝牙的LOG,可通过如下命令打印:logcat -s blue* Blue* Bt* bt* &如果你的Android 的logcat 命令不支持星号通配符,请修改system/core/liblog/logprint.c 文件,如下所示:static android_LogPriority filterPriForTag(AndroidLogFormat *p_format, const char *tag){FilterInfo *p_curFilter;for (p_curFilter = p_format->filters;p_curFilter != NULL;p_curFilter = p_curFilter->p_next){if ((p_curFilter->mTag[strlen(p_curFilter->mTag)-1] == '*' &&0 == strncmp(tag, p_curFilter->mTag, strlen(p_curFilter->mTag)-1)) ||(0 == strcmp(tag, p_curFilter->mTag))){if (p_curFilter->mPri == ANDROID_LOG_DEFAULT) {return p_format->global_pri;} else {return p_curFilter->mPri;}}}return p_format->global_pri;}2.命令行启动蓝牙通过su 命令切换到root 用户1、先确认RFKILL 驱动已经加载ls /sys/class/rfkill/rfkill0/如果没有找到rfkill0 这个目录,说明蓝牙驱动有问题。
wt2605 蓝牙音频芯片资料说明书
WT2605蓝牙音频芯片资料Note:GUANGZHOU ELECTRONIC CO.,LTD.reserves the right to change this document without prior rmation provided by WAYTRONIC is believed to be accurate and reliable.However,WAYTRONIC makes no warranty for any errors which may appearin thisdocument.Contact WAYTRONIC to obtain the latest version of device specifications before placing your orders.No responsibility is assumed by WAYTRONIC for any infringement of patent or other rights of third parties which may result from its use.In addition,WAYTRONIC products are not authorized for use as critical components in life support devices/systems or aviation devices/systems,where a malfunction or failure of the product may reasonably be expected to result in significant injury to the user,without the express written approval ofWAYTRONIC.版本号:V1.09WT2605芯片使用说明目录1.产品概述 (3)1.1描述 (3)1.2MCU和高级特性 (3)1.3专用解决方案 (3)1.4应用(部分举例) (4)2.管脚定义 (6)2.1SSOP24封装管脚描述 (6)3.电器参数 (7)3.1工作条件 (7)3.2IO特性 (7)3.3音频DAC特性 (7)3.4BT参数 (8)3.5音频ADC特性 (8)4.封装信息 (9)4.1SSOP24封装信息 (9)5.版本记录 (10)1.产品概述1.1描述WT2605芯片专为音频蓝牙应用而设计,是广州唯创电子有限公司研发的一款高品质MP3语音编解码蓝牙芯片,内含一个功能强大的DSP(数字信号处理器)核心,通过UART接口与外部器件进行访问以及数据交互,操作简单;芯片内置的模拟接口为用户提供高品质的音频输入和输出,外设接口丰富,可实现不同用户的需求。
蓝牙软件BlueSoleil的安装和设置
蓝牙软件BlueSoleil的安装和设置首先要把配送的光盘软件安装到电脑上,然后按照下面的操作:(一)、插入蓝牙适配器到USB接口,并打开驱动软件,大家会在电脑右下角任务栏看到蓝牙图标,(二)、把蓝牙耳机BH503开启到配对状态,(BH503为长按多功能键,直到蓝灯快速闪烁为配对状态),然后点击界面中橙色的球体,即开始搜索蓝牙设备。
(三)、搜索到蓝牙(BH503),后在耳机图标上,点击右键,点击“配对”。
(四)、这时会提示输入蓝牙密码,通常是“0000”,输入后按确定。
(五)、配对成功后,会在电脑右下角任务栏中看到,蓝牙图标由“蓝色”变为“绿色”,即代表连接成功,,然后在蓝牙图标点击右键,选“刷新服务”(六)、点击“刷新服务”后,大家会看到蓝牙软件界面出现后,然后在蓝牙上右键选择“蓝牙高质量音频服务”(七)、这时,会看到右上角其中“双耳机图标”变为“绿色”,即代表连接成功,蓝牙耳机配对及连接准备就绪。
(八)、这时要调整电脑中音频的设置,在电脑左下角菜单中,打开(九)、在列表中找到,双击打开;在“音频”选项中,将“声音播放”默认设备设置为“Bluetooth AV Audio”,(十)、这时打开音乐软件或者电影软件,即可正常使用。
(特别注意:-----如果之前设置有错误导致无声音,则需要在重新设置后再打开音乐软件或者电影软件)(十一)、常见问题1、问:蓝牙耳机没声音?答:可能原因如下:A、在控制面板的“音频”选项中,没有将“声音播放”默认设备设置为“Bluetooth AV Audio”,您可能是设置成了“Bluetooth SCO Audio”或者其他。
B、在之前设置中有错误,音乐软件或者电影软件会默认原来的设置,解决办法:在设置正确后,重新打开相关的播放软件。
C、在设置正确的情况下,错误按了蓝牙多功能键,这时蓝牙软件中蓝牙耳机与中间圆球之间出现对跑的两个箭头,解决办法:重新按下多功能键即可。
2、问:蓝牙耳机听起来音质感觉很差?答:可能原因是--------点击“刷新服务”后,错误地连接了“蓝牙耳机服务”(此为单声道模式),解决办法:断开,并连接成“蓝牙高质量音频服务”,并保证在电脑控制面板的“音频”选项中,将“声音播放”默认设备设置为“Bluetooth AV Audio”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蓝牙驱动和Profilenet/hci_core.cHCI在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。
HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如像UART、USB和PC Card等等。
hci_core.c相当于一个框架,用于把各种具体通信方式胶合起来,并提供一些公共函数的实现。
hci_cmd_task是负责发送CMD的任务,它从hdev->cmd_q队列中取CMD,然后调用hci_send_frame把CMD发送出去,hci_send_frame又会调用实际的HCI驱动的send函数发送数据。
hci_rx_task是负责接收数据的任务,它从hdev->rx_q队列中取数据,然后根据数据的类型调用上层函数处理。
数据包有三种类型:1.HCI_EVENT_PKT:用于处理一些通信事件,比如连接建立,连接断开,认证和加密等事件,这些事件控制协议状态的改变。
2.HCI_ACLDATA_PKT:异步非连接的数据包,通过hci_acldata_packet提交给上层的L2CAP协议处理(hci_proto[HCI_PROTO_L2CAP])。
3.HCI_SCODATA_PKT:同步面向连接的数据包,通过hci_scodata_packet提供给上层的SCO协议处理(hci_proto[HCI_PROTO_SCO])。
hci_tx_task是负责发送数据的任务,发送所有connection 中的ACL和SCO数据,以及hdev->raw_q中的数据包。
HCI为上层提供的接口主要有:1.hci_send_sco:发送SCO数据包,把要发送的数据包放入connection的发送队列中,然后调度发送任务去发送。
2.hci_send_acl:发送ACL数据包,把要发送的数据包放入connection的发送队列中,然后调度发送任务去发送。
3.hci_send_cmd:发送命令数据,把要发送的数据包放入hdev->cmd_q队列中,然后调度命令发送任务去发送。
4.hci_register_proto/hci_unregister_proto:注册/注销上层协议,HCI会把接收到的数据转发给这些上层协议。
5.hci_register_dev/hci_unregister_dev:注册/注销设备,HCI 会把要发送的数据通过这些设备发送出去。
6.其它一些公共函数。
net/hci_conn.c提供了一些连接管理,论证和加密的函数。
net/hci_event.c事件处理函数,负责状态机的维护,这些事件通常会使连接从一个状态转换另一个状态。
1.hci_si_event:用于发送事件。
2.hci_event_packet:用于处理底层上报的事件,从hci_rx_task处调用过来。
net/hci_sock.c给上层提供一个socket接口,应用程序可以通过socket的方式来访问HCI。
1.hci_sock_init:中注册了BTPROTO_HCI类型family。
2.hci_sock_create:创建sock的函数,它的sock的ops指向hci_sock_ops。
3.hci_sock_setsockopt/hci_sock_getsockopt:设置/获取sock的一些选项。
4.hci_sock_sendmsg:发送消息,根据消息的类型把消息放到适当的队列中。
5.hci_sock_recvmsg:接收消息,从接收队列中取消息。
6.hci_sock_recvmsg:ioctl函数。
net/hci_sysfs.c提供一些sysfs文件系统接口。
net/l2cap.cL2CAP是HCI之上的协议,提供诸如QoS,分组,多路复用,分段和组装之类的功能。
通过bt_sock_register为上层提供一个sock接口:1.l2cap_sock_create:创建sock的函数,它的sock的ops 指向l2cap_sock_ops。
2.l2cap_sock_setsockopt/l2cap_sock_getsockopt设置/获取sock的一些选项。
3.l2cap_sock_sendmsg:发送消息,通过HCI提供hci_send_acl函数把消息传递给下层的设备。
4.bt_sock_recvmsg:接收消息,从接收队列中取消息。
通过hci_register_proto向其下的HCI注册协议:1.l2cap_connect_ind:处理连接请求。
2.l2cap_connect_cfm:确认连接。
3.l2cap_disconn:处理断开请求。
4.l2cap_auth_cfm:认证确认。
5.l2cap_encrypt_cfm:加密确认。
6.l2cap_recv_acldata:处理来自HCI的数据。
net/sco.cSCO也是运行在HCI之上的协议,它是面向连接的可靠的传输方式,主要用于声音数据传输。
通过bt_sock_register为上层提供一个sock接口:1.sco_sock_create:创建sock的函数,它的sock的ops指向sco_sock_ops。
2.sco_sock_setsockopt/sco_sock_getsockopt设置/获取sock 的一些选项。
3.sco_sock_sendmsg:发送消息,通过HCI提供sco_send_frame函数把消息传递给下层的设备。
4.bt_sock_recvmsg:接收消息,从接收队列中取消息。
通过hci_register_proto向其下的HCI注册协议:1.sco_connect_ind:处理连接请求。
2.sco_connect_cfm:确认连接。
3.sco_disconn_ind:处理断开请求。
4.sco_recv_scodata:处理来自HCI数据。
rfcomm/*rfcomm是基于l2CAP之上的协议,它在蓝牙协议之上封装传统的RS232串口。
drivers/bluetooth前面我们介绍的都是HCI及其上层的协议,HCI下层的实现就是HCI驱动程序,这些驱动程序用于与蓝牙硬件通信,通信的方式常见的有USB,UART和PC card等几种。
这里我们看看USB的方式:drivers/bluetooth/hci_usb.c1.hci_usb_probe:调用hci_register_dev向前面说的hci_core注册HCI设备。
2.hci_usb_send_frame:用于提供给HCI去发送数据包。
它把数据包放到传输队列__transmit_q(husb,bt_cb(skb)->pkt_type)之中,然后调用hci_usb_tx_process去传输数据。
3.hci_usb_tx_process:根据数据的类型去调用hci_usb_send_ctrl/hci_usb_send_isoc/hci_usb_send_bulk把数据通过USB发送给硬件。
前段时间我实现了HID/DUN/SPP三个Profile,下一步实现OPP/FTP等Profile。
具体的开发其实也简单,我是参照A2DP的代码进行的相关Profile的实现。
Android的Handset/Handfree的实现方式和A2DP/AVRCP 的方式有很大的不同,Handset/Handfree是直接在bluez 的RFCOMM Socket上开发的,没有利用bluez的audio plugin,而A2DP/AVRCP是在bluez的audio plugin基础上开发的,所以大大降低了实现的难度。
其实bluez的audio plugin上也有Handset/Handfree的实现,但不知道为什么Google没有用它,而要在RFCOMM Socket上自己实现一个,这使得Handset/Handfree的实现显得比较复杂。
HID要用到bluez的input plugin,Android已经把它编译进去了,在system/lib/bluez-plugin/input.so下,与input.so 一起的还有audio.so库,那是供A2DP/AVRCP用的。
参照frameworks/base/core/jni/android_server_BluetoothA2dpService.cpp,自己写一个HID用的的.cpp文件,其中跟A2DP一样利用DBUS调用input.so库的CreateDevice/Connect/Disconnect等函数,具体源码在external/bluez/utils/input/manager.c和external/bluez/utils/input/device.c中。
完了之后,参照frameworks/base/core/java/android/server/BluetoothA2dpS ervice.java和frameworks/base/core/java/android/bluetooth/BluetoothA2 dp.java及frameworks/base/core/java/android/bluetooth/IBluetoothA2 dp.aidl,自己分别写两个JAVA类及AIDL接口,余下的就是在packages/apps/Settings/src/com/android/settings/bluetooth目录下的各个文件的修改了,比较省事的方法是搜一下A2DP,只要是A2DP要修改的地方照葫芦画瓢添加修改就是了。
DUN/SPP要用到bluez的serial plugin,因Android没有编译进去,所以要在external/bluez/utils/serial目录下写一个Android.mk,把它编译进去,生成system/lib/bluez-plugin/serial.so库,其它的跟HID类似。