android蓝牙4.0(BLE)开发之ibeacon初步
2016-06-05 12:14
344 查看
一个april beacon里携带的信息如下
?
具体是什么意思呢
?
Proximity UUID :这是将你所有的beacon与其他人的beacon设备区别开的id!例如,目前在商店里某个区域分布着多个beacon形成一条“链带”,用于为顾客提供特定的服务,那么归属于同一条“链带”的beacon将分配到相同的proximity UUID。为这条“链带”设计的专用应用程序将会在后台使用这个UUID扫描到这条“链带”中的beacon设备。
major 编号:用于将相关的beacon标识为一组。例如,一个商店中的所有beacon将会分配到相同的major编号。通过这种方式,应用程序就能够知道顾客位于哪一家商店。
minor 标号:用于标识特定的beacon设备。例如一个商店中的每一个beacon设备都拥有唯一的minor编号,这样你才能够知道顾客位于商店中的哪个位置。
Measuring distance(测量距离)
最后一个值, TX power ,用于确定你和beacon之间距离有多近。根据这个值不但可以获得粗略的信息(比如靠近/远离/不在范围内等),也可以获取精确到米的距离(当然你也可以转换为以步为单位的距离)。那么如何实现?
TX power (上面例子中为0xC6=198,根据2的补码测得256-198=-58dBm)是距离设备1米测得的信号强度值(RSSI- Received Signal Strength Indication,接收到的信号强弱指标)。假如接收到的信号强度减弱了,那么我们可能在远离。只要知道1米距离的RSSI,以及当前的RSSI(我们可以从接收到的信号中一块获取到这些信息),那么计算出当前的距离是可能的。IOS已经实现了个这个功能,对于其它平台需要自己手动编码计算 。
一个简单的测距函数
?
在使用蓝牙时需要加权限
?
关键代码如下
?
至此,本文也就结束,所谓初步,就是获取ibeacon模块的基本信息。
源码下载 http://download.csdn.net/detail/sbsujjbcy/8503507
?
?
major 编号:用于将相关的beacon标识为一组。例如,一个商店中的所有beacon将会分配到相同的major编号。通过这种方式,应用程序就能够知道顾客位于哪一家商店。
minor 标号:用于标识特定的beacon设备。例如一个商店中的每一个beacon设备都拥有唯一的minor编号,这样你才能够知道顾客位于商店中的哪个位置。
Measuring distance(测量距离)
最后一个值, TX power ,用于确定你和beacon之间距离有多近。根据这个值不但可以获得粗略的信息(比如靠近/远离/不在范围内等),也可以获取精确到米的距离(当然你也可以转换为以步为单位的距离)。那么如何实现?
TX power (上面例子中为0xC6=198,根据2的补码测得256-198=-58dBm)是距离设备1米测得的信号强度值(RSSI- Received Signal Strength Indication,接收到的信号强弱指标)。假如接收到的信号强度减弱了,那么我们可能在远离。只要知道1米距离的RSSI,以及当前的RSSI(我们可以从接收到的信号中一块获取到这些信息),那么计算出当前的距离是可能的。IOS已经实现了个这个功能,对于其它平台需要自己手动编码计算 。
一个简单的测距函数
?
?
?
源码下载 http://download.csdn.net/detail/sbsujjbcy/8503507
相关文章推荐
- android4.4的短信发送流程
- 实习第十六天:android:oneshot
- Android_Activity(三)
- Picasso入门教程(九)回调,remoteViews,通知
- android源码解析之(十四)-->Activity启动流程
- <Android 基础(五)> MVVM
- <Android 基础(五)> MVVM
- Android键盘
- 学习Android开发-乐学成语之TabHost控件
- Android 部分文字颜色大小点击事件的处理
- 设置TaxtView的监听
- 【转】Android中的颜色设置
- 事件分发拦截机制
- Android 使用xml序列化器生成xml文件
- Android学习记录(一) 重拾Activity
- Intent
- ionic 中默认安装后导航在底部解决方案 $ionicConfigProvider, ios and android
- Android ActivityManagerService 基本构架详解
- Android的消息机制
- 使用 Android Studio自定义View01——注意是否重写onMeasure的区别,实现真正的自适应布局