园区位置服务类API概述及向导
快速开始
接口概述
华为智简园区网络(CloudCampus)解决方案提供位置服务类接口,包括iMaster NCE-Campus 位置服务类接口和WLAN 设备南北向位置接口,主要应用场景是华为提供Wi-Fi/蓝牙位置数据给LBS服务器,由LBS服务器解析位置数据,为最终客户提供热力图、轨迹跟踪、客流分析等增值业务应用。
目前CloudCampus解决方案支持基于Wi-Fi和蓝牙两种方案提供位置服务。
基于Wi-Fi的位置服务
基于Wi-Fi的位置服务有两种方式上报位置数据至第三方服务器:
WLAN AP直接上报终端位置数据
iMaster NCE-Campus中继上报终端位置数据
更多方案请参考:生态合作
WLAN AP直接上报终端位置数据
数据上报流程与报文格式
WLAN AP周期性扫描其他Wi-Fi终端,并以固定间隔向第三方位置服务器上送定位报文。
WLAN(AP/AC)设备与定位服务器间采用UDP报文上报定位信息,由于本版本的接口支持TLV扩展的方式,服务器需要保持前向与后向兼容的能力:
对于不支持的TLV扩展参数,服务器需要支持忽略它。
对于服务器需要的TLV扩展参数,而设备没有上报的话,要有缺省值以正常处理接口消息。
定位数据从AP或者AC发送给定位服务器,报文类型为普通的UDP报文:
IP头 | UDP 头 | Payload |
AP/AC根据配置的上报周期参数周期性上报检测到所有Wi-Fi终端的信息,Payload数据报文部分结构如下:
位置 | 长度 (字节) | 数据域 | 取值 | 描述 |
---|---|---|---|---|
0 | 2 | Vendor ID | 0x4857 | 厂商ID,固定填写‘H’、‘W’两个字符 |
2 | 1 | Version | 0x03或0x05 | 版本号,根据服务器支持版本可以是V3也可以是V5 |
3 | 6 | AP MAC Address | - | 上报AP的MAC地址 |
9 | 1 | Number | - | 该报文包含的终端记录数,具体需要依据实际计算。 |
10 | 1 | Reserved | - | 保留字段 |
11 | 1 | Reserved | - | 保留字段 |
第一个Wi-Fi终端记录 | ||||
12 | 1 | Reserved | - | 保留字段 |
13 | 1 | Reserved | - | 保留字段 |
14 | 6 | 终端MAC Address | - | Wi-Fi终端的MAC地址 |
20 | 4 | 终端IP Address | - | 在本AP上关联Wi-Fi终端的IPv4地址,获取不到时为全0 |
24 | 1 | Channel | - | Wi-Fi终端所在信道 |
25 | 1 | Flags | - |
|
26 | 1 | RSSI | - | Wi-Fi终端的信号强度 |
27 | 1 | Noise Floor | - | 底噪 |
28 | N | OptionLength | - | 可选参数域长度,最大255,不包括本字段长度。该字段为可选的参数,只有在Flags可选参数bit位取值为1时才会出现。 |
- | - | 具体可选参数 | - | 可选参数采用TLV方式(TAG+Length+Value三元组),可携带多个TLV。 |
第二个Wi-Fi终端记录 | ||||
28+N | 1 | Reserved | - | 保留字段 |
. . . |
可选参数定义:
Tag值(1字节) | 含义 | 值长度 | 说明 |
0 | 时间戳信息 | 4字节 | WLAN采集到终端的时间(UTC 1970.01.01 0:0:0开始至采集时间点的秒数) |
配置流程
使用华为云帐号登录沙箱预约系统。
请参考沙箱使用指导,登录iMaster NCE-Campus。
在iMaster NCE-Campus上,打开“配置 > 站点配置”。
选择“站点 > 业务配置”,在配置详情页面选择“AP增值业务”。
在该界面下使能“开启上传功能”开关,并正确填写第三方位置服务器的IP/域名以及端口号。根据实际场景配置“周期”和“阈值”。
单击“应用”。
iMaster NCE-Campus中继上报终端位置数据
iMaster NCE-Campus支持将云AP采集的终端位置数据汇聚,周期性的发送给第三方位置服务器。由第三方位置服务器解析位置数据后,经过一些列算法和数据分析,为最终客户提供热力图、轨迹跟踪、客流分析等增值业务应用。
数据上报流程
华为iMaster NCE-Campus中继上报位置数据方案,为增强数据传输的安全性,采用了安全校验机制。
iMaster NCE-Campus中继上报终端位置组网
安全机制
安全校验机制的认证凭据,主要包括如下两类字段:
secret : secret由第三方系统生成,用于iMatser NCE-Campus发送的数据时的身份校验。secret为16进制字符且最大字符数为32。
validator : iMaster NCE-Campus在发送数据前校验对端返回的validator是否正确,若与记录的URL关联的validator不匹配,则不会发送Wi-Fi终端位置数据。UUID格式,由iMatser NCE-Campus生成。
流程图
数据接口定义
iMaster NCE-Campus通过POST方法通知第三方位置分析平台,请求体中的终端位置数据采用如下JSON格式:
{ "data": [ { "apMac": "4C:FA:CA:D8:23:A0", "terminalList": [ { "terminalMac": "88:19:08:F1:88:45", "rssi": -68, "timestamp": 1557460789000 }, { "terminalMac": "90:2E:1C:6A:2A:57", "rssi": -57, "timestamp": 1557460789000 } ] } ], "secret": "Test@1234", "type": "ApLocation" }
上述请求示例中的字段说明如下:
JSON字段 | 说明 |
---|---|
apMac | 终端接入点AP设备的MAC地址。 |
terminalMac | 终端MAC地址。 |
rssi | 终端接收AP设备Wi-Fi信号场强值,单位dBm。 |
timestamp | 接入点AP探测到终端信息的时间戳。 |
secret | 凭据字符,iMaster NCE-Campus平台界面中,需要配置的“密码”,由第三方合作伙伴提供。 |
type | 上报数据类型,当前仅支持ApLocation。 |
配置流程
iMaster NCE-Campus中继上报终端位置数据的配置流程请参考云平台中继位置服务云平台配置。
基于蓝牙的位置服务
目前CloudCampus解决方案支持两种方式进行蓝牙定位:
终端侧定位(AP进行Beacon广播)
服务器侧定位(AP做定位基站)
更多方案请参考:生态合作
终端侧定位(AP进行Beacon广播)
云AP周期性广播蓝牙Beacon报文,蓝牙终端收到AP广播报文进行定位,并将位置上报至服务器。
华为AP的蓝牙广播报文遵从标准的Beacon协议定义,具体如下:
标准BLE | Beacon Flags | Data |
其中Data部分结构如下:
16 Bytes | UUID |
2 Bytes | Major |
2 Bytes | Minor |
1 Bytes | Reference RSSI |
在需要蓝牙导航的场景,为了提高导航效果,可能需要在AP之间增加蓝牙Beacon基站,使覆盖更加全面。
华为AP提供了可以管理蓝牙Beacon基站的API,增加的Beacon基站若适配API,可实现AP对Beacon基站的管理。
服务器侧定位(AP做定位基站)
AP周期性扫描其他Wi-Fi终端,并以固定间隔向第三方位置服务器上送定位报文。
目前暂不支持iMaster NCE-Campus集中转发蓝牙报文至第三方服务器。
南向接口定义
华为WLAN AP为以下蓝牙模式提供蓝牙Beacon管理、蓝牙Tag定位和蓝牙数据透传3种南向接口:
标准Beacon模式:管理提供Beacon管理接口的基站,适用于终端侧定位方案。
Tag标签模式:基于华为私有接口定义对BLE tag进行定位,适用于资产定位等服务器侧定位场景。
BLE透传模式:AP仅作通道,不对广播帧内容解析,适用于客户不希望内容被网络设备解析的场景。
标准Beacon模式
此模式下的终端(包括Beacon基站和其他设备)需要满足此接口:
对于broadcasting广播帧,遵从标准的Beacon协议定义。
对于scan response广播帧,需要携带Beacon设备的电池电量信息;电池电量信息应携带在Service Data的AD Structure中。
scan response格式定义如下:
需要携带的AD Structure定义如下:
offset | Length | Type | Data | Details |
---|---|---|---|---|
0 or more AD Structure | ||||
0 | 1 | Data Length | 0x08 | - |
1 | 1 | Local Name | 0x09 | 参见Bluetooth4.0 core specification Volume 3 Part C chapter18.3 |
2 | 7 | Data | - | 标签厂商自定义的设备名称 |
0 or more AD Structure | ||||
0 | 1 | Data Length | - | 后续数据部分的总长度,>=4 |
1 | 1 | Service Data | 0x16 | 参见Bluetooth4.0 core specification Volume 3 Part C chapter18.1 |
2 | 2 | Service UUID | - | 标签厂商自定义的UUID |
4 | 1 | Battery volume | - | 电池电量等级范围为十进制的0-100(对应电量等级0%-100%)。建议以6个电量值表示:0x00/0x14/0x28/0x3c/0x50/0x64 |
0 or more AD Structure |
Tag标签模式
空口broadcasting广播帧必须遵从华为私有接口定义格式,支持标签电池电量检测和脱落告警;从省电和传输效率考虑不使用scan response;主要用于BLE资产定位场景。
报文结构定义如下:
offset | Length | IE Type | IE Data | Details |
0 | 1 | Data Length | 0x02 | Flag部分长度 |
1 | 1 | BLE Flags | 0x01 | 参见Bluetooth4.0 core specification Volume 3 Part C chapter18.1 |
2 | 1 | Flag Data | - | 取值含义参见Bluetooth4.0 core specification Volume 3 Part C chapter18.1 |
3 | 1 | Data Length | - | 后面数据的总长度,等于7+Reserverd字段长度 |
4 | 1 | Company Manufacture Data | 0xFF | 参见Bluetooth4.0 core specification Volume 3 Part C chapter18.11 |
5 | 2 | Company ID | 0x027D | 华为在蓝牙联盟申请的公司ID; |
7 | 1 | BLE标签设备 Type | 0x00 | 标签类型,当前仅支持0x00,表示通用标签 |
8 | 1 | Battery Level | - | 电池电量等级范围为十进制0-100(对应电量等级0%-100%) |
9 | 1 | Current | - | 对于支持脱落告警的标签设备bit0表示标签的在位信息:0表示在位,1表示脱落;bit1-bit7保留暂不适用;对于不支持脱落告警的标签设备该字段必须固定为0; |
10 | 1 | RSSI | - | 表示距离标签设备1米位置的接收信号强度 |
11 | - | Reserved | - | 标签厂商的自定义字段内容,长度<=20bytes |
BLE透传模式
华为WLAN设备仅为一个传输管道,不对广播帧内容进行解析,适用于客户不希望内容被网络设备解析的场景;主要用于蓝牙数据回传场景。
该模式下华为设备对空口广播帧结构没有任何要求,任何符合BLE协议定义的内容都可以处理。
另外注意以下约束项:
为保持接口的简洁性当前只支持透传broadcasting frame中的data部分,不支持透传scan response中的data部分。
由于不支持解析广播帧内容所以不支持电量监控、脱落告警,但是支持设备掉线告警。
北向接口定义
AP/AC通过UDP报文主动向服务器上报检测到的BLE标签设备的相关信息,分为两种上报方式:
实时上报:空口收到BLE广播帧后立即上报给服务器。
周期上报:根据配置的上报周期,对于来自同一个BLE标签设备的广播帧一个周期只上报一次。
实时上报方式
AP/AC每检测到一个BLE标签设备就实时上报UDP报文。UDP报文只包含一个BLE标签设备信息。UDP报文数据部分结构如下:
offset | Length | IE Type | IE Data | Details |
---|---|---|---|---|
0 | 2 | VendorID | 0x4857 | ‘H’、‘W’两个字符的ASCII码 |
2 | 1 | Version | 0x01 | 版本号,当前为1.0 |
3 | 6 | AP Mac Address | - | 上报AP的MAC地址 |
9 | 2 | Reserved | - | - |
11 | 1 | number | 1 | 上报的BLE标签设备的数目,实时上报方式下固定为1 |
12 | 6 | BLE标签设备 Mac Address | - | BLE标签设备的MAC地址 |
18 | 4 | TimeStamp | - | 接收时间戳,单位:秒,从1970年1月1日0时开始的秒数 |
22 | 1 | RSSI | - | BLE标签设备的信号强度 |
23 | 1 | Battery Volume | - | 电池电量。十进制的0-100对应电量等级0%-100%;无法获取此字段时,默认使用0xFF (unknown);透传通道模式下固定填写0xFF |
24 | 1 | Reserved | - | 对于支持脱落告警的标签设备bit0表示标签的在位信息:0表示在位,1表示脱落;bit1-bit7保留暂不适用;对于不支持脱落告警的标签设备该字段保留 |
周期聚合上报方式
AP/AC根据配置的上报周期参数周期性上报检测到所有BLE标签设备的信息,UDP报文数据部分结构如下:
offset | Length | IE Type | IE Data | Details |
---|---|---|---|---|
0 | 2 | VendorID | 0x4857 | ‘H’、‘W’两个字符的ASCII码 |
2 | 1 | Version | 0x01 | 版本号,当前为1.0 |
3 | 6 | AP Mac Address | - | 上报AP的MAC地址 |
9 | 2 | Reserved | - | - |
11 | 1 | number | 1 | 上报的BLE标签设备的数目,实时上报方式下固定为1 |
12 | 6 | BLE标签设备 Mac Address | - | BLE标签设备的MAC地址 |
18 | 4 | TimeStamp | - | 接收时间戳,单位:秒,从1970年1月1日0时开始的秒数 |
22 | 1 | RSSI | - | BLE标签设备的信号强度 |
23 | 1 | Battery Volume | - | 电池电量。十进制的0-100对应电量等级0%-100%;无法获取此字段时,默认使用0xFF(unknown);透传通道模式下固定填写0xFF |
24 | 1 | Reserved | - | 对于支持脱落告警的标签设备bit0表示标签的在位信息:0表示在位,1表示脱落;bit1-bit7保留暂不适用;对于不支持脱落告警的标签设备该字段保留 |
参考
您可以前往智简网络开发者社区,了解更多相关的信息。
- 点赞
- 收藏
- 关注作者
评论(0)