如何用蓝牙网关扫描蓝牙beacon设备

金桔蓝牙网关默认是不开启beacon设备(锚点设备)扫描的,需如果需要开启请配置蓝牙设备扫描,以下对金桔ACserver配置基站参数的说明:

锚点透传功能

透传格式

金桔蓝牙网关透传beacon数据,如果网关同时打开广播透传功能(关闭厂商数据时),那么一个beacon数据会在beacon数据的推送类型里出现,也会出现在广播数据里。
手机看到的锚点(该锚点是在*宝上买的):
如何用蓝牙网关扫描蓝牙beacon设备
锚点透传的数据如下:

{ 
    "Gateway": "00000000", 
    "NodeId": "0001DD0E", 
    "SystemId": "10990145", 
    "Type": "beacon_device", 
    "beacon_service": "0215", 
    "beacon_uuid": "B5B182C7EAB14988AA99B5C1517008D9", 
    "data": [ 
        { 
            "rssi": -57, 
            "station": "10000060"
        }
    ], 
    "major": "1", 
    "majorHex": "0001", 
    "minor": "56590", 
    "minorHex": "DD0E", 
    "msg_type": "ble", 
    "rssi_level": "-59", 
    "vendor_id": "004C"
}
字段名称 说明
Gateway 忽略
NodeId 这里是金桔系统认为的nodeId,任何锚点设备,majorHex+minorHex 金桔都认为是nodeId,这样方便在做位置计算时区分锚点设备。
SystemId Acserver的Id,在config/setting.js里配置
Type 固定为beacon_device
beacon_service beacon的服务类型,一般是 0215,
beacon_uuid Beacon 的UUID 值
major 十进制的major值
majorHex 十六进制的major值,用于方便计算
minor 十进制的minor值
minorHex 十六进制的minor值,用于方便计算
msg_type 固定为ble
rssi_level Beacon的校准rssi值,在beacon中设置
vendor_id 厂商的ID,一般标准苹果的ibeacon是004C
data 这里面是一个数组,代表每个基站收到该广播的信号强度,因为一个beacon广播可能被多个基站收到,这里值可以做三角定位用

透传过滤

因为锚点是公共功能设备,在网关的周边可能存在多个其他不准备透传的设备,所以网关可以通过major值来进行过滤,过滤配置在网关位置中:
如何用蓝牙网关扫描蓝牙beacon设备
网关只透传过滤掩码“逻辑与”过滤值的设备,例如:
我们配置过滤掩码为0xFFFF 过滤值为0x3000,那么major除了0x3000以外的锚点设备将都不能透传。
如果我们配置过滤掩码为0xFF00 过滤值为0x3000,那么major除了0x30**以外的锚点设备将都不能透传。

猜你喜欢

转载自blog.51cto.com/14958685/2541695