APP下载

荆门园博园蓝牙导览系统的设计*

2023-02-16,李

南方农机 2023年5期
关键词:展园博园荆门

郑 杰 ,李 冉

(荆楚理工学院,湖北 荆门 448000)

智慧导览是基于物联网、云计算、移动互联网等技术,提供具有一定智慧化决策的导览系统或设备,通过音频、视频、图片和文字等多种呈现方式,帮助用户实时获取相应区域的导览服务[1]。智慧导览除了被广泛地应用于博物馆、博览会场馆以外,近年来也逐渐被应用于景区导览、校园导览、园区导览,如南京青龙绿带二期的智慧园区导览[2]、泉州经贸职业技术学院基于微信小程序和GPS定位的校园导览[3]等。

荆门园博园是湖北省第三届园林博览会的承办地,面积达2 094亩,分为园林生活区、灵秀荆楚区南北两大片区,5大主题展馆展厅呈现荆楚文化魅力,32个特色展园分散在园区的不同位置。在园区内构建智慧导览系统,为广大游客提供个性化的旅游导览和景点自动讲解服务,对提升园博园的服务水平和游客体验度具有十分重要的意义。

本研究以荆门园博园景区为背景,深入研究蓝牙信标和微信小程序技术,设计并实现了荆门园博园蓝牙导览系统,助力荆门园博园游园智慧化水平的提升。

1 系统的体系结构

在荆门园博园蓝牙导览系统中,为园区内每个展园或景点安装低功耗蓝牙信标,每个信标具有唯一的ID,并且连续广播。游客进入园区,打开微信小程序,在游玩的过程中接近某一展园,即可收到蓝牙信号,从而自动播放该展园的音视频和图文等多媒体内容,多维度地帮助游客体验园林艺术的精华。导览系统包含蓝牙信标、游客游览微信小程序、后台管理端、数据库四大部分,系统体系结构如图1所示。

图1 系统体系结构

2 关键技术

2.1 蓝牙信标

蓝牙信标iBeacon是一款基于低功耗蓝牙BLE广播协议的硬件设备,兼容iBeacon协议或者Eddystone。BLE设备通常安装在某个特定位置,作为固定位置的基准点,向周围连续广播,不需要和任何主机设备进行连接,只需要主机设备扫描解析广播数据即可。蓝牙信标功耗低、待机时间长、不需要外部供电,具有安装方便、成本较低、兼容适配性高的优点。当用户接近蓝牙信标就会收到广播信息,正好适用于园博园多个松散布局的展园。本导览系统采用了E5定位型iBeacon蓝牙信标,可根据展园的大小设置功率,最大感应范围为150 m。每个蓝牙信标具有唯一的ID,并连续对外广播ID数据。蓝牙信标能起到位置标识的作用,当游客打开蓝牙并启动微信小程序,即可接收蓝牙广播,解析ID,通过移动互联网向服务器查询该展园的多媒体信息。

2.2 蓝牙数据的解析

本导览系统中,通过微信小程序的uni-app组件解析蓝牙广播数据。uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)以及各种小程序、快应用等[4]。uni-app框架中存在丰富的对低耗蓝牙设备进行监听、数据读取的API,可实现对iBeacon硬件信息的获取,相关API的详细信息如表1所示。

表1 低功耗蓝牙设备操作API摘要

蓝牙信标的广播标识数据结构如图2所示,标识数据每个字段的含义如表2所示。

图2 广播标识数据示例

表2 标识数据的字段说明

2.3 微信小程序

微信小程序是小程序的一种,英文名为Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。微信小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生App体验的服务。整个框架系统分为两部分:逻辑层(App Service)和视图层(View)。它提供了自己的视图层描述语言WXML和WXSS以及基于JavaScript的逻辑层框架,并在视图层与逻辑层之间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑[5]。

3 系统设计

结合荆门园博园景点的特点和智慧导览的需求,在园区内32个展园固定位置上安装蓝牙信标,游客进入园区后,扫一扫二维码,打开微信小程序,即可开启智慧导览。荆门园博园蓝牙导览系统包括两大部分:微信小程序导览端和服务端,总体功能规划如图3所示。

图3 系统功能规划图

3.1 园博园蓝牙导览微信小程序

园博园蓝牙导览微信小程序只是一个客户端,在图3规划的功能点中,三个重要的模块详细功能描述如下。1)园博园地图导览模块,在园博园的手绘地图中,通过编程标注每个展园的位置,初始状态为灰色,表明未游览;当游客游览后,该展园的标识变为红色,表明已经游览,给游客一个清晰的游览状况展示。2)蓝牙信标监听模块,它采用uni-app中的API时刻监听蓝牙信标,接收广播标识数据,解析信标ID,然后向服务器查询该展园的多媒体内容,最后调用展园多媒体播放页面进行播放。3)展园多媒体播放模块,主要用于播放当前展园的图文和音视频内容,自动实现多维度的展园内容呈现。

3.2 服务端

服务端是荆门园博园蓝牙导览系统的核心,承担着小程序客户端的数据服务、基础数据管理、系统设置、数据统计等功能。服务端主要功能模块的详细描述如表3所示。

表3 服务端主要功能描述

4 数据库设计

根据导览系统功能模块的规划,所涉及的主要数据实体有五个,它们所对应的数据库表分别是:展园数据表(exhibitstype)、信标表(exhibits)、小程序授权表(prefixthird)、评论数据表(collection)、用户表(user),这些表的字段定义和对应的实体关联关系如图4所示。

图4 E-R图

5 系统的实现

5.1 开发平台

Nest(NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的开发框架。它利用JavaScript的渐进增强的能力,使用并完全支持TypeScript(仍然允许开发者使用纯JavaScript进行开发),并结合了面向对象编程OOP、函数式编程FP和函数响应式编程FRP。在底层,Nest构建在强大的HTTP 服务器框架上,如Express,并且还可以通过配置使用Fastify[6]。Nest在这些常见的Node.js框架之上提高了一个抽象级别,但仍然向开发者直接暴露了底层框架的API。这使得开发者可以自由地使用底层平台的无数第三方模块[7]。

5.2 导览微信小程序

导览微信小程序基于uni-app组件进行开发,开发模式为Vue的Template模板模式,开发完成后打包成微信小程序。在蓝牙信标监听模块中使用uni.startBeaconDiscover()搜索附近的iBeacon信标设备,根据搜索到的蓝牙信标的rssi值进行升序排序,获取此蓝牙信标的ID值,然后通过http请求,向服务端请求与之相匹配的展园多媒体数据,最后调用展园多媒体页面进行播放[8-9]。微信小程序主要页面如图5所示。

图5 微信小程序主要页面

5.3 服务端的实现

服务端的管理模块主要使用Vue2+Element UI组件开发。页面局部通信采用Axios插件,很好地兼容了不同的浏览器和屏幕的大小。服务端其他模块主要使用Node.js的Express框架。数据库采用了关系型数据库mySql 5.7,进行数据的长久化保存,根据移动端和管理端输入的参数,实现对数据库相关数据的查询,并进行数据返回[10]。数据管理端的展园列表的管理页面如图6所示。

图6 展园列表管理页面

6 结语

本研究设计并实现了基于微信小程序的荆门园博园蓝牙导览系统,旨在将景区的信息化服务向移动互联网进行延伸,适应新时代游览、生活的需要,提高园博园智慧游览的体验度。目前,该系统已经进行了局部测试,并进行了完善和调优,下一步将联系荆门园博园管理处,进行系统部署、试运行。课题组将不断地努力改进系统,也希望更多的研究人员、企业能参与进来,助力文旅智慧化发展,助推乡村振兴。

猜你喜欢

展园博园荆门
南京园博园悦榕庄酒店
周菡菡 韦覃作品
山东展园展区双双斩获北京世园会特等奖
能源管理系统在荆门石化的应用
海绵城市理念在展园施工中的应用
参观园博园
第十二中国(南宁)国际园林博览会室外展园风貌控制方法综述
菊逢盛世,韵满荆门 第十二届中国(荆门)菊花展览会侧记
《李白·渡荆门送别》
安吉竹博园无线Wi—Fi全园覆盖