android BLE搜索beacon

转载 2015年07月08日 14:13:12

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

上次讲了Android手机与BLE终端之间的通信,而最常见的BLE终端应该是苹果公司倡导的iBeacon基站。iBeacon技术基于BLE,它的特点是通过广播对外发送消息,手机不需要连上iBeacon基站也能获取它的信息,目前主要用来做室内定位和营销信息推送,在BLE发出的广播里带上带上特定的信息从而被识别为iBeacon。在iOS里面使用iBeacon要经过passbook注册iBeacon的UUID和对应的文字简介,而在Android上则无类似passbook这种系统级的后台蓝牙搜索服务,这类服务需要开发者自己搞定。这次就讲讲Android手机搜索基站和显示iBeacon基站参数。


搜索iBeacon基站的不难,核心在于BluetoothAdapter.LeScanCallback()的onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord),而识别iBeacon的信息就在于scanRecord数组。按照https://github.com/RadiusNetworks/android-ibeacon-service/blob/master/src/main/java/com/radiusnetworks/ibeacon/IBeacon.java,识别是否iBeacon靠下面的红字:


// AirLocate:

// 02 01 1a 1a ff 4c 00 02 15  # Apple's fixed iBeacon advertising prefix
// e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon profile uuid
// 00 00 # major 
// 00 00 # minor 
// c5 # The 2's complement of the calibrated Tx Power


同时要注意iBeacon的UUID和BLE的Service、Characteristic、Descriptor的UUID是没关系,iBeacon的UUID是广播的时候发出,是由Apple自己定义的标准,而Service、Characteristic、Descriptor必须是连上BLE终端后才得到,是BLE标准。


本文代码运行结果如下,不断变化rssi可以用来做距离判断,不过这个模块的txPower不太准,所以测距就没意义:


本文代码可以到这里下载:http://download.csdn.net/detail/hellogv/7269127,代码就不贴出来了,核心代码改自https://github.com/RadiusNetworks/android-ibeacon-service。

Android BLE开发之Android手机搜索iBeacon基站

上次讲了Android手机与BLE终端之间的通信,而最常见的BLE终端应该是苹果公司倡导的iBeacon基站。iBeacon技术基于BLE,它的特点是通过广播对外发送消息,手机不需要连上iBeacon...
  • hellogv
  • hellogv
  • 2014年04月29日 10:59
  • 43297

Android搜索附近的beacon

定义一个service用来搜索beacon import android.app.Service; import android.bluetooth.BluetoothAdapter; import...

Beacon of BLE

Beacon技术一直是一个有趣的BLE应用技术。比较出名的应用,如IOS的ibeacon,高通的Gimbal。 它能实现室内定位,让你的SP能够知道是否处于一个Beacon的范围内。当然,使用这种技术...

android-beacon-library-master

  • 2015年11月13日 11:37
  • 195KB
  • 下载

【Android开发】关于android-beacon-library

Android开发Beacon应用

android系统中wifi省电模式下的四个基本概念:TIM、DTIM、Beacon-Interval、Listen-Interval

1、TIM(traffic indication message)     每一个Beacon的帧中都有一个TIM信息 ,它主要用来由AP通告它管辖下的哪个STA有信息现在缓存在AP 中,而在T...

关于Beacon以及Android上的使用

关于Beacon以及Android上的使用名词解析Bluetooth Smart =Bluletooth Low Energy=BLE,Bluetooth Smart是比较新的蓝牙官方的叫法 App...
  • pw4work
  • pw4work
  • 2017年05月27日 23:17
  • 133

手机蓝牙搜索Beacon设备

1、初始化蓝牙管理类 BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BL...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android BLE搜索beacon
举报原因:
原因补充:

(最多只允许输入30个字)