蓝牙通信-判断设备距离方向位置

一.需求背景:

是否通过蓝牙判断链接另一个蓝牙设备的位置,方向。

4个问题

a:苹果的手机和手机之间 是否可以不经允许配对就可以建立连接并发送数据? 不可以

但是可以跳过苹果,直接用蓝牙协议建立握手。自动配对链接。(参照外设设备)

airprot 是建立在蓝牙握手,唤醒 Wi-Fi 使用 Wi-Fi direct 传输。

b:方向和距离应该可以实现。但是需要设备互联分享信息。否则只能大致确认相聚多少M,不能确认方向。

demo今天RSSI距离问题,距离越小,离得越近。但是误差相对在10米以内,所有近距离不太准。因为方圆3米信号强度其实差不多。

c:是不是最少4台苹果手机才可以实现数据共享相对定位? 一台不连接后台的情况可以知道自己周围几米有设备。 但是不知道方向。 4台以上连接后台有wifi或实时共享数据可以。

需要因子 a 于蓝牙设备一米时候的信号强度。 b 环境衰弱因子。

d:手机iOS和安卓是否互通。目前发现了蓝牙设备,苹果电脑,iWatch可以进行相关匹配。 安卓没发现,有待研究解决。需要调试。最好有安卓人员配合一起去联调。

1.1关于问题a持续调研:

什么是AWDL?
AWDL(Apple无线直连)是一款低延迟/高速无线点对点对等连接使用苹果到处你所期望的:空投,的GameKit(也使用蓝牙),AirPlay的,也许在别处。它的工作原理利用其自己的专用网络接口,通常为awdl0

虽然一些服务,如即时热点,蓝牙网络共享(当然),和的GameKit宣传他们通过蓝牙SDP服务,苹果公司决定做广告通过WiFi空投和意外破坏数以百万计的优胜美地和iOS 8的用户的WiFi性能。

如何AWDL工作的?
自从iPhone 4,iOS的内核有多个无线接口,1博通的WiFi硬件芯片。

EN0 - 初级WiFi接口
AP1 - 接入点使用的接口支持WiFi圈养
awdl0 - 苹果无线直接链接接口(?因为iOS的7)

通过具有多个接口,苹果能够对您为en0标准WiFi连接,同时还播放,浏览和解决点对点的awdl0(只是没有好)。

1.2 a问题解决方案:

通过硬件外设和iPhone蓝牙交互思想,把一个iPhone

设备当作外设,一个iPhone当作中心者。

外设设备发出连接请求,并且设置权限,连接不加密,当中心者接收到这个请求的时候,

可以通过特征值捕获设备。直接建立连接。进而双方完成蓝牙握手过程。

中心设备:就是用来扫描周围蓝牙硬件的设备,比如通过你手机的蓝牙来扫描并连接智能手环,这时候你的手机就是中心设备。

外设:被扫描的设备。比如当你用手机的蓝牙扫描连接智能手环的时候,智能手环就是外设。

服务(services):外设广播和运行的时候会有服务,可以理解成一个功能模块,中心设备可以读取服务。外设可以有多个服务。

特征(characteristic):在服务中的一个单位,一个服务可以有多个特征,特征会有一个value,一般读写的数据就是这个value。

CoreBluetooth可以分为两大模块,中心设备central,外设peripheral,它们俩各有自己的一套API供我们使用。

  • CBPeripheral :蓝牙外设,例如蓝牙手环、心率监测仪。
  • CBService :蓝牙外设的服务,可以有0个或者多个服务。
  • CBCharacteristic :服务中的特征,每一个蓝牙服务中可以有0个或多个特征,特征中包含数据信息。
  • CBUUID:可以理解为服务或特征的身份证,可以用来选择需要的服务和特征。

右边是外设开发相关类,一般是围绕着CBPeripheralManager来进行编码。

  • CBCentral:蓝牙中心设备,例如用来连接蓝牙手环的手机。
  • CBMutableService:外设开发的时候可以添加多个服务,所有这里用CBMutableService来创建添加服务。
  • CBMutableCharacteristic:每个服务中可以有多个特征,外设开发给服务添加特征的时候使用这个类。
  • CBATTRequest:读或者写请求。它的实例对象有一个value属性,用来装载外设进行蓝牙读取或写入请求时的数据。一般在外设写入或读取的回调方法中有这一个参数。

2.所了解蓝牙技术:

[图片上传失败...(image-39166-1591781713943)]

Bluetooth最大的优点就是不依赖于外部网络,便携,低功耗。只要有手机和smart devices,就能保持稳定的连接,走到哪连到哪。所以大部分运动的智能设备和户外使用的设备都会优先考虑Bluetooth。它的主要不足是1:不能直接连接云端 2:传输速度比较慢 3:组网能力比较弱

举例:智能手环,共享单车的智能蓝牙锁,IBeacon定位

展望未来 Bluetooth5和NB-IoT都是需要密切关注的无线通讯技术,Bluetooth50相比蓝牙4.2,在组网和传输距离上有了很大提升,连接范围扩大了4呗,速度提高了2倍,无连接数据广播能力提高了8倍。和Ti,nordic工程师有聊到过,设备厂商的蓝牙5芯片都已经开发完成,等待生产。蓝牙5.0的mesh规格书下半年公版,如果mesh能力出众很可能会对ZigBee有很大的冲击。而NB-IoT目前的提出就是针对IoT的使用场景,其中最大的特色是覆盖面广,价格便宜。NB-IoT现在联盟的力量很强大,大部分芯片商,通讯商,电信运营商都参与其中,都在积极的推进NB-IoT的公共网络建设,预计就在这一年两内NB-IoT的网络会覆盖国内很多地区,未来潜力非常值得关注。

2.调研结果

可以。但是没有直接获取的api,即使有,苹果也不会让开发者轻易的获取用户隐私。

但是可以通过一些蓝牙特性,算法。获得另一个蓝牙设备的位置信息,方向等。

并且,通过一台设备链接另外一台设备是不可行的。需要多台蓝牙设备。

进而推断出另一台蓝牙设备的位置。并存在一定的误差。

3.技术实现方案:

基于蓝牙信号RSSI的室内定位方法与流程:

[图片上传失败...(image-69ad66-1591781713943)]

[图片上传失败...(image-59eb7b-1591781713943)]

[图片上传失败...(image-37e2ac-1591781713943)]

[图片上传失败...(image-979f3f-1591781713943)]

你可能感兴趣的:(蓝牙通信-判断设备距离方向位置)