天天看点

Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表

第一篇算是个热身,这一片开始来写些硬菜了,这篇就是实际和蓝牙打交道了,所以要用到真机调试哟,这篇我会把基本上要讲的概念都通俗易懂的来一遍,这样我们脑子里先有个逻辑,我们就好操作了,先看一下我们的剖析图
Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表
蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙王,blatand 在英文里的意思就是哈拉尔蓝牙王 可以被解释为 bluetooth( 蓝牙 )因为国王喜欢吃蓝莓,牙龈每天都是蓝色的所以叫蓝牙。 在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。行业组织人员, 在经过一夜关于欧洲历史和未来无线技术发展的讨论后,有些人认为用 blatand 国王的名字 命名再合适不过了。blatand 国王将挪威,瑞典和丹麦统一起来;他的口齿伶俐,善于交际,就如同这项即将面世的技术,技术将被定义为允许不同工业领域之间的协调工作,保持着各个系统领域之间的良好交流,例如计算机,手机和汽车行业之间的工作。名字于是就这么定 下来了。 蓝牙的创始人是爱立信公司,爱立信早在 1994 年就已进行研发。1997 年,爱立信与 其他设备生产商联系,并激发了他们对该项技术的浓厚兴趣。 1998 年 2 月,跨国大公司, 包括诺基亚、苹果、三星组成的一个特殊兴趣小组(sig),他们共同的目标是建立一 个全球性的小范围无线通信技术,即蓝牙。 而蓝牙这个标志的设计:它取自 harald bluetooth 名字中的「h」和「b」两个字母, 用古北欧字母来表示,将这两者结合起来,就成为了蓝牙的 logo
蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色, 才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。 理论上,一个蓝牙主端设备,可同时与 7 个蓝牙从端设备进行通讯。一个具备蓝牙通讯功 能的设备, 可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时, 转换为主模式,向其它设备发起呼叫。一个蓝牙设备以主模式发起呼叫时,需要知道对方的 蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。
蓝牙主端设备发起呼叫,首先是查找,找出周围处于可被查找的蓝牙设备。主端设备 找到从端蓝牙设备后,与从端蓝牙设备进行配对,此时需要输入从端设备的 pin 码,也有 设备不需要输入 pin 码。配对完成后,从端蓝牙设备会记录主端设备的信任信息,此时主 端即可向从端设备发起呼叫,已配对的设备在下次呼叫时,不再需要重新配对。已配对的设备,做为从端的蓝牙耳机也可以发起建链请求,但做数据通讯的蓝牙模块一般不发起呼叫。链路建立成功后,主从两端之间即可进行双向的数据或语音通讯。在通信状态下,主端和从 端设备都可以发起断链,断开蓝牙链路。
蓝牙数据传输应用中,一对一串口数据通讯是最常见的应用之一,蓝牙设备在出厂前 即提前设好两个蓝牙设备之间的配对信息,主端预存有从端设备的 pin 码、地址等,两端 设备加电即自动建链,透明串口传输,无需外围电路干预。一对一应用中从端设备可以设为两种类型,一是静默状态,即只能与指定的主端通信,不被别的蓝牙设备查找;二是开发状 态,既可被指定主端查找,也可以被别的蓝牙设备查找建链。

<a href="http://blog.csdn.net/qq_26787115/article/details/50551197">android ble与终端通信(一)——android bluetooth基础api以及简单使用获取本地蓝牙名称地址</a>

下面依然会被提及
1.1 认识一下 uuid uuid 含义是通用唯一识别码 (universally unique identifier),这 是一个软件建构的标 准,也是被开源软件基金会 (open software foundation, osf) 的组织应用在分布式计算 环境 (distributed computing environment, dce) 领域的一部分。 在蓝牙 3.0 及一下版本中,uuid 被用于唯一标识一个服务,比如文件传输服务,串口 服务、打印机服务等,如下: 蓝牙串口服务 serialportserviceclass_uuid = ‘{00001101-0000-1000-8000-00805f9b34fb}’ lanaccessusingpppserviceclass_uuid = ‘{00001102-0000-1000-8000-00805f9b34fb}’ 拨号网络服务 dialupnetworkingserviceclass_uuid = ‘{00001103-0000-1000-8000-00805f9b34fb}’ 信息同步服务 irmcsyncserviceclass_uuid = ‘{00001104-0000-1000-8000-00805f9b34fb}’ sdp_obexobjectpushserviceclass_uuid = ‘{00001105-0000-1000-8000-00805f9b34fb} ’ 文件传输服务 obexfiletransferserviceclass_uuid = ‘{00001106-0000-1000-8000-00805f9b34fb}’ irmcsynccommandserviceclass_uuid = ‘{00001107-0000-1000-8000-00805f9b34fb}’ 蓝牙的连接有主从设备,提供服务的可以认为是从设备。主设备通过 uuid 访问从设备 提供具有相同 uuid 的服务,从而建立客服端—服务器(c/s)模式。
Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表
Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表

1.注册广播

1.广播接收器

Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表

继续阅读