羊海潮,邓朝清,郭 锐
(1.大理大学数学与计算机学院,云南大理 671003;2.云南旅务通科技有限公司,云南大理 671000)
随着我国社会经济的发展,游客出游能力不断提高〔1〕,旅游行业正从观光型旅游向休闲游、深度游转型,自驾游、自由行的游客越来越多,游客在景区除了需要深入了解各景点的自然地理历史文化等信息,同时还需要全面了解各个景点的实时状况。很多景区推出了手机应用软件,但这些APP存在两个主要问题,一是只提供了景点的图片、文字等宣传性信息,游客无法获得景点的实时温湿度、人流量等真实状况;二是必须提前安装APP,对于没有安装APP或者网速较慢的情况下无法快速获取到景点的信息。
目前,我国旅游业正值随着智慧旅游的发展,许多旅游目的地开始建设智慧景区,景区内建设了视频监控、火灾报警、WiFi网络等系统,这些系统提升了景区管理能力,但并不能为每个游客提供一对一的信息服务,游客无法全面了解各个景点实时的状况。因此,一种集成度较高,具备景点信息传递、环境数据采集等多种功能于一体,并且将游客手机APP无缝集成,为游客提供景区内各景点的全面信息的智能化设备将具有广阔的市场前景。
智慧景区的核心是通过传感网、物联网、互联网等信息技术的整合,实现对景区资源环境、游客活动等进行全现、实时的感知与可视化管理〔2〕,根据这一目标,本文设计了整合传感网、物联网及互联网的智慧景区信息系统架构,由包括物联网设备的景点智能盒子、基于J2EE的云端服务器以及智能手机APP 3个部份组成,如图1所示。
图1 总体结构
景点智能盒子:每个景点安装一个或多个景点智能盒子,该装置集成了景点环境数据采集、人流量统计、位置感知、超声波通信等功能于一体,通过内置的网关将数据实时上传至服务器。
中心服务器:每个景区设置一台中心服务器,是景区的数据中心,存储各景点的环境数据、语音、图片、文字介绍等信息,为游客手机APP提供数据。
游客手机APP:为游客提供景区智能服务的手机应用软件,具备自助导览、景点信息获取、在线预订等功能。
景区管理终端:景区管理人员可对各景点的智能盒子进行设置与监控,也可以管理景点语音、图片、文字等数据,可以查看、统计各景点的实时与历史环境数据,可对异常景点进行预警提醒。
2.1 景点智能盒子 本文针对智慧景区应用场景,专门研发了一种智能硬件设备——景点智能盒子,基于物联网的感知层硬件部份全部集成于景点智能盒子中,由单片机、传感器、蓝牙模块、电源模块以及智能网关5个部分组成,系统总体结构如图2所示。
图2 景点智能盒子总体结构
传感器直接连接到单片机的I/O接口上,单片机采集到传感器数据后通过蓝牙模块与智能网关通信,将数据传输给网关,网关可以使用WiFi或GPRS将数据上传至服务器。在每个景点至少放置一个带有网关功能的智能盒子,作为该景点的中心节点,景点可以根据实际情况同时放置多个不带网关功能的盒子,这些盒子与中心节点组成星形网络,并将数据传输给中心节点的智能网关,无线通信采用蓝牙4.0,蓝牙4.0具有低功耗、低延迟、超长连接距离等优点〔3〕,传输距离可达100 m以上,同一景点可以在不同位置放置多个盒子采集数据,以提高整个景点的数据准确度(如人流量)。
已经实现的硬件原型系统如图3所示,主要的硬件模块如下:
(1)Arduino主控板
Arduino主控板采用Arduino Leonardo,它是基于ATmega32u4一个微控制器板。它有20个数字输入/输出引脚,其中7个可用于PWM输出、12个可用于模拟输入〔4〕,具有体积小、价格低廉的特点。
(2)传感器
景点智能盒子集成了DHT11数字式温湿度传感器用于采集景点的温度与湿度数据,MQ2烟雾传感器用于采集景点空气中的烟雾〔5〕,PD4NS空气粉尘传感器用于检测景点PM2.5数据,MIC声音传感器是用来对周围环境中的声音强度进行检测,人体热释运动传感器通过检测人体运动计算出人流量。
(3)蓝牙通信模块
蓝牙通信模块采用HC-06无线蓝牙串口透传从机模块,通过Arduino的TX/RX端口进行连接,该模块的最大优点就是价格低廉,能以从机模式方便地与Android手机进行蓝牙通信〔6〕。
图3 景点智能盒子硬件原型
2.2 景点智能网关 景点智能网关为基于Android操作系统的嵌入式计算机,可以使用智能手机或平板电脑〔7〕,包括主控制器、触屏显示模块、音频模块、WiFi通信模块、3G(或4G)通信模块、蓝牙4.0模块,景点智能网关实现以下功能:
(1)与服务器远程通信
可使用WiFi、3G(或4G)网络连接因特网与服务器通信,将传感器采集到的数据上传至服务器,同时从服务器上接收对盒子进行控制的相关数据及指令。
(2)与单片机蓝牙通信
智能网关作为景点的蓝牙服务器,是一个景点的中心节点,可以在100 m间距的范围内,通过蓝牙4.0协议与其他盒子组建一对多的星形网络,单片机从传感器采集的数据通过蓝牙通信传输给智能网关,同时,单片机从智能网关获取采样时间等参数以及重启、关闭等控制指令〔8-10〕。网关可通过接收数据情况判断单片机模块是否正常,如果在指定时间内未收到数据或者收到的数据不完整,即可判断单片机模块出现异常,并将异常情况上报服务器。
2.3 电源模块 为解决某些景点交流电无法到达的问题,景点盒子采用了交流电以及太阳能供电两种供电方式,以模块化的方式提供,盒子可以选择安装太阳能或交流电模块,以适应不同的供电环境,图4为太阳能供电模块组成结构。
图4 电源模块
3.1 Arduino嵌入式软件
3.1.1 主要功能 集成在景点智能盒子中的Arduino主控板通过嵌入式软件实现的主要功能为采集各个传感器数据,并通过蓝牙通信上传至网关,可以采集到景点的温度、湿度、光照度、噪音、烟雾浓度、PM2.5等数据。
3.1.2 主程序的设计 由于Arduino将周期性地采集多个传感器数据,并且实时性要求较高,主程序采用有限状态机(FSM)模型提高程序运行效率,避免不必要的延迟,将主程序划分为空闲、读取传感器数据、连接网关、上传数据4个状态,如图5所示。
图5 有限状态机
3.2 智能手机APP
3.2.1 APP功能设计 APP的功能设计从游客的角度出发,实现了基于Android、IOS以及微信公众平台3种平台的移动终端软件,包括导游、导览和导购3个基本功能,体现了直接、主动、及时和方便的特征。导游功能是在确定了位置的同时,能在手机地图上会主动显示周边的旅游信息,同时还支持在非导航状态下查找任意位置的周边信息;导览相当于一个导游员,游客可以获得关于兴趣点的位置、文字、图片、视频、使用者的评价等信息,导览功能包括建设一个虚拟旅行模块,只要提交起点和终点的位置,即可获得最佳路线建议,也可以自己选择感兴趣的路线;导购则包括景区门票、旅游线路、住宿的直接在线预订,实现旅游电子商务功能。
3.2.2 APP的实现 为了解决APP的跨平台问题,在实现技术上采用了PhoneGap+HTML5+源生插件的移动端混合开发技术,APP的主界面以“吃住行游购娱”信息、旅游预订等功能界面通过HTML5+JQuery实现,二维码扫描、分享、文件解压等功能则使用基于Android或IOS源生代码的PhoneGap插件实现,HTML与源生代码间使用PhoneGap作为桥梁实现相互通信,图6为运行于iPhone5s手机并使用了HTML5的功能界面截图。
图6 APP界面
表1为在Android平台下使用Java源生代码开发的PhoneGap插件。
表1 主要的PhoneGap插件
3.3 服务器端系统 服务器端系统主要实现“吃住行游购娱”六大旅游要素的信息资源管理与维护,包括数据采集、修改、删除等操作,与百度地图结合,能将数据与地理坐标关联标注,包括旅游资源信息、历史文化、交通信息、住宿信息、餐饮信息、娱乐休闲、自然社会、旅游服务机构等信息库,与百度地图集成,使用百度地图API进行二次开发,对旅游信息资源进行地图标注,以提供手机APP及微信公众平台应用进行基于位置的检索服务。服务器端采用了基于REST风格的WEB Service架构,Android客户端与服务器端通过REST服务方式进行通信。
3.3.1 资源定义 以面向资源的设计思想,定义了游客、景区、宾馆、美食、交通等资源,为每项资源定义了URI形式的资源标识,Android客户端便可通过REST URI访问服务器端的资源信息服务,并采用HTTP提供的GET/POST/PUT/DELETE 4个方法完成CRUD(增删改查)操作,主要的资源及其URI如表2所示。
表2 主要资源及其URI
3.3.2 资源表述 资源表述也就是Android手机以REST方式向服务器提交请求后,服务器端返回的数据格式,常见的形式包括了XML/JSON两种,本文采用JSON作为资源表述形式,JSON是一种简单的纯文本格式数据,数据量比起XML要小,适合用于手机与服务器交互,以下为“景区”信息的JSON资源表述形式示例:
基于物联网、移动计算等技术设计并实现了一种集成景点环境信息感知、景区智能导览、景点人流量预警等多种功能的景区智能化信息服务系统,该系统具有集成度较高、成本较低等特点,为智慧景区的智能化信息系统建设提供了一种新的解决方案。目前,智能手机APP已经在一些景区推广应用,但智能硬件只是实现了原型系统,还需要进一步加强操作简便性的研究,并提升系统的自动化程度,以进一步适应于智慧景区实际应用。
〔1〕章小平,吴必虎.智慧景区管理与九寨沟案例研究〔M〕.北京:清华大学出版社,2013:1-11.
〔2〕党安荣,张丹明,陈杨.智慧景区的内涵与总体框架研究〔J〕.中国园林,2011(9):56.
〔3〕中关村在线.蓝牙4.0功耗/有效距离测试〔DB/OL〕.(2014-05-17)〔2015-04-01〕.http://mobile.zol.com.cn/454/4544529_all.html.
〔4〕ARDUINO.Arduino Leonardo〔DB/OL〕.〔2015-05-06〕.http://arduino.cc/en/Main/ArduinoBoardLeonardo.
〔5〕DALE Wheat.Arduino技术内幕〔M〕.翁恺,译.北京:人民邮电出版社,2013:125-131.
〔6〕钱志鸿,刘丹.蓝牙技术数据传输综述〔J〕.通信学报,2012(4):92-95.
〔7〕朱洪涛,吴洪波,李铮.基于Android平台的数据采集系统设计〔J〕.自动化与仪表,2013(3):28-31.
〔8〕王俊杰,赵威,罗超,等.基于蓝牙4.0传输的智能家居系统〔J〕.电子制作,2015(4):28-31.
〔9〕张涛,钟舜聪.基于人体步态识别的热释电红外传感报警系统〔J〕.机电工程,2011,28(10):44-48.
〔10〕江杰,宋宏龙.基于GSM短信的烟雾传感报警系统〔J〕.测控技术,2014,33(1):1-3.