[安卓] 13、安卓蓝牙定位(一)——如何周期性获得蓝牙节点信号强度?

简介:


 

 

前言

本文将用一个简单的例子介绍如何用安卓手机的蓝牙功能来周期性搜索周边蓝牙节点的信号强度,为有意玩一下蓝牙室内定位的爱好者提供一点小的思路。(如果是想用安卓手机和蓝牙模块通信来实现遥控功能的话,可以参考:http://www.cnblogs.com/zjutlitao/p/4231635.html;想用笔记本和蓝牙模块通信来实现遥控功能的话可以参考:http://www.cnblogs.com/zjutlitao/p/3886826.html;如果是想使用笔记本的蓝牙来做蓝牙定位的话,哈哈,建议放弃...

效果

定期扫描周边蓝牙设备-->根据信号强度绘制大小不同的圆圈(对于开发人员来说,引入如何搜索到BT信号强度LZ觉得应该很足够啦,然后就可以自由发挥啦)

简介

代码参考:https://github.com/beautifulzzzz/Android/commit/e1d12e756d8e7c9efd9c89fb084c3f100b451427

成员变量】SurfaceView空间用来绘制动画效果,BluetoothAdapter用来获取蓝牙设备,接下来依次是蓝牙设备信息向量、蓝牙设备信号强弱向量、画笔向量~

初始化】在onCreate函数中执行初始化相关操作主要有:①画笔初始化;②surfaceview初始化并设置回调函数(因为线程里无法进行界面更新,所以要把消息从线程里发送出来在消息句柄里进行处理,所以我们在37~65行会看到一个消息句柄,用来接收消息并根据消息内容重绘surfaceview)

启动搜索】该函数供每次触发搜索使用,其中第一次触发位于182行的menuOptions按钮事件中,然后每次在绘制结束后再次调用doDiscovery进行周期性搜索。

搜索信息并存储】当启动搜索之后,如果一旦搜索到设备就会触发BleetoothDevice.ACTION_FOUND消息,然后将蓝牙设备的名字和MAC地址放进向量保存,信号强度rssi放进RSSI向量保存;当搜索结束后会触发BluetoothAdapter.ACTION_DISCOVERY_FINISHED,在这里表明一个搜索周期结束,通过Bundle发送msg,通知绘图消息句柄,进行绘图。

绘图消息句柄处理bundle消息并刷新】当上面完成一个搜索周期后会发送bundle消息来触发绘图(如下45~48行),绘图完毕调用doDiscovery再次搜索,如此循环往复。

后记

当大家知道了如何周期性获得周围蓝牙信号强度后,再结合市场上销售的蓝牙节点根据定位技术就能设计出特定应用场景的室内定位了~希望该文对大家有帮助!!!⌒(*^-゜)v

 

 

相关链接

本文链接:http://www.cnblogs.com/zjutlitao/p/4314096.html

更多精彩:http://www.cnblogs.com/zjutlitao/p/

工程代码:http://pan.baidu.com/s/1mgzcW4o

 




本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/4314096.html,如需转载请自行联系原作者

相关文章
|
4月前
|
XML 物联网 API
Android Ble蓝牙App(五)数据操作
Android Ble蓝牙App(五)数据操作
|
4月前
|
Android开发
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
86 0
|
8月前
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
225 0
|
4月前
|
JSON Java 定位技术
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
213 0
|
3月前
|
安全 算法 JavaScript
安卓逆向 -- 关键代码定位与分析技术
安卓逆向 -- 关键代码定位与分析技术
39 0
|
4月前
|
物联网 Android开发
Android Ble蓝牙App(七)扫描过滤
Android Ble蓝牙App(七)扫描过滤
|
4月前
|
物联网 Android开发
Android Ble蓝牙App(六)请求MTU与显示设备信息
Android Ble蓝牙App(六)请求MTU与显示设备信息
|
4月前
|
物联网 Android开发
Android Ble蓝牙App(四)UI优化和描述符
Android Ble蓝牙App(四)UI优化和描述符
|
4月前
|
传感器 监控 物联网
Android Ble蓝牙App(三)特性和属性
Android Ble蓝牙App(三)特性和属性
|
4月前
|
XML 物联网 API
Android Ble蓝牙App(二)连接与发现服务
Android Ble蓝牙App(二)连接与发现服务