虹桥枢纽WiFi嗅探客流量监测系统研究与实现

2019-04-13 03:03佟慧姣刘小松朱磊基楼亮亮
现代电子技术 2019年7期
关键词:客流量客流数据包

佟慧姣,刘小松,朱磊基,楼亮亮,熊 勇

(1.中国科学院上海微系统与信息技术研究所,上海 200050;2.上海君来软件有限公司,上海 201901;3.中国科学院大学,北京 100049)

0 引 言

上海虹桥综合交通枢纽位于上海西城,占地26.26 km2,集航空、铁路、高速公路和轨道交通为一体,旅客日吞吐量约110 万人次,其东部为虹桥机场,中部核心区包括东交通广场、高速和城际铁路虹桥站、西交通广场等各类轨道及路面交通设施,西部为2 700 000 m2的虹桥商务开发区。虹桥枢纽是长三角城市网络中的关键性节点,将成为上海企业服务长三角、辐射全国乃至世界的商务中心[1]。因此,针对上海虹桥枢纽的实际情况,研究客流监测的具体方案并尽快实施具有重要的意义。

目前,对于各类交通枢纽客流量监测的方法主要有:基于票务信息的轨道交通客流量监测、基于手机信令数据的客流量监测、基于视频客流量监测和基于WiFi 嗅探的客流量监测等。文献[2]通过构建城市轨道交通系统客流流动的数学模型,实现了基于票务信息的轨道交通客流系统设计。文献[3]以重庆北客运枢纽为例,采用手机信令数据实现了在站客流、全日客流和集散时间的实时监测。文献[4]针对大型枢纽站的具体场景与需求,围绕基于计算机视觉技术的检测算法展开,研究设计并实现了一套客流监测系统。

在这些方法中,基于票务信息的方法区域局限性较大,对于票务信息缺乏的区域并不适用;基于手机信令的方法监测范围较大,且受限于基站的位置,适合宏观区域的客流估计;基于视频分析的方法监测准确率高,结果可靠,但是监测范围太小且算法实现复杂,适合一些重点监测区域的客流监控。因此,基于WiFi 嗅探的客流监测方法以其监测范围适中、硬件及算法原理简单易实现和监测较为准确等优点受到越来越多的关注。

本文研究WiFi 嗅探客流监测系统在上海虹桥枢纽的具体实现,通过阐述该系统部署实现中的关键技术,为工程师或学者提供参考。

1 关键技术

上海虹桥枢纽西交通中心,是本文研究的目标区域,其客流具有属性多样、流向复杂和时变性强等特点,无法简单依靠传统手段有效地获取客流信息。WiFi 嗅探客流监测方法以其监测范围适中、硬件部署和原理简单的优点,适合该区域客流量的监测。

1.1 基本原理

无线终端接入WiFi 网络需经过扫描、认证和关联步骤,三个步骤全部完成,无线终端才能通过与无线访问接入点(Wireless Access Point,AP)建立数据链接而加入网络。扫描阶段用于发现周围AP,有主动和被动两种扫描方式。根据IEEE 802.11 系列协议,开启WiFi功能的无线终端会通过主动扫描方式,定期向周围广播探询请求帧(Probe Request),告知网络自己的存在。探询请求帧是管理帧的一种子类型,包含终端唯一的媒体访问控制(Media Access Control,MAC)地址。因此,通过捕获无线终端广播的探询请求帧,从中解析出MAC 地址,即可得知监测范围内开启WiFi功能的无线终端数量[5-6]。

开启WiFi 功能的手机是一种活动的无线终端。由于人群中开启WiFi 功能的手机数量是实际客流总量的一部分,因此需用拟合方法设计出开启WiFi 功能的手机数量在实际客流总量中所占的比例,用以估计实际客流总量,这个比例称为扩样系数。

1.2 数据获取

WiFi 嗅探器完成信息采集并送至服务器的过程,实际应用时需要解决两个问题:一方面,要在较短时间内捕获到附近终端的MAC 地址,以免因为被监测人员移动离开信号覆盖区域而造成漏检;另一方面,进行初步数据清洗后可靠发送至指定数据服务器,以免大量无效数据拥堵通信通道。

1.2.1 捕获终端MAC

本文采用的WiFi 嗅探器工作在2.4 GHz 频段,共有14 个信道,我国设备可用其中13 个,信道分布如图1 所示。文献[7]证明,在行人正常步行速度下,用三个频率范围无重叠的1,6,11 信道侦听的探针可实现探询请求帧80%以上的检测概率,是性价比最高的监测方案。因此,WiFi 嗅探器工作时,在1,6,11 三个信道上持续以侦听模式捕获区域内无线终端的探询请求帧。

图1 IEEE 802.11协议2.4 GHz频段信道分布Fig.1 Channel distribution at 2.4 GHz band according to IEEE 802.11 protocol

1.2.2 数据传输

WiFi 嗅探器与服务器之间通过发送约定格式的数据包进行通信,数据包分下行、上行两类。下行数据包由服务器发送至WiFi 嗅探器,为参数配置数据。上行数据包是WiFi 嗅探器发送给服务器的数据,是其作为信息采集器完成无线终端信息的捕获,并以20 s 周期向服务器发送数据包。上行数据包帧格式如图2 所示。当数据包中“类型(CMD)”字段值为0x01时,表示数据包为上行数据包,此时“数据(DATA)”字段内是WiFi 嗅探器捕获的无线终端探询请求帧的信息,是WiFi 嗅探客流监测系统基础数据来源。

图2 上行数据包帧格式Fig.2 Frame format of uplink data packet

WiFi 嗅探器与服务器之间的数据传输通过套接字(Socket)实现[8]。标准套接字有两种类型:流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)。

流式套接字用于TCP 协议,是面向连接的,提供双向、有序、无重复且无记录边界的数据流服务,适用于处理大量数据,可靠性高。数据报套接字用于UDP 协议,提供双向通信,但是没有可靠、有序和不重复的保证,所以UDP 传送数据可能会收到无次序、重复的信息,甚至信息在传输过程中出现遗漏,但传输效率高。

本文在实现数据获取时采用面向TCP 协议的流式套接字,Socket建立与侦听流程如图3 所示。

图3 流式套接字实现流程Fig.3 Implementation process of SOCK_STREAM

建立Socket 连接后,服务器端将收到的上行数据包按照图2 中的约定格式进行实时解析,并将解析后的有用信息上传数据库,用于数据处理分析。根据图2 中的数据包格式,解析后的有用信息包括移动终端的MAC 地址、相应的接收信号强度RSSI、嗅探到此探询请求帧的时间与数据包发送时间的偏差等。解析结果如图4 所示。

图4 某个上行数据包的解析结果Fig.4 Analysis results of a certain uplink data packet

1.3 数据处理

数据处理是数据服务器完成由收集的终端MAC 数据转换成客流量数值的过程。终端MAC 数据经过背景噪声数据滤除、客流停留量分析和数据扩样三步处理,实现从大量数据中提取可用数据并进行有效扩样,最终获得客流量估计值。

1.3.1 背景噪声数据滤除

由于目标监测区域环境复杂,WiFi 嗅探器发送给服务器的数据中含有大量无效信息,主要包括非手机厂商无线移动终端的MAC 地址信息、持续存在的区域背景噪声信息、不符合校验格式的错误信息等。因此,接收到数据之后,应该根据各类无效信息的特点,对接收到的大量数据进一步进行清洗,确保留存可用信息。

无线移动终端的MAC 地址共有6 B,其中前3 B 是由IEEE 分配给厂商的信息。根据MAC 地址的前3 B,可以找到并排除非手机厂商无线终端的MAC 地址,也可以从有效数据中获得客流中手机品牌的统计结果。如图5 所示为部分背景噪声。

图5 背景噪声示例Fig.5 Example of background noise

1.3.2 客流停留分析算法

客流停留分析算法的目的是持续准确地监测目标区域的客流停留量,以实现后续的客流量分析与超警戒报警。在目标监测区域内,有效信息中不同MAC 地址的条目数目即可大致认为是该目标区域的客流停留量。

但是,在对有效信息进行处理时,会发生同一批数据包中含有某手机的重复信息,这些有效重复信息的MAC 地址是相同的。在进行客流停留量分析时,服务器端分为两种情况进行处理:

1)若是同一个WiFi 嗅探器在同一个数据包中发送了重复的MAC 地址条目,以时间靠后的为准。

2)若是不同的WiFi 嗅探器均捕获到同一个手机的信息,同时向服务器发送了MAC 地址相同的数据,则依据RSSI 最大原则保留两条数据中RSSI 值较大的条目,认为该手机在发送RSSI 值较大数据的WiFi 嗅探器的监测范围内[9-11]。

经过客流停留量分析之后,此时服务器端保留的有效数据条目已经可以被认为是目标监测区域内开启了WiFi的手机数目。

1.3.3 数据扩样算法

WiFi 嗅探客流监测是通过监测目标区域内打开WiFi的手机数目来间接得知目标区域的客流停留量的一种方法。但是,在实际生活中,并非人人拥有智能手机,也并非人人的智能手机均处于WiFi 开启的状态。因此,需要数据扩样分析算法对目标监测区域内开启了WiFi的手机数目进行扩样。

数据扩样算法中,最重要的是扩样系数的计算和选取。扩样系数的计算公式如下所示:

本文根据文献[12]中对扩样系数时变性的详细研究方法和目标区域客流特点,对扩样系数的选取进行了多次实验,确定了合理的数据扩样系数及时变方案。利用该方案,根据经背景噪声数据滤除和客流停留分析算法得到的有效数据条目,可快速计算出真实客流量的估计值。

2 系统实现

2.1 系统架构

WiFi嗅探客流监测系统架构如图6所示。覆盖目标区域的WiFi 嗅探器通过有线网络将接收到的无线移动终端设备数据打包发送给部署在附近机房的客流采集与处理本地服务器。这些包含无线移动终端设备的MAC地址、RSSI 值、时间、来源等信息的原始数据经过本地服务器解析与处理后可得到区域客流量估计值,推送至云端。手机APP和网页通过固定接口从云端取得实时客流量数据。用户通过手机APP或网页得知目标监测区域内的客流量,从而使得管理者可及时获知现场客流量的异常,采取正确有效的应急疏散策略,保障大客流安全。

图6 WiFi嗅探客流监测系统架构Fig.6 Architecture of WiFi sniffing passenger flow monitoring system

2.2 嗅探设备部署

本文采用的WiFi嗅探器为自行开发的产品,其核心WiFi模块为ESP-12F模块,支持标准的IEEE 802.11b/g/n协议,搭配基于ISM 频段的3 dBi 增益的IFA 天线,有效监测半径为150 m。

考虑到场地电源、网络等条件,在上海虹桥枢纽西交通中心,本文沿道路部署了10 套WiFi 嗅探器,并通过限制RSSI 值使系统的监测范围完全覆盖目标监测区域。设备部署情况如图7 所示。

2.3 功能测试

为验证WiFi 嗅探客流监测系统的可靠性,本文利用人工方法,分散在目标区域每个出入口对来往客流进行计数。在计数开始时刻,由各小区域负责人统计各小区域内原始人数,作为客流基准值。在计数时间段内,每隔5 min 记录各个出入口进出人数,作为客流变动值,同时保证被测试的10 套WiFi嗅探器正常上报数据。

图7 WiFi嗅探器部署Fig.7 Deployment of WiFi sniffer

对人工计数结果汇总统计之后,获得了该区域某日12:00—18:00的客流真值数据。同时,调取当日同时刻WiFi 嗅探客流监测系统客流量计算值与客流真值进行对比,结果如图8 所示。

图8 客流监测值与真值对比Fig.8 Comparison of passenger flow monitoring value and true value

图8 中,曲线1 为实测真实客流量曲线,曲线2 为WiFi 嗅探客流监测系统客流量曲线。对比发现,客流量趋势基本一致,满足大客流到来的报警需求。统计12:00—18:00 客流量数据得知,实测真实客流量为68 185 人,WiFi 嗅探客流监测系统客流量为68 155 人。WiFi 嗅探客流监测系统监测客流量可反映真实客流量,为相关部门提供客流大数据参考。

2.4 系统应用

WiFi 嗅探客流监测系统应用界面如图9 所示,包括以下功能:手机品牌分析、客流量实时监测、历史报警信息、客流量趋势分析、热力图和特征日客流量分析。

客流量实时监测区是系统的主功能区,位于整个界面的中心区域,以表盘形式展示当前客流量,并以绿色、蓝色和红色区分客流拥挤程度。表盘下方以文字形式精确表述当前客流量和历史最高客流量,可更加清晰地反映当前客流水平。其他功能区为辅助功能区,可完成手机品牌分析、历史报警信息展示、客流量趋势分析、热力图展示和特征日客流量分析等功能,提供进一步的客流监测和分析。

图9 WiFi嗅探客流监测系统界面Fig.9 Interface of WiFi sniffing passenger flow monitoring system

基于WiFi 嗅探的虹桥枢纽西交通中心客流监测系统已运行一年,经受了2017年春节、劳动节和国庆节的客流监测考验,目前运行状况良好,正在持续为虹桥枢纽的客流安全保障提供数据。

3 结 论

本文针对上海虹桥枢纽西交通中心客流情况复杂,难以用传统方法有效监测客流量的问题,创新性地选用WiFi 嗅探技术,实现了WiFi 嗅探客流监测系统。在系统开发的过程中,本文解决了数据获取和处理时终端信息捕获、数据传输、海量数据分析与处理、数据扩样等一系列实际问题。在系统设计部署之后,本文又将系统监测客流量与人工统计客流量进行了对比,验证了其可靠性。该系统运行后结果表明,其所具备的客流监测功能可以使管理者实时了解区域运行情况和拥挤程度,也能够分析交通枢纽的长期活动规律,为行业管理部门提前制定应急预案、进行客流疏散调度提供参考。

注:本文通讯作者为熊勇。

猜你喜欢
客流量客流数据包
客流增多
SmartSniff
基于嵌入式系统的商场客流量统计算法
基于自学习补偿的室内定位及在客流分析中的应用
基于AFC数据的城轨站间客流量分布预测
人工免疫算法在电梯客流时段划分的应用
城市轨道交通运营客流数据分析缺陷及应对
从客流量推算公交出行PA矩阵的方法
视觉注意的数据包优先级排序策略研究
新建旅游项目客流量分析方法初探