服务器之家

服务器之家 > 正文

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

时间:2021-03-07 15:57     来源/作者:Android开发网

前面文章讲述了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不太准,所以测距就没意义:

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

本文代码点此本站下载,代码就不贴出来了,核心代码点此本站下载

感兴趣的朋友可以下载本站代码测试一下运行效果,希望对大家学习android程序设计有一定的帮助。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部