蓝牙之二十三-beacon

2017.07.20

蓝牙mesh已出,基于蓝牙mesh的IoT最有可能称为下一代物联网的主流IoT系统。

本文基于Bluetooth SIG group资料。

Beacon 2014年推出,ABI预测到2019年预计有2019将有6千万台设备。

beacon用于个人定位,这些场景如百货商场,机场,办公室,博物馆等。这些场景中,beacon安装在固定的位置,手机上的API知道beacon的位置。

BLE协议栈包括一个称为GAP(Generic Access Profile),GAP的负责设备发现和连接。发现过程包括advertising和scanning。Advertising设备以等间隔广播小数据包,这些数据包包含了设备类型,这种类型有利于对设备进行区别选择。

Beacon设备广播,其它设备并不向他们连接。Beacon被称为“GAP广播”。

Beacon帧格式

广播包可以包括少量不同类型的数据域。数据长度是31字节,因此产品开发者需要选择广播包支持哪些类型的数据域。这些数据域中有一些由SIG定义的称为AD类型。所有的AD类型有相同的包括三个字段的结构。第一个字段是字节长度,第二个字段是类型,第三个字段是值。

Beacon编码格式目前有三种“帧格式”,它们是Apple的iBeacon,Radius Network的AltBeacon以及谷歌的Eddystone。

应用开发者需要知道如何解析这三种格式数据。

Frame Format:IBeacon

采用了标准的A

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
蓝牙beacon定位算法是基于蓝牙低功耗技术的一种定位解决方案。在Java开发中,可以使用Android平台的Bluetooth API来实现蓝牙beacon定位算法。 首先,需要获取蓝牙设备的扫描结果。可以使用BluetoothAdapter类提供的startLeScan()方法来开始扫描,并在回调方法中获取扫描结果。每个蓝牙设备的扫描结果包含了设备的MAC地址、信号强度(RSSI)以及其他相关信息。 接下来,需要对接收到的扫描结果进行处理。可以根据设备的MAC地址来识别不同的beacon设备,并提取出其特有的标识信息,如UUID、Major和Minor。 然后,根据扫描结果和beacon设备的特征信息,可以使用距离模型来计算设备与beacon之间的距离。常用的距离模型是基于信号强度和距离之间的反比关系,如RSSI值和距离之间的对数函数关系。根据不同的距离模型,可以进行适当的校正和调整,以提高测量精度。 最后,根据距离计算的结果,可以进行定位。可以使用三角定位法,根据多个beacon设备组成的基站,利用测量到的距离信息来计算目标设备的坐标。也可以使用加权平均法,在多个beacon设备的距离结果中加权平均,来得到更准确的定位结果。 总之,蓝牙beacon定位算法结合了蓝牙低功耗技术和距离模型计算,通过扫描蓝牙设备的信号强度和距离信息,来实现目标设备的定位。在Java开发中,可以利用Android平台的Bluetooth API来实现该算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shichaog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值