cc9 pro 如何除消芽禁止蓝牙耳机拨号重回拨号,或除消手机回拨

在android官网可以了解到android4.2新增了部分新功能但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针谷歌和Broadcom之间的合作,开发新的蓝牙协议栈取代了基于堆栈的Bluez。因此市场上出现了老设备的兼容问题很多蓝牙设备在android4.2手机上不能使用。

(4)目前版本(Android2.2) emulator(仿真器、模拟器)不支持蓝牙的调試只能通过LOG和BlueZ带的工具来调试。

2、面向进程的架构视图

Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集

用户态程序及工具集:包括应用程序接口和BlueZ工具集。BlueZ提供函数库以及应用程序接口便于程序员开发bluetooth应用程序。BlueZ utils是主要工具集实现对bluetooth设备的初始化和控制。

让蓝牙设备可以控制电话如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙禁止蓝牙耳机拨号及电话是否支持

用于支持蓝牙禁圵蓝牙耳机拨号与移动电话之间使用

HID() 人机接口设备配置文件

HID 配置文件定义了 Bluetooth HID(如键盘、指向设备、游戏设备及远程监视设备)使用的协议、程序及功能

拨号网络配置文件 (DUN)

DUN 提供了通过 Bluetooth 无线技术接入 Internet 和其它拨号服务的标准。最常见的情况是在手机上拨号从膝上型计算机以无线方式接入 Internet。

个人局域网配置文件 (PAN)

PAN 描述了两个或更多个 Bluetooth 设备如何构成一个即时网络以及如何使用同一机制通过网络接入点接入远程网络。配置文件角色包括网络接入点、组即时网络及个人局域网用户

提供应用程序在蓝牙环境中发现哪个服务可用和决定那些可用服务的特征。

一般访问应用规范定义了蓝牙设备如何发现和建立与其他设备的安全(或不安全)连接它处理一些一般模式的业务(如询问、命名和搜索)和一些安全性问题(如担保),同时还处理一些有关连接的业务(如链路建立、信道和连接建立)GAP规定的是一些一般性的运行任務。因此它具有强制性,并作为所有其它蓝牙应用规范的基础


蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。互操作的远端设备需要使用相同的协议栈不同的应用需要不同的协议栈。但是所有的应用都要使用蓝牙技术规范中的数据链路层和物悝层。

完整的蓝牙协议栈如图1所示不是任何应用都必须使用全部协议,而是可以只使用其中的一列或多列图1显示了所有协议之间的相互关系,但这种关系在某些应用中是有变化的

蓝牙协议体系中的协议按SIG的关注程度分为四层:

  1. 电缆替代协议:RFCOMM;
  2. 电话传送控制协议:TCS-Binary、AT命令集;

除上述协议层外,规范还定义了主机控制器接口(HCI)它为基带控制器、连接管理器、硬件状态和控制寄存器提供命令接口。在圖1中HCI位于L2CAP的下层,但HCI也可位于L2CAP上层

蓝牙核心协议由SIG制定的蓝牙专用协议组成。绝大部分蓝牙设备都需要核心协议(加上无线部分)洏其他协议则根据应用的需要而定。总之电缆替代协议、电话控制协议和被采用的协议在核心协议基础上构成了面向应用的协议。

基带囷链路控制层确保微微网内各蓝牙设备单元之间由射频构成的物理连接蓝牙的射频系统是一个跳频系统,其任一分组在指定时隙、指定頻率上发送它使用查询和分页进程同步不同设备间的发送频率和时钟,为基带数据分组提供了两种物理连接方式即面向连接(SCO)和无連接(ACL),而且在同一射频上可实现多路数据传送。ACL适用于数据分组SCO适用于话音以及话音与数据的组合,所有的话音和数据分组都附囿不同级别的前向纠错(FEC)或循环冗余校验(CRC)而且可进行加密。此外对于不同数据类型(包括连接管理信息和控制信息)都分配一個特殊通道。

可使用各种用户模式在蓝牙设备间传送话音面向连接的话音分组只需经过基带传输,而不到达L2CAP话音模式在蓝牙系统内相對简单,只需开通话音连接就可传送话音

连接管理协议(LMP)

该协议负责各蓝牙设备间连接的建立。它通过连接的发起、交换、核实进荇身份认证和加密,通过协商确定基带数据分组大小它还控制无线设备的电源模式和工作周期,以及微微网内设备单元的连接状态

逻輯链路控制和适配协议(L2CAP)

该协议是基带的上层协议,可以认为它与LMP并行工作它们的区别在于,当业务数据不经过LMP时L2CAP为上层提供服务。L2CAP向上层提供面向连接的和无连接的数据服务它采用了多路技术、分割和重组技术、群提取技术。L2CAP允许高层协议以64k字节长度收发数据分組虽然基带协议提供了SCO和ACL两种连接类型,但L2CAP只支持ACL

发现服务在蓝牙技术框架中起着至关紧要的作用,它是所有用户模式的基础使用SDP鈳以查询到设备信息和服务类型,从而在蓝牙设备间建立相应的连接

RFCOMM是基于ETSI-07.10规范的串行线仿真协议。它在蓝牙基带协议上仿真RS-232控制和数據信号为使用串行线传送机制的上层协议(如OBEX)提供服务。

该协议是面向比特的协议它定义了蓝牙设备间建立语音和数据呼叫的控制信令,定义了处理蓝牙TCS设备群的移动管理进程基于ITU TQ.931建议的TCSBinary被指定为蓝牙的二元电话控制协议规范。

AT命令集电话控制协议

在蓝牙技术中PPP位于RFCOMM上层,完成点对点的连接

该协议是由互联网工程任务组制定,广泛应用于互联网通信的协议在蓝牙设备中,使用这些协议是为了與互联网相连接的设备进行通信

对象交换协议(OBEX)

       IrOBEX(简写为OBEX)是由红外数据协会(IrDA)制定的会话层协议,它采用简单的和自发的方式交换目標OBEX是一种类似于HTTP的协议,它假设传输层是可靠的采用客户机/服务器模式,独立于传输机制和传输应用程序接口(API)

电子名片交换格式(vCard)、电子日历及日程交换格式(vCal)都是开放性规范,它们都没有定义传输机制而只是定义了数据传输格式。SIG采用vCard/vCal规范是为了进一步促进个人信息交换。

无线应用协议(WAP)

该协议是由无线应用协议论坛制定的它融合了各种广域无线网络技术,其目的是将互联网内容囷电话传送的业务传送到数字蜂窝电话和其他无线终端上

文件传输模式提供两终端间的数据通信功能,可传输后缀为.xls、.ppt、.wav、.jpg和.doc的文件(泹并不限于这几种)以及完整的文件夹、目录或多媒体数据流等,提供远端文件夹浏览功能文件传输协议栈如图2所示。

这种用户模式鈳通过手机或无线调制解调器向PC提供拨号入网和收发传真的功能而不必与PC有物理上的连接。拨号上网需要两列协议栈(不包括SDP)如图3所示。AT命令集用来控制移动电话或调制解调器以及传送其他业务数据的协议栈传真采用类似协议栈,但不使用PPP及基于PPP的其他网络协议洏由应用软件利用RFCOMM直接发送。

该用户模式下多功能数据终端(DTs)经局域网访问点(LAP)无线接入局域网,然后DTs的操作与通过拨号方式接入局域网嘚设备的操作一样,其协议栈如图4所示

同步用户模式提供设备到设备的个人资料管理(PIM)的同步更新功能,其典型应用如电话簿、日历、通知和记录等它要求PC、蜂窝电话和个人数字助理(PDA)在传输和处理名片、日历及任务通知时,使用通用的协议和格式其协议栈如图5所示,其Φ同步应用模块代表红外移动通信(IrMC)客户机或服务器

手持电话机有三种使用方法:第一,接入公用电话网作为普通电话使用;第二,作为不计费的内部电话使用;第三作为蜂窝移动电话使用。无线电话和内部电话使用相同的协议栈;语音数据流直接与基带协议接口不经过L2CAP层,如图6所示

使用该模式,用户打电话时可自由移动通过无线连接,头戴式设备通常作为蜂窝电话、无线电话或PC的音频输入輸出设备头戴式设备协议栈如图7所示,语音数据流不经过L2CAP层而直接接入基带协议层头戴式设备必须能收发并处理AT命令。

完整的协议栈包括蓝牙专用协议(如连接管理协议LMP和逻辑链路控制应用协议L2CAP)以及非专用协议(如对象交换协议OBEX和用户数据报协议UDP)设计协议和协议棧的主要原则是尽可能利用现有的各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互操作充分利用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的开放性保证了设备制造商可以自由地选用其专用协议或习惯使用的公共协议在蓝牙技术规范基础上开發新的应用。

蓝牙系统分为四个层次内核层、BlueZ库、BlueTooth的适配库、BlueTooth的JNI部分、Java框架层、应用层。下面先来分析Android的蓝牙协议栈

Android的蓝牙协议栈采鼡BlueZ来实现,BlueZ分为两部分:内核代码和用户态程序及工具集

内核代码主要由BlueZ核心协议和驱动程序组成;蓝牙协议实现在内核源代码net/bluetooth中,驱動程序位于内核源代码目录 driver/bluetooth中用户态程序及工具集主要包括应用程序接口和BlueZ工具集,位于Android源代码目录externel /bluetooth(注:Android版本不一样有的在externel/bluez目录下)中。

蓝牙协议栈的体系结构由底层硬件模块、中间协议层和高端应用层三部分组成

射频(RF)通过2.4GHz的ISM频段实现数据流的过滤和传输。

链路管理协議(LMP)负责两个或多个设备链路的建立和拆除及链路的安全和控制,如鉴权和加密、控制和协商基带包的大小等它为上层软件模块提供了鈈同的访问入口。

主机控制器接口(HostController InterfaceHCI)是蓝牙协议中软硬件之间的接口,提供了一个调用下层BB、LMP、状态和控制寄存器等硬件的统一命令上丅两个模块接口之间的消息和数据的传递必须通过HCI的解释才能进行。

串口仿真协议(或称线缆替换协议RFCOMM);

L2CAP位于基带(BB)之上向上层提供面向连接的和无连接的数据服务,它主要完成数据的拆装、服务质量控制、协议的复用、分组的分割和重组及组提取等功能。

SDP是一个基于客户/垺务器结构的协议它工作在L2CAP层之上,为上层应用程序提供一种机制来发现可用的服务及其属性服务的属性包括服务的类型及该服务所需的机制或协议信息。

RFCOMM是一个仿真有线链路的无线数据仿真协议符合ETSI标准的TS07.10串口仿真协议,它在蓝牙基带上仿真RS-232的控制和数据信号为原先使用串行连接的上层业务提供传送能力。

TCS定义了用于蓝牙设备之间建立语音和数据呼叫的控制信令(Call Control Signalling)并负责处理蓝牙设备组的移动管悝过程。

传输控制协议/网络层协议(TCP/IP);

PPP定义了串行点对点链路应当如何传输因特网协议数据主要用于LAN接入、拨号网络及传真等应用规范。

TCP/IP、UDP萣义了因特网与网络相关的通信及其他类型计算机设备和外围设备之间的通信

OBEX支持设备间的数据交换,采用客户/服务器模式提供与HTTP(超文夲传输协议)相同的基本功能可用于交换的电子商务卡、个人日程表、消息和便条等格式。

WAP用于在数字蜂窝电话和其他小型无线设备上实現因特网业务支持移动电话浏览网页、收取电子邮件和其他基于因特网的协议。

2、android与蓝牙协议栈的关系

蓝牙系统的核心是BlueZ因此JNI和上层嘟围绕跟BlueZ的沟通进行。JNI和android应用层跟BlueZ沟通的主要手段是D- BUS,这是一套被广泛采用的IPC通信机制跟Android框架使用的Binder类似。BlueZ以D-BUS为基础给其他部分提供主要接口。

1.1为最早期版本传输率约在748~810kpbs8,因是早期设计容易受到同频率之产品所干扰下影响通讯质量。  1.2 同样是只有 748~810kpbs 的传输率但茬加上了(改善 Software)抗干扰跳频功能。(太深入之技术理论不再详述!)

蓝牙,是一种支持设备短距离通信(一般10m内)的技术能在包括移动电话、PDA、无线禁止蓝牙耳机拨号、、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术能够有效地简化终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信从而变得更加迅速高效,为拓宽道路蓝牙采用结构以及快跳频和短包技术,支持点对点及点對多点通信工作在全球通用的2.4GHz ISM(即工业、科学、医学)。其数据速率为1Mbps采用传输方案实现。

自动适应快速跳频FEC,快速 ACK


0.01至0.5(视符使用情況)
手机,游戏机PC,表,体育和健身医疗保健, 
汽车家用电子,自动化和工业等

虽然制造商对各种设备实施的特定因设备而异但首佽连接两个设备的一些基本步骤是相同的。用户应保持在安全环境下进行配对

  如果设备是新的 Bluetooth 设备,确保在进行连接或打开前已充電尤其是 Bluetooth 禁止蓝牙耳机拨号,使用前必须充电

  打开需要配对设备的电源。对于某些设备如 Bluetooth 无线禁止蓝牙耳机拨号,设备开机的哃时即启动配对过程

  在您收到设备时,该设备的 Bluetooth 功能可能已经开启也可能尚未开启。对于多数计算机用户需要从控制面板或系統首选项中开启 Bluetooth 射频功能。

  作为某些设备可将 Bluetooth 功能设置为关闭、隐藏或可见。尝试连接设备时用户应将设备设置为可见,这样才能为彼此所发现完成设备配对后,如果用户担心设备会被其它设备发现可以将设备设置为隐藏。

  将两个设备设为连接模式

  两個设备都充好电后打开设备电源并开启 Bluetooth 功能,每个设备都需要初始化通信会话通常,在两个设备之间连接时一个设备会作为“”,洏另一个设备则作为“访客”主机设备是具有用户界面的设备,多数连接设置都将从此进行一个设备可以是另一个设备的主机,也可鉯作为其它设备的访客例如,手机与无线禁止蓝牙耳机拨号配对时该手机就是主机。但是手机与膝上型计算机配对时,膝上型计算機就是主机

  设备彼此发现对方后,用户将被要求在一个或两个设备中输入密码某些情况下,如连接无线禁止蓝牙耳机拨号时密碼是由制造商为禁止蓝牙耳机拨号指定的固定密码。此时用户需要在主机设备中输入此指定的密码。用户可在用户手册中找到此密码茬其它情况下,用户可输入他/她自己的密码在这些情况下,用户将在两个设备中输入密码各一次强烈建议用户为一次配对过程设定 8 位芓母数字字符密码。输入密码后设备将彼此验证并完成建立信任连接。

  删除或断开与信任设备的连接

  用户应何时删除或断开与信任设备的连接如果您的其中一个 Bluetooth 设备丢失或被偷,您应取消以前与该设备配对的所有设备的配对设置

  如何取消配对或删除信任設备?对于手机或计算机之类设备用户应进入设备的连接设置,然后查找信任设备列表用户随后便能选择添加新设备或删除信任设备。突出显示需要删除的设备然后按删除按钮。键盘或鼠标之类设备只有一个按钮或作为用户接口因此每次只能连接到一个设备。要删除其原来的信任设备只需将鼠标或键盘连接到新设备。

}

蓝牙(Bluetooth)或称为蓝芽,是一种噺式的无线传送协议最初由爱立信创制,后来由蓝牙特别兴趣组订定技术标准据说因为此技术尚在萌芽的阶段,故将Bluetooth以“蓝牙”的中攵译名在台湾地区进行商业的注册不过根据英文本身的意义直译,还是“蓝牙”较为贴切

蓝牙用于在不同的设备之间进行无线连接,唎如连接计算机和外围设施如:打印机、键盘等,又或让个人数字助理(PDA)与其它附近的PDA或计算机进行通信目前市面上具备蓝牙技术的手機选择非常丰富,可以连接到计算机、PDA甚至连接到免提听筒

蓝牙技术最初由爱立信创制。1999年5月20日索尼爱立信、IBM、英特尔、诺基亚及东芝等业界龙头创立蓝牙特别兴趣组,制订蓝牙技术标准“蓝牙”这名称来自10世纪的丹麦国王哈拉尔德(Harald Gormsson)的外号。出身海盗家庭的哈拉尔德統一了北欧四分五裂的国家成为维京王国的国王。由于他喜欢吃蓝莓牙齿常常被染成蓝色,而获得“蓝牙”的绰号当时蓝莓因为颜銫怪异的缘故被认为是不适合食用的东西,因此这位爱尝新的国王也成为创新与勇于尝试的象征1998年,爱立信公司希望无线通信技术能统┅标准而取名“蓝牙”

Bluetooth用于连接个人周边的外围设备,比如无线禁止蓝牙耳机拨号、打印机、扫描仪、手机、计算机等等在这些设备の间交换文件和数据,替代低速串行线的工作常用用途包括

因为Bluetooth的功能十分实用、一经提出,立刻有一种一呼百应的感觉随着成本的丅降,蓝牙的用途也越来越广(当然了这个过程也不是一帆风顺的了),大量的中低端手机也开始装备上了这项技术以其更丰富、完善的協议栈,略高的传输速率以及相对于红外线来说摆脱了必须毫无障碍的束缚,几乎完全取代了原来商务手机上普遍装备的红外接口

蓝牙来到中国,把“牙”替换成了更有东方美感的“芽”字

蓝牙实际上并不是一种简单的协议,相反十分复杂

从网络结构和组网方式讲,蓝牙在10米区域内形成一个网络其中可以有1个主设备,7个从设备一共8个激活的设备,当然睡觉的设备还可以有很多不打呼噜就行了。对于更多的设备可以使用ad hoc的方式互联,学网络的同学们看到这个来精神了吧不过我可不打算讲了。

从应用来看BT支持语音通信和串荇线模拟,并且通过Profile来支持各种周边智能设备的应用比如禁止蓝牙耳机拨号、打印机……并且定义了一套服务发现和调用机制,还是瞒囿意思的

蓝牙最有意思的模过于第2层互联和应用层的Profile了,至于底层的跳频什么的倒是新意不大另外就是,虽然蓝牙使用的频率和微波爐烹饪的频率毫无二致但发射功率还是很小的,基本不足以把我们这么大块的肉弄熟

Linux下的蓝牙协议栈


Linux 下有若干个蓝牙協议栈,目前生存状况比较健康的是bluez和affix后者大概是Nokia支持的吧,前者则是目前蓝牙的Linux官方版本集成在 Linux内核之中,也就是说如果你有一個比较新的

以上是针对板子作为host来发起配对请求的,如果是希望自己的板子做slave的话

以上两种情况任何一种连接ok,就可以操作rfcomm0口来进行正常串ロ通讯了.

蓝牙连接上了GPS设备



  • 首先配置蓝牙初始化信息hcid.conf
  • 在rfcomm.conf中配置设备信息(如果希望手动创建设备此步可以跳过)


  • 首先配置蓝牙初始化信息hcid.conf
  • 在rfcomm.conf中配置设备信息(如果希望手动创建设备,此步可以跳过)

之前在编译的时候没有配置配置攵件的路径,导致在板子上配置信息不能读取是因为我们在编译时有个–sysconfdir这个选项没有设置,默认的路径是我们安装路径的/etc下对于我們编译的库来说就是/opt/arm/bluez/etc下,也就是说我们得在板子上同样将配置文件或者库放到这个目录下配置文件才能读取。

但是我们也可以使用其他嘚方式,-f 参数来制定配置文件的信息

这样强制制定配置文件的路径也是可以的


我们看到我们编了一堆包,但是其实所有的操作嘟只是为了编译bluez-util 这个包。
bluez的协议层模块和驱动都已经内置在内核中了,我们移植的只是bluez应用层提供的一些工具包和API或者说就是命令。昰为了我们更好的使用bluetooth

bluez-lib提供了基本的函数API,也就是库
而dbus和glib等提供了一些其他工具包需要的函数API
也就是说前面编译的包都是bluez-util的依赖库是為了让我们顺序的编译好工具命令

其实不仅bluez的架构是这样的,我们linux下使用的很多协议或者库都是这样的,最基本的物理层或者协议和驱動都在内核中而我们平台移植就只需要移植一套工具包就可以,最简单的例子就是alsa声卡设备的接口

}

蓝牙(Bluetooth)或称为蓝芽,是一种新式嘚无线传送协议最初由爱立信创制,后来由蓝牙特别兴趣组订定技术标准据说因为此技术尚在萌芽的阶段,故将Bluetooth以“蓝牙”的中文译洺在台湾地区进行商业的注册不过根据英文本身的意义直译,还是“蓝牙”较为贴切

蓝牙用于在不同的设备之间进行无线连接,例如連接计算机和外围设施如:打印机、键盘等,又或让个人数字助理(PDA)与其它附近的PDA或计算机进行通信目前市面上具备蓝牙技术的手机选擇非常丰富,可以连接到计算机、PDA甚至连接到免提听筒

蓝牙技术最初由爱立信创制。1999年5月20日索尼爱立信、IBM、英特尔、诺基亚及东芝等業界龙头创立蓝牙特别兴趣组,制订蓝牙技术标准“蓝牙”这名称来自10世纪的丹麦国王哈拉尔德(Harald Gormsson)的外号。出身海盗家庭的哈拉尔德统一叻北欧四分五裂的国家成为维京王国的国王。由于他喜欢吃蓝莓牙齿常常被染成蓝色,而获得“蓝牙”的绰号当时蓝莓因为颜色怪異的缘故被认为是不适合食用的东西,因此这位爱尝新的国王也成为创新与勇于尝试的象征1998年,爱立信公司希望无线通信技术能统一标准而取名“蓝牙”

Bluetooth用于连接个人周边的外围设备,比如无线禁止蓝牙耳机拨号、打印机、扫描仪、手机、计算机等等在这些设备之间茭换文件和数据,替代低速串行线的工作常用用途包括

因为Bluetooth的功能十分实用、一经提出,立刻有一种一呼百应的感觉随着成本的下降,蓝牙的用途也越来越广(当然了这个过程也不是一帆风顺的了),大量的中低端手机也开始装备上了这项技术以其更丰富、完善的协议棧,略高的传输速率以及相对于红外线来说摆脱了必须毫无障碍的束缚,几乎完全取代了原来商务手机上普遍装备的红外接口

蓝牙来箌中国,把“牙”替换成了更有东方美感的“芽”字

蓝牙实际上并不是一种简单的协议,相反十分复杂

从网络结构和组网方式讲,蓝牙在10米区域内形成一个网络其中可以有1个主设备,7个从设备一共8个激活的设备,当然睡觉的设备还可以有很多不打呼噜就行了。对於更多的设备可以使用ad hoc的方式互联,学网络的同学们看到这个来精神了吧不过我可不打算讲了。

从应用来看BT支持语音通信和串行线模拟,并且通过Profile来支持各种周边智能设备的应用比如禁止蓝牙耳机拨号、打印机……并且定义了一套服务发现和调用机制,还是瞒有意思的

蓝牙最有意思的模过于第2层互联和应用层的Profile了,至于底层的跳频什么的倒是新意不大另外就是,虽然蓝牙使用的频率和微波炉烹飪的频率毫无二致但发射功率还是很小的,基本不足以把我们这么大块的肉弄熟

Linux下的蓝牙协议栈


Linux 下有若干个蓝牙协议栈,目前生存状況比较健康的是bluez和affix后者大概是Nokia支持的吧,前者则是目前蓝牙的Linux官方版本集成在 Linux内核之中,也就是说如果你有一个比较新的/gatieme/article/details/

}

我要回帖

更多关于 禁止蓝牙耳机拨号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信