一.需求背景:
是否通过蓝牙判断链接另一个蓝牙设备的位置,方向。
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)]
网友评论