1.请问能和手机蓝牙3.0和4.0能连接吗连接吗

正在初始化报价器请教下各位蓝牙耳机只能连接一个手机吗3个回答失意frrgc一次只能连接一个手机,蓝牙耳机可以和任何带有蓝牙功能的手机连接的,但每次和一部手机连接都是要经过配对才能用的。
配对步骤:按住蓝牙开关键不放,直到蓝牙指示灯的两种颜色(一般是红色和蓝色)交替的闪烁,用需要连接的手机搜索设备,搜索到设备后连接就可以了。
wsm__一次只能连接一个,将蓝牙耳机充满电,然后将蓝牙耳机上的哪个按键一直按着,直到亮了(不再闪烁),然后用手机蓝牙搜索免提设备,(蓝牙耳机密码是0000)
希望答案对您有帮助
Superman丿鞦T0通俗一点说。 每部手机内部只集成了一个蓝牙模块。而且这个模块只能控制一个蓝牙设备或者传输中也只能点对点传输。 一个蓝牙模块最多只能连接一个设备。 所以不能连接2个蓝牙。
其他回答热门问答1234567891011121314151617181920查看更多21222324252627282930相关问答3个回答jhwsdafsasd1、首先是单击电脑右下角的显示隐藏图标,然后单击蓝牙图标,会出现如下菜单,单击打开设置;
2、点击选项,将允许蓝牙设备查找这台电脑打勾选定,然后单击右下角的应用,然后确定; ...6个回答幻巽妖姬(1)第一步:先了解要使用的电脑安装的系统是什么版本,如果是XP系统SP2的最好,就不需要安装蓝牙驱动——直接将蓝牙适配器插入电脑USB接口就行了。如果电脑是XP 2以下系统的话,...3个回答导弹飞鱼音响,小钢炮是小音箱,但音质一般是越大越好。3个回答李先生张女士蓝牙适配器是插在电脑上加载驱动程序才能使用的,而带USB口的音箱只能识别内存卡或者如U盘类的存储设备,不能直接支持蓝牙适配器使用!如果你确实想用的话,就弄一个手机蓝牙接收器,带3....3个回答如花般盛放冬瓜您好,蓝牙HID
是属于蓝牙协议里面的一个profile,
蓝牙4.0是指蓝牙版本号是4.0.
不管在蓝牙2.0
3.0还是4.0的蓝牙中
, ...3个回答怀念狗dog257你用5V的电源加到蓝牙耳机的充电端口上面就是,最好是把电池拆除了使用,不然如果蓝牙耳机的充电电路设计不完善的话长时间充电可能会有点危险的
3个回答安承安您好,蓝牙HID
是属于蓝牙协议里面的一个profile,
蓝牙4.0是指蓝牙版本号是4.0.
不管在蓝牙2.0
3.0还是4.0的蓝牙中
, ...3个回答sl首先蓝牙耳机要支持立体声,也就是左右声道。然后还要有有源音箱。这些备齐了,就弄两个莲花头焊接到蓝牙耳机的左右声道。焊完后插到有源音箱的左右输入。就ok了。不过音质会很差。因为蓝牙耳...3个回答手机用户219629手机蓝牙与电脑蓝牙连接这个是需要一个蓝牙适配器,当然如果你电脑本身就有蓝牙就不用了
蓝牙适配器有个USB接口,你将它连接电脑上面,这样电脑上面又下角就有一个蓝牙标志,接着你就...3个回答世茉:从开始研发我们就一直秉持一个核心的理念.由此出发,继一系列在多家著名ktv使用并深受业界好评的设备成功面世后,我们并没有满足于眼前的成绩,相反,公司不断突破自我…教你如何用电脑通过蓝牙连接手机上1_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
教你如何用电脑通过蓝牙连接手机上1
&&Help you conect the blueteeth with the computer
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩15页未读,
定制HR最喜欢的简历
你可能喜欢经验7660 米
在线时间529 小时
版本8.6.14
积分 8374, 距离下一级还需 11626 积分
积分 8374, 距离下一级还需 11626 积分
机型小米手机6
签到次数220
MIUI版本8.6.14
小米手机的蓝牙可以连接到蓝牙耳机,不能与其他手机连接时提示:已配对未连接
是怎么回事啊,请高手来解答一下,谢谢!
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
在线时间11 小时
积分 11, 距离下一级还需 39 积分
积分 11, 距离下一级还需 39 积分
我也遇到过。
蓝牙那里,打开可检测性,别人的手机也要。
就可以链接了。
经验7660 米
在线时间529 小时
版本8.6.14
积分 8374, 距离下一级还需 11626 积分
积分 8374, 距离下一级还需 11626 积分
机型小米手机6
签到次数220
MIUI版本8.6.14
试过了,还是不能和其他手机连接成功,郁闷!
经验7660 米
在线时间529 小时
版本8.6.14
积分 8374, 距离下一级还需 11626 积分
积分 8374, 距离下一级还需 11626 积分
机型小米手机6
签到次数220
MIUI版本8.6.14
测试过联想和NOKIA手机都提示,已配对未连接,
经验5994 米
在线时间322 小时
版本8.4.26
积分 6395, 距离下一级还需 13605 积分
积分 6395, 距离下一级还需 13605 积分
机型未知设备
签到次数166
MIUI版本8.4.26
这是小米系统的一个极大BUG。
经过摸索本人自己解决,告诉你方法吧。
下载并安装一个“蓝牙助手”,然后打开MIUI的蓝牙功能,打开可以被检测到,然后用蓝牙助手收发文件,即可。
这个问题我已经反映到了售后,售后人员竟然说这样也不错啊
经验1389 米
在线时间240 小时
积分 1696, 距离下一级还需 304 积分
积分 1696, 距离下一级还需 304 积分
机型小米手机1/1S
&&我的很好用啊。
经验869 米
在线时间176 小时
版本4.4.25
玩机小白白
积分 1179, 距离下一级还需 821 积分
积分 1179, 距离下一级还需 821 积分
机型未知设备
签到次数11
MIUI版本4.4.25
的确不错....:victory:
经验7660 米
在线时间529 小时
版本8.6.14
积分 8374, 距离下一级还需 11626 积分
积分 8374, 距离下一级还需 11626 积分
机型小米手机6
签到次数220
MIUI版本8.6.14
谢谢你的建议
经验128 米
在线时间27 小时
版本ICS24.0
积分 174, 距离下一级还需 26 积分
积分 174, 距离下一级还需 26 积分
机型未知设备
MIUI版本ICS24.0
期待早日解决!!现在用WIFI
经验241 米
在线时间8 小时
版本3.12.6
积分 255, 距离下一级还需 245 积分
积分 255, 距离下一级还需 245 积分
机型未知设备
签到次数24
MIUI版本3.12.6
与华为C8812配对时出现“PIN或配对密钥不正确,无法与HUAWEI C8812配对”的提示!
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
MIUI三周年
MIUI三周年纪念勋章
已关注极客秀微信
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号& &利用智能蓝牙技术连接智能手机,智能能够实现智能拨号、同步智能手机,让您无论办公还是生活都轻松方便。但是智能手如何利用蓝牙连接智能手机呢?下面请看总结归纳的方法吧!
第一步:智能手表蓝牙连接
& &&1、智能手表[蓝牙]-打开[蓝牙和本机可被搜索]设置。
& &&2、打开智能手机[蓝牙],搜索[SmartWatch]设备,点击配对。
& &&3、智能手表接收按钮滑动至中间接收配对信号。
第二步:智能手机下载安装APK文件
& &&1、智能手表[应用]-[关于本机]-[APP下载]。
& &&2、智能手机扫描二维码下载安装。
& &&3、智能手机[智能手表2]应用程序安装成功。
第三步:智能手表同步手机服务
& &&1、智能手机[智能手表2]-[服务设置]-[开启手表服务]并勾选[开机时启动手表服务]和[状态栏中显示图标]。
& &&2、智能手表[设置]-[信息同步设置],手动打开此项。
& &&3、智能手表[连接状态]变为[与手表数据连接正常],则已经同步成功。
我来写评论
最新腕表点评声明:这篇文章是楼主beautifulzzzz学习网上关于蓝牙的相关知识的笔记,其中比较多的受益于xubin341719的蓝牙系列文章,同时还有其他网上作者的资料。由于有些文章只做参考或统计不足,如涉及版权请在下面留言~。同时我也在博客分类中新建一个蓝牙通信分类,用来研究分享蓝牙相关技术。
主要参考资料的来源:xubin341719[下面是该前辈的BT系列文章]下载连接:&(基本涵盖所有蓝牙协议)、(三蓝牙版本的核心协议v2.1\v3.0\v4.0)、(蓝牙协议相关初学者必读,开发者参考)
有道笔记分享链接:
下面是摘抄笔记内容:
& & 蓝牙,是一种支持设备短距离通信(一般10m内)的技术。能在包括移动电话、PDA、无线耳机、、相关外设等众多设备之间进行无线信息交换。利用&蓝牙&技术,能够有效地简化终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而变得更加迅速高效,为拓宽道路。蓝牙采用结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)。其数据速率为1Mbps。采用传输方案实现。
     & Bluetooth的系统构成
1、无线射频单元(Radio):负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。2、基带或链路控制单元(LinkController):进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接规程。3、链路管理单元(LinkManager):负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。4、蓝牙软件协议实现:如上图紫色部分,这个后面我们做详细说明。
低耗电蓝牙相关规范
(二)蓝牙协议组成
2.1 蓝牙协议架构
蓝牙协议体系中的协议按SIG的关注程度分为四层:
1.核心协议:BaseBand、LMP、L2CAP、SDP;
2.电缆替代协议:RFCOMM;
3.电话传送控制协议:TCS-Binary、AT命令集;
4.选用协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。
除上述协议层外,规范还定义了主机控制器接口(HCI),它为基带控制器、连接管理器、硬件状态和控制寄存器提供命令接口。在图1中,HCI位于L2CAP的下层,但HCI也可位于L2CAP上层。
蓝牙核心协议由SIG制定的蓝牙专用协议组成。绝大部分蓝牙设备都需要核心协议(加上无线部分),而其他协议则根据应用的需要而定。总之,电缆替代协议、电话控制协议和被采用的协议在核心协议基础上构成了面向应用的协议。&
蓝牙协议栈允许采用多种方法,包括&RFCOMM&和&Object Exchange&(OBEX&), 在设备之间发送和接收文件。如果想发送和接收流数据(而且想采用传统的串口应用程序,并给它加上蓝牙支持),那么&RFCOMM&更好。反过来,如果想发送对象数据以及关于负载的上下文和元数据,则&OBEX&最好。
蓝牙应用程序活动图,如下:
2.1.1 &串口仿真RFCOMM介绍
找到服务,RFCOMM是通过不同的频道(channel)来提供不同的Profile的,所以需要找到要用的服务在设备上的哪个频道上,这是通过同一个软件包里的sdptool来完成的,就是SDP,服务发现协议&
2.2 蓝牙profile
2.2.1 蓝牙profile概述
 &从3.0版本开始(据说2.1也是支持的?TBD),蓝牙才开始支持BluetoothProfile。BluetoothProfile是蓝牙设备间数据通信的无线接口规范。想要使用蓝牙无线技术,设备必须能够翻译特定蓝牙配置文件,配置文件定义了可能的应用.
& & 蓝牙配置文件表达了一般行为,蓝牙设备可以通过这些行为与其他设备进行通信.
&&& 蓝牙技术定义了广泛的配置文件,描述了许多不同类型的使用安全.按蓝牙规格中提供的指导,开发商可创建应用程序以用来与其他符合蓝牙规格的设备协同工作.在最低限度下,各配置文件规格应包含下列主题的相关信息.&&& ① 与其他配置文件的相关性&&& ② 建议的用户界面格式&&& ③ 配置文件使用的蓝牙协议堆栈的特定部分.
&&& 为执行其任务,每个配置文件都使用堆栈各层上的特定选项和参数.若需要,也可包括必需的服务记录概要。ProfilesAPI层则分别对Audio、Data、Control等提供了不同的模块。目前已规范有四大类、十三种协议规格。
  Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协议。
? 常用的profile介绍请参考&&,几种种最基本的配置文件为:
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 TS 07.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版本规范所有蓝牙设备的最小实现必须支持通用访问配置文件,服务发现应用配置文件和串行端口配置文件.
在两台电脑或者Labtop之间就可以建立这种连接,如下图所示:&
& & SPP是基于RFCOMM的,spp&协议处于rfcomm的上层,spp的应用需走rfcomm层。如果你使用RFCOMM能够实现,那么也就不需要使用SPP,而却速度还会比SPP来做快,因为省略了采用profile的一些数据包头等。不过,还是推荐采用SPP来做,兼容性有保证,这也是为什么蓝牙本质上数据和语音的传送却出现HFP,HSP,SPP,OPP等诸多具体应用profile的原因。
2.2.2 蓝牙profile框架
每个attribute属性被UUID(通用唯一标识符)唯一标识 ,UUID是标准128-bit格式的ID用来唯一标识信息。attributes 被 ATT 格式化characteristics和services形式进行传送。
特征(Characteristics)& 一个characteristics包含一个单独的value值和0 &n个用来描述characteristic 值(value)的descriptors。一个characteristics可以被认为是一种类型的,类似于一个类。
描述符(descriptor)&descriptor是被定义的attributes,用来描述一个characteristic的值。例如,一个descriptor可以指定一个人类可读的描述中,在可接受的范围里characteristic值,或者是测量单位,用来明确characteristic的值。
服务(service)&service是characteristic的集合。例如,你可以有一个所谓的&Heart RateMonitor&service,其中包括characteristic,如&heart rate measurement &。你可以在&找到关于一系列基于GATT的profile和service。
如上图所示:蓝牙设备可以包括多个Profile,一个Profile中有多个Service,一个Service中有多个Characteristic,一个Characteristic中包括一个value和多个Descriptor。
2.3 蓝牙4.0和4.1&
? 蓝牙4.0实际是个三位一体的蓝牙技术,它将传统蓝牙、低功耗蓝牙和高速蓝牙技术融合在一起,这三个规格可以组合或者单独使用。也就是说 BLE是蓝牙4.0增加的,之前没有?(TBD)
蓝牙4.0专门面向对成本和功耗都有较高要求的无线方案,其主打特性就是省电、省电、省电。极低的运行和待机功耗使得一粒纽扣电池甚至可连续工作一年之久。它有低功耗、经典、高速三种协议模式。其中:高速蓝牙主攻数据交换与传输;经典蓝牙则以信息沟通、设备连接为重点;低功耗蓝牙以不需占用太多带宽的设备连接为主。这三种协议规范能够互相组合搭配,从而适应更广泛的应用模式。正因为有了三种可以互相组合搭配的协议,蓝牙4.0因此成为唯一一个综合协议规范。它有着极低的运行和待机功耗。此外,低成本和跨厂商互操作性,3毫秒低延迟、AES-128加密等诸多特色,可以用于计步器、心律监视器、智能仪表、传感器物联网等众多领域,大大扩展蓝牙技术的应用范围。
?&蓝牙4.1主打IOT(Internet Of Things全联网),最新的蓝牙4.1标准是个很有前途的技术,其智能、低功耗、高传输速度、连接简单的特性将适合用在许多新兴设备上。
蓝牙4.1设备可以同时作为发射方和接受方,并且可以连接到多个设备上。举个例子,智能手表可以作为发射方向手机发射身体健康指数,同时作为接受方连接到蓝牙耳机、手环或其他设备上。蓝牙4.1使得批量数据可以以更高的速率传输,当然这并不意味着可以用蓝牙高速传输流媒体视频,这一改进的主要针对的还是刚刚兴起的可穿戴设备。例如已经比较常见的健康手环,其发送出的数据流并不大,通过蓝牙4.1能够更快速地将跑步、游泳、骑车过程中收集到。因为新标准加入了对IPv6专用通道联机的支持,通过IPv6连接到网络,实现与Wi-Fi相同的功能,解决可穿戴设备上网不易的问题。
蓝牙4.0和蓝牙4.1的比较
2.3.1 蓝牙4.0低功耗(BLE)
① 低功耗蓝牙Bluetooth Low Energy(BLE)是蓝牙4.0增加的。(?TBD) ,苹果系列都支持4.0.② Android4.3(API级别18)引入内置平台支持BLE的central角色,同时提供API和app应用程序用来发现设备,查询服务,和读/写characteristics。与传统蓝牙()不同,蓝牙低功耗(BLE)的目的是提供更显著的低功耗。这使得Android应用程序可以和具有低功耗的要求BLE设备,如接近传感器,心脏速率监视器,健身设备等进行通信。③ BLE低功耗蓝牙软件有2个主要组成: OSAL操作系统抽象层和 HAL硬件抽象层,多个Task任务和事件在OSAL管理下工作,而每个任务和事件又包括3个组成:BLE 协议栈,profiles和应用程序。
BLE蓝牙协议栈结构
         附图1 BLE蓝牙协议栈结构图
分为两部分:控制器和主机。对于4.0以前的蓝牙,这两部分是分开的。所有profile(姑且称为剧本吧,用来定义设备或组件的角色)和应用都建构在GAP或GATT之上。下面由结构图的底层组件开始介绍。&
附图 2 BLE低功耗蓝牙系统架构图,图中的Task用附图1BLE蓝牙协议栈结构图来描述
通用属性规范(GATT)&GATTprofile是一个通用规范用于在BLE链路发送和接收被称为&属性(attributes)&的数据片。目前所有的低功耗应用 profile都是基于GATT。
蓝牙SIG定义了许多profile用于低功耗设备。Profile(配置文件)是一个规范,规范了设备如何工作在一个特定的应用场景。注意:一个设备可以实现多个profile。例如,一个设备可以包含一个心脏监测仪和电池电平检测器。
主从机连接建立过程:
2.3.2 蓝牙4.0(BLE)主从通信透传模块
& & 低功耗蓝牙模块主透传协议是针对低功耗蓝牙模块从透传协议设计的,通过本协议模块可替代手机设备与从透传协议模块连接,实现透传功能或直驱控制功能。此协议模块可用作从透传协议模块开发过程中的辅助工具。
& &&BLE主透传协议模块(以下简称MTTM)可以工作在透传模式(TTM)或指令模式(CM)。
& & MTTM上电启动后,处于待机模式(SBM),此时处于空闲状态,无睡眠,需要用户通过AT指令控制模块连接从设备。在成功与从设备建立链接后,MTTM会自动查找从设备的透传通道,如果从设备属于BLE从透传协议模块(以下简称STTM),MTTM默认进入透传模式,否则默认进入指令模式。
 &透传模式下,用户CPU可以通过模块的通用串口与STTM进行双向通讯。从MTTM串口输入的数据将转发到STTM,并从STTM的串口输出;从STTM输入的数据将转发到MTTM,并从MTTM的串口输出,从而实现透明传输功能,用户数据的具体含义由上层应用程序自行定义。&
透传中数据的格式也是profile,或蓝牙标准profile或自定义simple profile。基本结构依然是:
1、profile &
  profile可以理解为一种规范,一个标准的通信协议,它存在于从机中。蓝牙组织规定了一些标准的profile,例如 HID OVER GATT ,防丢器 ,心率计等。每个profile中会包含多个service,每个service代表从机的一种能力。
2、service
  service可以理解为一个服务,在ble从机中,通过有多个服务,例如电量信息服务、系统信息服务等,每个service中又包含多个characteristic特征值。每个具体的characteristic特征值才是ble通信的主题。比如当前的电量是80%,所以会通过电量的characteristic特征值存在从机的profile里,这样主机就可以通过这个characteristic来读取80%这个数据
3、characteristic
  characteristic特征值,ble主从机的通信均是通过characteristic来实现,可以 理解为一个标签,通过这个标签可以获取或者写入想要的内容。
  UUID,统一识别码,我们刚才提到的service和characteristic,都需要一个唯一的uuid来标识
每个从机都会有一个叫做profile的东西存在,不管是上面的自定义的simpleprofile,还是标准的防丢器profile,他们都是由一些列service组成,然后每个service又包含了多个characteristic,主机和从机之间的通信,均是通过characteristic来实现。
实际产品中,每个蓝牙4.0的设备都是通过服务和特征来展示自己的,服务和特征都是用UUID来唯一标识的。一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征。特征是与外界交互的最小单位。蓝牙设备硬件厂商通常都会提供他们的设备里面各个服务(service)和特征(characteristics)的功能,比如哪些是用来交互(读写),哪些可获取模块信息(只读)等。比如说,一台蓝牙4.0设备,用特征A来描述自己的出厂信息,用特征B来与收发数据等。
?4.0中profile的存在是干嘛用的呢,只是一种组织形式存在?&
服务和特征都是用UUID来唯一标识的,UUID的概念如果不清楚请自行google,国际蓝牙组织为一些很典型的设备(比如测量心跳和血压的设备)规定了标准的service UUID(特征的UUID比较多,这里就不列举了)
4.0 BLE数据传输可参考下述系列:
(三)Android Bluetooth 架构
1、面向库的架构视图
2、面向进程的架构视图
iOS 有两个框架支持蓝牙与外设连接。
一个是 ExternalAccessory。从ios3.0就开始支持,也是在iphone4s出来之前用的比较多的一种模式,但是它有个不好的地方,External Accessory需要拿到苹果公司的MFI认证。
另一个框架则是本文要介绍的CoreBluetooth,在蓝牙4.0出来之后(注意,硬件上要4s以上,系统要ios6以上才能支持4.0),苹果开放了BLE通道,专门用于与BLE设备通讯(因为它的API都是基于BLE的)。这个不需要MFI,并且现在很多蓝牙设备都支持4.0,所以也是在IOS比较推荐的一种开发方法。现CoreBluetooth在的开发几乎全部基于该框架,本节只介绍CoreBluetooth。
1,CoreBluetooth介绍
CoreBluetooth框架的核心其实是两个东西,peripheral和central, 可以理解成外设和中心。对应他们分别有一组相关的API和类,如下图所示:
如果你要编程的设备是手机的central,那么你大部分用到peripheral API。反之亦然,设备是peripheral,iphone手机是central,所以将大部分使用central API。使用peripheral编程的例子也有很多,比如像用一个ipad和一个iphone通讯,ipad可以认为是central,iphone端是peripheral,这种情况下在iphone端就要使用上图右边部分的类来开发了。
作为一个中心(central)要实现完整的通讯,一般要经过这样几个步骤:
(1)建立中心角色&
(2)扫描外设(discover)(通过接收从设备广播来扫描、发现设备,获得peripheral ID)&& & &&
  a, 如果数据中已经和某些蓝牙设备绑定,可以使用BluetoothAdapter.getBondedDevices();方法获得已经绑定的蓝牙设备列表。通过指定特定的peripheral的UUID,central只会discover这个特定的设备。
  b, 搜索周围的蓝牙设备受用BluetoothAdapter.startDiscovery()方法
  c, 搜索到的蓝牙设备都是通过广播返回,so..。需要注册广播接收器来获得已经搜索到的蓝牙设备
(3)连接外设(connect)(根据peripheral ID连接指定的外设)&
(4)扫描外设中的服务和特征(discover)(一个设备里的服务和特征往往比较多,一般会在发现服务和特征的回调里通过service、characteristic UUID去匹配我们关心那些)&
(5)与外设做数据交互(explore and interact)&
(6)断开连接(disconnect)。
2,&设备ID描述DID
& & 每个与苹果设备兼容的蓝牙接入都必须:支持蓝牙设备ID描述,1.3版本或者更高;使用蓝牙SIG分配的Assigned Numbers文档中的公司标识作为他的Vendor ID值,也就是VID,如果生产商没有蓝牙SIG公司标识,那么蓝牙HID描述接入可能会使用USB Implementers Forum分配的VID;使用他的VID值来标识最终的产品生产商;使用版本值来唯一标识软件的版本;使用ProductID值唯一标识产品。Device ID描述使得苹果产品能够识别远程的蓝牙接入,该信息可以用来在与远程接入交互的时候连接蓝牙描述间的交替互操作。因此Device ID中的信息记录非常重要。
& & 理想情况下,这两个设备应该有不同的产品ID。但是,当他们拥有完全相同的硬件、软件和特性的时候拥有相同的ProductID也是可以允许的。如果他们有任何的不同,就都应该有不同的Product ID。
3,IOS的蓝牙低功耗
& & 蓝牙4.0标准引入了蓝牙低功耗,一种针对有限电池资源的蓝牙接入的无线技术。如果支持蓝牙低功耗的话,接入点需要支持下面的这些特性。(这里更多的是蓝牙芯片商要做的事情)
蓝牙接入需要实现蓝牙4.0标准中定义的外围角色
蓝牙接入需要在所有三个广告通道中针对每个广告事件进行广告
蓝牙接入需要使用如下广告PDU中的一个:ADV_IND;ADV_NOCONN_IND;ADV_SCAN_IND。其中ADV_DIRECT_IND不推荐使用。
由蓝牙接入发送的广告信息应该至少包含蓝牙4.0标准中包含的如下信息:Flags;TX Power Level;Local Name;Services。如果需要降低电量消耗或者并不是所有的广告数据都适合放入到广告PDU中的时候,接入点可能将Local Name和TX Power Level数据方知道SCAN_RSP PDU中。需要注意的是根据它的状态,苹果产品可能不会总是执行激活扫描。主要的服务应该总是放在广告PDU中进行广告。次要的服务不应该进行广告。对于接入点不重要的服务信息可能会因为广告PDU中的空间不足而被忽略。广告数据和SCAN_RSP PDU中的扫描响应数据应该遵循蓝牙4.0标准中的格式。
蓝牙接入的广告间隔应该慎重考虑,因为他会影响到发现和连接的性能。对于低功耗的接入,电池资源也应该被考虑在内。为了能够被苹果产品发现,蓝牙接入应该首先使用推荐的广告间隔20ms,并持续至少30秒。如果在这30秒内没有被发现,那么接入点可能会选择节省电池电量然后增加广告间隔,苹果推荐使用如下依次延长的事件间隔来发现蓝牙接入点:645 ms;768 ms;961 ms;1065 ms;1294 ms
蓝牙接入负责用来LE连接的连接参数。接入点需要请求合适的连接参数来在合适的时候发送一个L2CAP连接参数跟新请求。如果他没有符合如下规则,那么连接参数请求可能会被拒绝:Interval Max * (Slave Latency + 1) & 2 seconds;Interval Min & 20 ms;Interval Min + 20 ms & Interval Max;Slave Latency & 4;connSupervisionTimeout & 6 seconds以及Interval Max * (Slave Latency + 1) * 3 & connSupervisionTimeout。苹果设备不会读取或者使用Peripheral Preferred Connection Parameters特性中的参数。
蓝牙接入应该在任何情况下都能够满足Resovable Private Address。因为私隐方面的考虑,苹果设备将会使用蓝牙4.0标准中定义的随机设备地址。
蓝牙接入不需要请求特殊的授权,如配对、认证或加密等来发现服务和特性。只有在获取特性值或者描述值的时候可能会需要特殊的授权。9
蓝牙接入不应该请求配对。如果处于安全考虑,接入点需要与Central建立绑定关系,外围可以使用Insufficient Authentication错误码在必要的时候拒绝ATT请求。因此苹果设备可能会需要按照既定的安流程程来执行过程。配对可能会需要基于苹果产品的用户认证。
通用接入描述服务:蓝牙接入应该实现按照蓝牙标准4.0中的Device Name特性
通用属性描述服务:只有当接入有能力在生命周期内更改他的服务的时候,该接入点才需要实现Service Changed特性。苹果产品可以使用Service Changed服务特性来决定它是否可以使用之前读取的或者缓存的来自设备的信息。
设备信息服务:蓝牙接入应该实现设备信息服务。服务的UUID不应该包含在广告数据当中。如下的特性需要被支持:Manufacturer Name String;Model Number String;Firmware Revision String;Software Revision String
4,IOS APP开发 的蓝牙操纵API
& & 手机APP要想获得蓝牙设备的一些额外的信息如电量或者操作蓝牙设备,必须通过IOS API。那么IOS底层必然有某种方式来与蓝牙设备交互。 那么电量通过什么来读写呢?自定义 service characteristic?
任何免提的蓝牙耳机都可以在iOS设备的状态栏中显示一个用来标识他电池电量的图标。这个特性被所有的iOS设备所支持,包括iPhone、iPod和iPad。耳机的蓝牙知识通过两个iOS蓝牙HFP AT命令:HFP Command AT+XAPL
HFP命令AT+XAPL
描述:允许通过耳机自定义AT命令
发起者:耳机
格式:AT+XAPL=[vendorID]-[productID]-[version],[features]
vendorID: 标识生产商的vendor ID的十六进制表示,但是没有0x前缀
productID: 标识生产生的product ID的十六进制表示,但是没有0x前缀
version: 软件的版本
features: 用10进制标识的位标识:
1 = 耳机支持电池电量报告
2 = 耳机暂停或者正在充电
其他值保留
例子: AT+XAPL=ABCD-
响应: +XAPL=iPhone,[features]
HFP命令AT+IPHONEACCEV
描述:报告耳机的状态变更
发起者:耳机
格式:AT+IPHONEACCEV=[Number of key/value pairs ],[key1 ],[val1 ],[key2 ],[val2 ],...
Number of key/value pairs : 接下来参数的数量
key: 被报告状态变化的类型
1 = 电量等级
2 = 暂停状态
val: 更改的值
Battery events:0-9之间数字的字符串 A string value between '0' and '9'.
Dock state: 0 = undocked, 1 = docked.
Example: AT+IPHONEACCEV=1,1,3
(五)硬件接口
&一般蓝牙芯片通过UART、USB、SDIO、I2S、PcCard和主控芯片通信。如下图所示,通过UART和主控芯片通信。
最后叮嘱:大家有好的的蓝牙通信的资料链接在下面留言分享下~多谢?(^&^*)&
阅读(...) 评论()

我要回帖

更多关于 手机蓝牙连接器 的文章

 

随机推荐