创建项目,设置plist 实现delegate方法,判断蓝牙状态,如成功则扫描指定UUID设备(如不指定UUID,则无法后台持续连接) 实现delegate方法,当发现指定设备后,连接该设备 实现delegate方法,当连接指定外围设备成功,编写定时器,每秒读取1次RSSI 实现delegate方法,当监听到失去和外围设备连接,重新建立连接 实现delegate方法,当读取到RSSI值,打印出它的值
代码:
final Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mBluetoothLeServicereadRemoteRssi();
mHandlerpostDelayed(this, 1000);
}
};
和添加 mHandlerpostDelayed(runnable, 1000); 在onCreate
蓝牙网关是一个集成蓝牙和Wi-Fi的网关设备,该设备主要用于iBeacon设备的远程云管理,简单来说就是一个用于iBeacon设备的扫描管理设备。
由于蓝牙网关是集成了蓝牙与Wi-Fi的网关设备,即蓝牙模块扫描设备并获取数据,Wi-Fi模块获取扫描数据再通过网将数据上传到服务器端,详细的说就是蓝牙模块扫描其信号覆盖范围内的iBeacon设备并且获取到被扫描的设备的数据,再通过蓝牙与Wi-Fi的串口将扫描到的设备通过网络把数据提交到服务器端,服务器端显示并管理这些扫描到的设备。
蓝牙网关最常用的功能就是进行反向定位,反向定位是利用蓝牙网关将扫描到的蓝牙数据通过网络上传到云端服务器上,并且利用了蓝牙扫描到的Beacon设备数据中的RSSI,然后在后台通过这个RSSI值能够确定iBeacon设备与蓝牙网关的距离或者范围,实现位置追踪的目的,并在后台地图实时展示Beacon设备位置。
同时,还可以将蓝牙网关的扫描范围标记为安全区域,一旦iBeacon设备离开安全范围,便能触发后台的安全报警。这就是实现安全看护和人员物资管理的关键。
蓝牙定位基于RSSI(Received Signal Strength Indication,信号场强指示)定位原理。搭建方式很简单,借助蓝牙网关或者是蓝牙Beacon就可以实现。
蓝牙室内定位方案的实现必然是建立在蓝牙室内定位产品的基础上,主要定位硬件包括蓝牙网关、蓝牙Beacon、手环、手表等蓝牙标签以及智能手机、无线局域网及后端数据服务器等。根据定位端的不同,蓝牙定位方式分为网络侧定位和终端侧定位。
终端侧定位以蓝牙Beacon(VG01/VG02)主导,主要依托于蓝牙技术;网络侧定位以蓝牙网关(TD05/TD05A)为主导,集成了WiFi和蓝牙BLE两种无线通信方式;
蓝牙室内定位方案工作原理:
终端侧定位是蓝牙Beacon室内定位设备作为蓝牙信标不断的向周围广播信号和数据包。当终端设备进入Beacon设备信号覆盖的范围,测出其在不同信标(不同ID号的Beacon硬件设备)下的RSSI值,然后再通过手机内置的定位算法测算出具体位置(一般至少需要3个信标点的RSSI);
网络侧定位是蓝牙网关(TD03/TD05)里面的蓝牙模块收集蓝牙终端的蓝牙设备信息,包括Mac地址、RSSI等信息,通过UART串口发给蓝牙网关里面的WiFi模块,WiFi模块把信息传输到指定的UDP服务器,并能接收服务器返回的信息。UDP服务器接收到来自某个IP的蓝牙网关数据后,通过数据解析和计算,得到蓝牙信标的位置信息。希望能够帮助到您!
win10蓝牙开启选项还有的,解决方法如下:
1、直接搜索打开”设备管理器”。
2、找到一个前方有**感叹号的USB选项,重启即可。
3、关闭窗口,打开蓝牙页面,问题已经解决。
因为问题已经解决,所以那个感叹号已经消失不见了,下图只是举个例子,鼠标右击也可以,点击上方菜单栏的“禁用设备”“启用设备”图标也可以。
蓝牙使用注意:
定位服务器根据AP位置、障碍物位置等信息计算传播模型,在获取AC上报的各AP接收的RSSI信息后,计算终端、非法AP或WIFI干扰源的位置。同时,定位服务器作为显示终端,绘制地图并在地图上显示待定位设备的位置。
蓝牙终端定位功能需要蓝牙设备支持BLE 40及以上版本,且能够通过AP向定位服务器上报接收到的RSSI信息。
以上就是关于怎样获取蓝牙连接设备的mac地址全部的内容,包括:怎样获取蓝牙连接设备的mac地址、如何在 Android 4.3 实时获得 RSSI 的蓝牙设备、蓝牙网关是什么东西有什么用呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)