android Ble开发的那些事(一)

我也是今年刚毕业加入了一家创业公司,正好所做的项目主要就是围绕ble进行的。下面跟大家分享下我对ble的拙见,如有不正确的地方,欢迎指出交流学习。

蓝牙的历史?

1999年5月20日,索尼爱立信、IBM、英特尔、诺基亚及东芝等业界龙头创立蓝牙特别兴趣组(SIG,Special Interest Group),制订蓝牙技术标准。“蓝牙”(Bluetooth)这名称来自10世纪的丹麦国王哈拉尔德(Harald Gormsson)的外号。出身海盗家庭的哈拉尔德统一了北欧四分五裂的国家,成为维京王国的国王。由于他喜欢吃蓝莓,牙齿常常被染成蓝色,而获得“蓝 牙”的绰号,当时蓝莓因为颜色怪异的缘故被认为是不适合食用的东西,因此这位爱尝新的国王也成为创新与勇于尝试的象征。1998年,爱立信公司希望无线通信技术能统一标准而取名“蓝芽”。蓝牙,或称为蓝芽,是一种无线个人局域网(Wireless PAN),最初由爱立信创制,后来由蓝牙技术联盟订定技术标准。据说因为此技术尚在萌芽的阶段,故将Bluetooth以“蓝芽”的中文译名在台湾进行商 业的注册,不过在2006年,该组织已将全球中文统一为“蓝牙”。

什么是Ble?

BLE 是Bluetooth Low Energy的缩写,又叫蓝牙4.0,区别于蓝牙3.0和之前的技术。BLE前身是NOKIA开发的Wibree技术,主要用于实现移动智能终端与周边配件之间的持续连接,是功耗极低的短距离无线通信技术,并且有效传输距离被提升到了100米以上,同时只需要一颗纽扣电池就可以工作数年之久。BLE是在蓝牙技术的基础上发展起来的,既同于蓝牙,又区别于传统蓝牙。BLE设备分单模和双模两种,双模简称BR,商标为Bluetooth Smart Ready,单模简称BLE或者LE,商标为Bluetooth Smart。Android是在4.3后才支持BLE,这可以解释不是所有蓝牙手机都支持BLE,而且支持BLE的蓝牙手机一般是双模的。

Ble的工作原理?

大概知道ble是什么东西后,我们就来了解下他的工作原理。想要了解原理,先搞清楚蓝牙通信之间的关系——主从关系

蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。这可以解释为什么有时无法连接蓝牙,有可能是连接的蓝牙设备过多。

蓝牙内部详细的工作原理呢,由于个人能力有限就不详细讲述了,本系列文章主要是介绍下ble在android中的开发。

Ble在android交互中的角色与职责:

Android设备与BLE设备交互有两组角色:就是中心设备与周边设备了。如图所示:

Android设备与BLE设备交互有两组角色

一般手机都是做为中央的,那么该怎么用手机获取周边设备的相关数据呢?

Ble开发的大概原理流程:

android中ble连接的流程

在android中,对ble设备的操作实际上是对BluetoothGatt的操作,所以我们首先要想办法获取到BluetoothGatt。如图展示,对蓝牙设备的连接过程也就是获取BluetoothGatt的获取过程,大概有以下几步,下面详细讲解下:

1.添加权限(你也知道啦,想要连接ble设备,肯定得获取手机相关的权限使用权啦)

2.扫描Ble设备:

想要扫描设备,首先我们先要拿到BluetoothManager,通过BluetoothManager的getAdapter()方法再拿到BluetoothAdapter,然后再通过BluetoothAdapter的startSacn( LeScanCallback)的方法开始扫描设备。值得注意的是,我们还需要实现LeScanCallback的回调方法。

在其回调方法中会有这么一个函数,onLeScan(BluetoothDevice, rssi, byte[])。当中的bluetoothDevice就是我们扫描的设备;rssi是int类型,代表设备的信号强度,是负的,数值越大代表信号强度越大;byte[]这个byte数组就是设备广播的相关数据(在我们项目中,我们是依靠这个广播来判断我们设备时候在充电状态的,各个设备应该都有自己的商定)。

3.建立连接:

当扫描到我们所需的设备,就可以开始建立连接了。主要是使用上面所扫描到设备的BluetoothDevice.connectGatt(context, boolean, BluetoothGattCallback)的方法进行连接,这个函数将返回BluetoothGatt的实例,到此,我们就拿到了BluetoothGatt了,就可以进行相关读写数据操作了。

连接就讲完啦~~~下次贴上我的代码的,第一篇,写的不好还请见谅,嘿嘿~~后续讲讲读写蓝牙数据,还有蓝牙空中升级(这个折磨挺久的~)

[android Ble开发的那些事(一)](http://www.jianshu.com/p/2268cfedc051)

[android Ble开发的那些事(二)](http://www.jianshu.com/p/13e55d2517b5)

[android Ble开发的那些事(三)--Ble数据分包处理](http://www.jianshu.com/p/31cbfdda362c)

[android Ble开发的那些事(四)—— OTA升级](http://www.jianshu.com/p/4017e7389804)

原创作品,如需转载,请与作者联系,否则将追究法律责任。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,392评论 25 707
  • 前言: 本文主要描述Android BLE的一些基础知识及相关操作流程,不牵扯具体的业务实现,其中提供了针对广播包...
    幻影宇寰阅读 5,310评论 6 19
  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 7,880评论 0 6
  • 初识低功耗蓝牙 Android 4.3(API Level 18)开始引入Bluetooth Low Energy...
    JBD阅读 112,448评论 46 342
  • 『时节雨』 我从云层上跳下来 感受着你的气息 乘着风追逐你的身影 想落在你的唇角 肆意亲吻你的柔软 想落在你的锁骨...
    叹叹叹息阅读 102评论 0 0