对蓝牙profile的理解

PS:从网上找的  http://blog.csdn.net/evilcode/    http://blog.sina.com.cn/samzhen1977
http://www.linuxidc.com/Linux/2011-09/43182.htm
 
      之所以把Profile翻译为配置文件,是为避免和JavaME中的简表混淆.配置文件也是蓝牙SIG官方网站给出的标准翻译.

      想要使用蓝牙无线技术, 设备必须能够翻译特定 蓝牙配置文件,配置文件 定义了可能的应用.
      蓝牙配置文件 表达了一般行为,蓝牙设备可以 通过这些行为与其他设备进行通信.
      蓝牙技术定义了广泛的配置文件,描述了许多不同类型的使用安全.按蓝牙规格中提供的指导,开发商可创建应用程序以用来与其他符合蓝牙规格的设备协同工作.在最低限度下,各配置文件规格应包含下列主题的相关信息.
      ①:与其他配置文件的相关性
      ②:建议的用户界面格式
      ③:配置文件使用的蓝牙协议堆栈的特定部分.
      为执行其任务, 每个配置文件都使用堆栈各层上的特定选项和参数.若需要,也可包括必需的服务记录概要.

四种最基本的配置文件
1.通用访问配置文件(Generic Access Profile, GAP)
      GAP是所有其他配置文件的基础,它定义了在蓝牙设备间 建立基带链路的通用方法.除此之外,GAP还定义了下列内容:
①:必须在所有蓝牙设备中实施的功能
②:发现和链接设备的通用步骤
③:基本用户界面术语.

      GAP确保了应用程序和设备间的高度互操作性,还允许开发人员利用现有的定义更加容易地定义新的配置文件. GAP处理未连接的两个设备间的发现和建立连接过程.此配置文件定义了一些通用的操作,这些操作可供引用GAP的配置文件,以及实施多个配置文件的设备使用.GAP确保了两个蓝牙设备可通过蓝牙技术交换信息,以发现彼此支持的应用程序.不符合任何其他蓝牙配置文件的蓝牙设备必须与GAP符合以确保基本的互操作性和共存.

2.服务发现应用配置文件(Service Discovery Application Profile, SDAP)
      SDAP描述了应用程序 如何使用SDP发现远程设备上的服务.由于GAP的要求,任何蓝牙设备都应能够连接至其他蓝牙设备.基于此,SDAP要求任何应用程序都应当能够发现它要连接的其他蓝牙设备上的可用服务.此配置文件可承担搜索已知和特定服务及一般的任务.SDAP涉及了称为“服务发现用户应用程序”的一个应用程序,这是蓝牙设备查找服务所必需的.此应用程序可与向/从其他蓝牙设备发送/接收服务查询的SDP相接.SDAP依赖于GAP,并可以重新使用部分GAP.

3.串行端口配置文件(Serial Port Profile, SPP)
      SPP定义了如何设置虚拟串行端口及如何连接两个蓝牙设备.SPP基于ETSI TS07.10规格,使用RFCOMM协议提供串行商品仿真.SPP提供了以无线方式替代现有的RS-232串行通信应用程序和控制信号的方法.SPP为DUN,FAX,HSP和LAN配置文件提供了基础.此配置文件可以支持最高128kb/s的数据率.SPP依赖于GAP.

4.通用对象交换配置文件(Generic Object Exchange Profile, GOEP)
      GOEP可用于将对象从一个设备传输到另一个设备.对象可以是任意的.如:图片,文档,名片等.此配置文件定义了两个角色:提供拉提或推送对象位置的服务器及启动操作的客户端.使用GOEP的应用程序假定链路和信道已按GAP的定义建立.GOEP依赖于串行端口配置文件.
      GOEP为使用OBEX协议的其他配置文件提供了通用蓝图,并为设备定义了客户端和服务器角色.对于所有的OBEX事务.GOEP规定应由客户端启动所有事务.但是此配置文件并没有描述应用程序就如何定义要交换的对象或如何实施交换.这些细节留给属于GOEP的配置文件.即OPP,FTP和SYNC去完成.通常使用此配置文件的蓝牙设备为笔记本电脑,PDA,手机及智能电话.
注意:蓝牙1.1版本规范所有蓝牙设备的最小实现必须支持通用访问配置文件,服务发现应用配置文件和串行端口配置文件.
 
 
PS2:

 

Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协议

比如,如果一家公司希望它们的Bluetooth芯片支援所有的Bluetooth耳机,那么它只要支持HeadSetProfile即可,而无须考虑该芯片与其它Bluetooth设备的通讯与兼容性问题。如果你想购买Bluetooth产品,你应该了解你的应用需要哪些Profile来完成,并且确保你购买的Bluetooth产品支持这些Profile。

在所有的Profile中,有四种是基本的Profile,这些Profile会被其它的Profile使用。它们是:
GAP Profile: Generic AccessProfile,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接。
SDAP Profile: Service Discovery ApplicationProfile,通过该Profile,一个Bluetooth设备可以找到其它Bluetooth设备提供的服务,以及查询相关的信息。
SPP Profile: Serial Port Profile,模拟串口通讯
GOEP Profile: Generic Object ExchangeProfile,通用对象交换。这个Profile的名字有些费解,它定义的是数据的传输,包括同步,文件传输,或者推送其它的数据。你可以把它理解为内容无关的传输层协议,可以被任何应用用来传输自己定义的数据对象

另外,Bluetooth还定义了9种应用(usage)Profile。

CTP Profile: Cordless Telephone Profile,无绳电话。
IP Profile: IntercomProfile,这是在两个设备之间建立语音连接,换句话说,把两个昂贵的蓝牙设备变成廉价的对讲机。
HS Profile: HeadSet Profile,用于连接耳机。
DNP Profile: Dial-up Networking Profile,用于为PC提供拨号网络功能。
FP Profile: Fax Profile,传真功能。
LAP Profile: LAN Access Profile,使用PPP协议建立局域网。
OPP Profile: Object Push Profile,用于设备之间传输数据对象。
FTP Profile: File Transfer Profile,用于文件传输。
SP Profile: SynchronizationProfile,用于不同的Bluetooth设备同步,保持数据的一致性。

Bluetooth的Profile问题是相当复杂的,这些Profile规范在全部的Bluetooth规范中占有了400页的内容


 

Bluetooth是一种短距离无线通讯传输接口,允许的传输距离长度设计为10米到100米,当含有Bluetooth的手机或计算机等在多个含Bluetooth装置的环境中,设备尚未加入蓝牙微网时,它会先进入待机状态。在此状态下,它会随时监听传呼讯息,直到收到的信号与自己本身的识别码有相关时,自己才会激活Bluetooth服务称为Master 时,开始寻找外围所有Bluetooth装置 称为Slave,并且呼叫连结程序。接下来则进行识别码的确认及信号时间的同步,以便决定往后跳频之Sequence,而将这些装置连成一个群体,称为微网Piconet 。可由Bluetooth形成一个微网的方式来分享资料,可提供7-8个主动服务者 Active Slave Device以及255个等待服务者 Standby Slave Device。为了维持信息的传送,微网内的其中一个装置为此微网的主控装置,而其它装置则为从属装置。在微网内的任何一个装置都可以成为主控装置,但在任何时间中微网内只有一个主控装置。Bluetooth提供点对点或点对多的连结方式,各个Bluetooth装置连结建立都由Master来主控,在一个区域内,同时可以加入多个微网,这种多个微网架构所组成称为叠网Scatternet 。

基本通讯硬件的机制能够作点对点的传输,所以网络通讯能提供便利的、高层次的应用接口软件。这软件大部分处理低层次的通讯项目及自动化的程序。可较容易应用到通讯上,大部分的应用程序依靠网络软件联机。当传送资料时,在复杂的通讯上必须取得一致的规格,此规格称为协议Protocol。以上已经提过了一些Bluetooth相关的协议,在这里为协议作详细的说明: 

  a.在物理层 Physical 上为LMP Link manager Protocol协议,主控不同组件间的联机控制、组件的连结状态,传输封包的加解密和身分认证等。 

  b.Host ControllerInterface用来界定Bluetooth与Host设备之间连结接口的控制指令。 

  c.L2CAP Logical Link Control and Adaptation Protocol协议,负责对上层不同应用的软件接口网络连结功能,而对应于不同的应用程序,此所谓多任务。另外也提供Multiplexing、QualityOf Service 服务品质 、封包切割 Segmentation 与整合 Reassembly的等服务功能,将上层传下来的信息包整理成64K字节。 

  d.RFCOMM RF Communication协议,提供串行联机的功能,类似RS232的控制信号与资料收发的信号。 

  e.TCS Telephony Control Service 协议,其中是二元化 TCS BIN ,负责电话联机信号的建立控制Call Control 、移动漫游管理 Mobility Management 。另外为AT指令 AT Command,此用来让手机 或计算机等经由Bluetooth连上的硬件接口来上网,此时也提供传真的指令。 

  f.SDP Service Discovery Protocol协议,其中包含服务的纪录,主要记录服务特性和身份认证。另外是描述有关服务发现后所要作的事情,主要建立一个通话联机,所使用通话协议。 

  g.ProfilesAPI层则分别对Audio、Data、Control等提供了不同的模块。目前已规范有四大类、十三种协议规格。

  h.Application则是依据语音、数据、控制等应用需求,提供应用软件所需的通讯协议功能与应用程序接口。

你可能感兴趣的:(profile,BLE)