对蓝牙profile的理解
想要使用蓝牙无线技术,设备必须能够翻译特定蓝牙配置文件,配置文件定义了可能的应用.
①:与其他配置文件的相关性
②:建议的用户界面格式
③:配置文件使用的蓝牙协议堆栈的特定部分.
四种最基本的配置文件
1.通用访问配置文件(Generic Access Profile, GAP)
GAP是所有其他配置文件的基础,它定义了在蓝牙设备间建立基带链路的通用方法.除此之外,GAP还定义了下列内容:
①:必须在所有蓝牙设备中实施的功能
②:发现和链接设备的通用步骤
③:基本用户界面术语.
SDAP描述了应用程序如何使用SDP发现远程设备上的服务.由于GAP的要求,任何蓝牙设备都应能够连接至其他蓝牙设备.基于此,SDAP要求任何应用程序都应当能够发现它要连接的其他蓝牙设备上的可用服务.此配置文件可承担搜索已知和特定服务及一般的任务.SDAP涉及了称为“服务发现用户应用程序”的一个应用程序,这是蓝牙设备查找服务所必需的.此应用程序可与向/从其他蓝牙设备发送/接收服务查询的SDP相接.SDAP依赖于GAP,并可以重新使用部分GAP.
SPP定义了如何设置虚拟串行端口及如何连接两个蓝牙设备.SPP基于ETSI TS 07.10规格,使用RFCOMM协议提供串行商品仿真.SPP提供了以无线方式替代现有的RS-232串行通信应用程序和控制信号的方法.SPP为DUN,FAX,HSP和LAN配置文件提供了基础.此配置文件可以支持最高128kb/s的数据率.SPP依赖于GAP.
GOEP可用于将对象从一个设备传输到另一个设备.对象可以是任意的.如:图片,文档,名片等.此配置文件定义了两个角色:提供拉提或推送对象位置的服务器及启动操作的客户端.使用GOEP的应用程序假定链路和信道已按GAP的定义建立.GOEP依赖于串行端口配置文件.
GOEP为使用OBEX协议的其他配置文件提供了通用蓝图,并为设备定义了客户端和服务器角色.对于所有的OBEX事务.GOEP规定应由客户端启动所有事务.但是此配置文件并没有描述应用程序就如何定义要交换的对象或如何实施交换.这些细节留给属于GOEP的配置文件.即OPP,FTP和SYNC去完成.通常使用此配置文件的蓝牙设备为笔记本电脑,PDA,手机及智能电话.
注意:蓝牙1.1版本规范所有蓝牙设备的最小实现必须支持通用访问配置文件,服务发现应用配置文件和串行端口配置文件.
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,无绳电话。
IP Profile: Intercom Profile,这是在两个设备之间建立语音连接,换句话说,把两个昂贵的蓝牙设备变成廉价的对讲机。
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: Synchronization Profile,用于不同的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 Controller Interface用来界定Bluetooth与Host设备之间连结接口的控制指令。
c.L2CAP Logical Link Control and Adaptation Protocol 协议,负责对上层不同应用的软件接口网络连结功能,而对应于不同的应用程序,此所谓多任务。另外也提供Multiplexing、Quality Of 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.Profiles API层则分别对Audio、Data、Control等提供了不同的模块。目前已规范有四大类、十三种协议规格。
h.Application则是依据语音、数据、控制等应用需求,提供应用软件所需的通讯协议功能与应用程序接口。
对蓝牙profile的理解的更多相关文章
- 蓝牙Profile的概念和常见种类
蓝牙Profile Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部 的Bluetooth规范.为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规 ...
- 蓝牙Profile的概念和常见种类(转)
蓝牙Profile Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部 的Bluetooth规范.为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规 ...
- andriod(十七)蓝牙profile
1. 蓝牙profile Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范.为了更容易的保持Bluetooth设备之间的兼容, Bluetoo ...
- bluetooth在linux应用开发
linux内Bluetooth的协议栈为BlueZ,http://www.bluez.org/.在4.46上,BlueZ实现了对A2DP Sink的支持,而之前的版本只支持A2DP Source.
- 低功耗蓝牙ATT/GATT/Profile/Service/Characteristic规格解读
什么是蓝牙service和characteristic?到底怎么理解蓝牙profile?ATT和GATT两者如何区分?什么又是attribute?attribute和characteristic的区别 ...
- [蓝牙] 6、基于nRF51822的蓝牙心率计工程消息流Log分析(详细)
开机初始化Log Log编号 函数名 所在文件名 000001: main ..\main.c 000002: timers_init ..\main.c 000003: gpiote_init ...
- 全球最低功耗蓝牙单芯片(DA14580)系统架构和应用开发框架分析
DA14580是Dialog公司研制的蓝牙单芯片,号称全球功耗最低,是TI CC2541的四分之一,是运动手环等穿戴类电子产品的常用芯片.但是DA14580的开发门槛不低,适合有蓝牙开发经验的团队来开 ...
- 小程序蓝牙BLE——自动连接设备(手环)
了解小程序蓝牙API: /** *蓝牙API: * 1.初始化蓝牙(判断蓝牙是否可用):openBluetoothAdapter * 2.获取蓝牙设备状态(蓝牙是否打开):getBluetoothAd ...
- 蓝牙协议分析(5)_BLE广播通信相关的技术分析
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon” ...
随机推荐
- Oracle 查询性能优化实践
1.索引使用原则 不要对索引使用全模糊,但是 LIKE 'asdf%'是可以的,即不要Contains,可用StartWith 不要对索引进行函数,表达式操作,或者使用is null判断,否则 ...
- memcached启动脚本以及telnet测试
memcached -m 1024 -u root -p 11211 -c 1024 -P /var/memcached.pid -d memcached 1.2.2 -p <num> T ...
- js库写法
前言: 现在javascript库特别多,其写法各式各样,总结几种我们经常见到的,作为自己知识的积累.而目前版本的 JavaScript 并未提供一种原生的.语言级别的模块化组织模式,而是将模块化的方 ...
- WPF中ControlTemplate和DataTemplate的区别
下面代码很好的解释了它们之间的区别: <Window x:Class="WPFTestMe.Window12" xmlns="http://schemas.micr ...
- iOS学习10之OC类和对象
本次是OC的第一节课,主要是学习和理解类与对象 1.面向对象 1> OOP(Object Oriented Programming)面向对象编程. 面向对象以事物为中心,完成某件事情都需要哪些事 ...
- HDU5735 : Born Slippy
考虑DP,设$f[x]$表示最后一个是$x$时的最优解,则$f[x]=\max(f[y]+w[x]\ opt\ w[y])$,其中$y$是$x$的祖先. 注意到$w[i]<2^{16}$,那么将 ...
- AJAX 跨域请求 - JSONP获取JSON数据
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...
- iebugs产生的原因,zoom:1的作用
zoom:1是针对ie的属性,可以激活hasLayout属性,关于hasLayout haslayout 是Windows Internet Explorer渲染引擎的一个内部组成部分.在Intern ...
- vs2013单元测试第二部分
上次的随笔说还没弄懂,现在已经弄懂,就让我说说我的方法吧. 1.点击文件——>新建——>项目——>c#——>控制台应用程序,确定,之后如图所示 2.在一定位置写上要进行单元检测 ...
- App如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?
来自//www.cocoachina.com/ 初代 iPhone 2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到 ...