首页 >> >> 滚动 >> 正文
基于Wi-Fi的旅游团脱团预警系统的设计与实现
通信世界网
作者:       2016年11月8日 13:46
Wi-Fi 无线传输技术 旅游团

作者:北京邮电大学网络与交换技术国家重点实验室  徐畅

         杭州东信北邮信息技术有限公司  沈奇威

通信世界网消息(CWW)

Wi-Fi是当今日常生活中使用十分广泛的无线传输技术,随处可见的Wi-Fi网络大大促进了移动互联网的发展。网络覆盖范围小是智能路由的一个缺点,但是在某些特定情景下,利用其覆盖面积小的特点,可以满足特殊的需求。例如需要监控某个终端是否处于一定范围内时,我们可以通过监控该终端是否处于某个Wi-Fi覆盖区域内来实现。本文根据这一思路,设计并实现了一套旅游团脱团预警系统,通过基于OpenWrt的智能路由器实现Wi-Fi探针,监控路由器信号范围内的终端,并由基于Android系统实现的手机客户端进行分析比对,最终达到脱团预警的目的。

Wi-Fi是一种短程无线传输技术,能够在一定范围内支持互联网接入的无线电信号。它的最大优点是传输速度较高,在信号较弱或有干扰的情况下,带宽可调整,有效地保障了网络的稳定性和可靠性。另外它的传输有效距离也很长,在开放性区域通信距离可达305米,使用特殊的天线技术可以达到1000米左右,在封闭性区域通信距离为76米~122米,加入功率放大电路可以增加其传输距离。近年来,Wi-Fi技术在智能家居、工业控制、移动手持设备等嵌入式环境中需求日益增多。

如今随着智能终端设备的普及、智能路由器的发展,市场上出现了一系列结合智能终端和智能路由器的应用系统。随着旅游业的迅速发展、旅游人数的增多,经常有“游客脱团”现象的发生,导游需要时刻关注旅行团中人员数量,这对于导游来说是种负担。利用Wi-Fi的探测功能可以开发一套脱团预警系统,在旅游团中,导游可根据该系统查看团员是否脱团。其优势在于搭建成本小、使用方便。但由于智能路由器是依据终端设备与人的映射来建立监控,其准确性可能会差于传感器的检测。

本文以基于Android系统的智能手机和基于OpenWrt的智能路由为例,设计实现了一套监控系统,其使用场景为前文所述的旅游团导游监控团员是否脱团。该套系统具有简单易用、简易部署的特点,十分符合上述使用场景。

系统模块设计

该系统主要由3部分内容构成:搭载在Android系统上的脱团预警APP客户端、智能路由器上的编程、服务器端。图1展示了3个组件的不同职能和相互之间的联系。

图1 系统示意图

1.Android客户端设计 Android客户端供团队中的导游或领队使用,主要具有以下两个方面功能。

第一,导游可以方便地通过客户端连接智能路由,连接完毕后可以通过认证系统获取用户身份,完善相应权限的鉴权操作。通过了鉴权的用户可以查看所连接路由的信息,并且对路由进行操作。由于智能终端和智能路由的可交互操作,在该应用场景下,用户无需连接互联网即可获得流量统计的相关数据。

第二,导游在连接互联网之后,可以新建旅游团,完善旅游团信息,等待团员的签到,流程如图2所示。导游新建旅游团完毕后,团员可通过签到网址进行签到,此操作是为了获取团员的手机MAC地址,为后续的脱团监测所用。游客签到的流程如图3所示。游客签到完毕后,导游可开启脱团预警功能,脱团预警的流程如图4所示。

图2 新建旅游团流程图

图3 游客签到流程图

2.智能路由器端功能设计智能路由器上需要进行以下两个模块的开发。

(1)需要开发数据采集模块,采集连接到路由器上手机的MAC地址。该功能采用Wi-Fi探针技术实现,原理是利用智能设备商Wi-Fi模块发出的无线广播信号进行设备的感知。

(2)保存采集到的MAC地址、连接时间等数据,存储在本地,以供客户端进行分析和展现。

由于OpenWrt系统的长足发展,其支持的路由芯片越来越多,通过简单易用的方式降低了嵌入式Linux开发的门槛。因此本课题中的智能路由器基于OpenWrt进行开发。

图4 脱团预警流程图

3.服务器端功能设计服务器端的主要职能是负责与客户端的通信,在后台备份旅游团数据。服务器提供了接口可供客户端调用,客户端通过提供的接口进行旅游团的创建。同时,服务器端维护了签到的入口,游客通过签到入口将个人信息上报至服务器,服务器将对应信息同步给客户端,本文中的服务器端基于Play框架进行开发。

智能路由器端实现原理

1.数据采集模块数据采集模块是智能路由器端的核心,该模块通过以下3个子模块进行数据采集。

(1)数据搜集。数据搜集子模块工作在路由器的驱动层。路由器硬件接收到当前信道上的数据帧之后上报硬件终端。终端处理函数通过帧头信息判断帧的类型,并将相关信息提取出来,然后调用数据广播子模块提供的数据发送接口,发送给用户层的数据接收子模块。

(2)数据广播。数据广播子模块实时监听数据搜集子模块发送来的数据,将数据搜集子模块发送的数据发送给数据接收子模块,这些是主要的探针数据。数据广播子模块与其他子模块之间的数据交互如图5所示。

图5 数据广播子模块交互示意图

[1]  [2]  
相关阅读
热门文章
蓝戈沙龙