智能电子站牌终端系统软件设计研究

时间:2022-05-30 08:30:31

智能电子站牌终端系统软件设计研究

摘要:智能电子站牌终端系统软件设计源于“智慧城市”建设大背景,以“智慧交通”建设目标中的“智慧公交”为载体,着眼于解决传统电子站牌终端软件独立、分散、系统资源消耗大等不足,使用基于安卓的统一架构与一体化接口设计方案实现一种新型的集成式一体化智能电子站牌终端系统软件。系统实现模块化设计,可动态调整系统软件功能,实现一定程度的定制化开发。

关键词:电子站牌;公交站牌;终端软件;App;安卓

1引言

城市公交系统作为一个城市得以正常运行的重要基础设施,无论从智能交通领域来看还是从智慧城市的公共基础设施领域来看,都占有重要地位。因此,将城市公交系统数据化、智慧化就非常重要,而公交站牌在公交系统中又处于非常重要的地位,它直接关系到市民对公交线路、公交公司及交通运输机构的满意度,可以说在很大程度上公交系统及其站牌是否数据化、智慧化直接关系到一个城市“智慧城市”建设任务的成败。目前,智能公交电子站牌已经引起了人们的关注,已经投入使用的智能公交电子站牌也在一定程度上改变了人们的普遍印象[1]。在对已有电子站牌终端系统软件相关技术与产品进行充分调研的基础上,发现当前电子站牌终端软件存在着功能点不全、系统硬件资源消耗大、只有部分头部企业有研发能力、多数智能电子站牌生产企业不具备软件研发能力、不具备电子站牌终端系统软件功能定制化开发能力等多种问题,如部分电子站牌终端系统软件只实现了公交线路、车辆查询和定位功能[2]。为了能够更好地解决调研过程中发现的电子站牌终端系统软件存在的这些问题,从高质量软件架构的角度出发,采用统一的架构设计、数据存储、接口设计、数据处理等多种软件开发技术,开发了一款智能电子站牌终端系统软件,该软件以模块化开发为切入点,实现了系统功能的定制化与动态装卸,涵盖了实时公交线路播报、多媒体信息展播、公交线路查询、地图导航查询、天气预报、购物导引、室内地图、附近搜索、生活美食、时政新闻等多种功能,不同功能可按需使用,定制化开发。

2终端系统软件的技术选型

对于软件系统而言,技术选型是所有开发工作的基础,同时也是重中之重的一项工作。选用技术的合适与否某种程度上来说可以决定软件系统的稳定运行、市场推广,甚至是软件产品的生死。系统在技术选型时充分考虑了智能电子站牌终端系统软件未来与上下游系统的融合使用、系统自身的稳定性运行等多种因素,力图选用最适合电子站牌终端系统软件的开发语言和开发框架。

2.1系统开发语言

系统使用Java、XML等作为主要开发语言,基于Android7.1平台开发,采用了AndroidStudio作为开发工具,通过良好的模块化、层次化代码设计,提高系统运行效率,减少对硬件资源的消耗。Android是一种基于Linux内核的自由及开放源代码的移动端操作系统,其遵循了开源规范并且对开发者友好,开发者可通过开源许可使用Android系统进行二次开发。正是因为Android的开放性,用户选择也更具自由度[3]。鉴于Android系统的这些优点及其在国内广泛的市场占有率,智能电子站牌终端系统软件选用其作为底层支撑系统。

2.2系统开发框架

终端系统软件基于Android系统进行开发,选用Android系统中的ACTIVITY、SERVICE、VIEW、DATABINDING、REPOSI⁃TORY等作为项目框架层面的主要开发技术,电子站牌终端系统软件的技术层面的架构使用如图1所示的方案。Databinding技术可以实现数据与UI的双向绑定,对An⁃droidApp的开发提供很大灵活性,通过在LayoutXML中提供数据与UI控件的映射关系,在Activity编程中只需要操作数据对象,UI界面就可以自动更新。RemoteDataSource和LocalDataSource存储电子站牌终端系统软件的各项数据,同时以Cache技术作为中介,提高App数据加载的效率,提升用户软件使用满意度。

3系统架构设计

智能电子站牌终端系统软件采用模块化分层理念进行设计,主要包括用户系统层、业务应用层、数据层、基础层[4]。系统架构设计如图2所示。终端系统软件按模块化分层理念进行设计,设计原则与当前业界通用先进标准保持一致,实现从源头保证终端系统软件的先进性。用户系统层主要功能是以可视化形态呈现系统各业务功能,同时实现用户与系统进行人机交互,使得用户可通过在电子站牌终端上进行相应操作获取想要的结果。业务应用层从终端系统软件的业务层面进行功能模块划分,采用模块化设计,主要有多媒体信息展播、公交线路查询、地图导航查询、天气预报、购物导航、室内地图、附近搜索、生活美食、时政新闻、实时线路播报等业务模块,业务模块应用插件化开发思想,实现动态装卸,使得终端系统软件业务功能实现按需使用,满足一定的定制化开发需求。数据层主要是为终端系统软件提供各类业务数据,数据来源主要有内部数据和远程数据两种。内部数据为终端系统软件自身存储系统存储的数据,这里采用统一存储格式设计,将数据存储于Sqlite数据库和Cache;外部数据主要是通过OkHttp以JSON格式封装数据向第三方服务器的Restful接口发送HTTP请求,获取终端系统软件所需数据,如公交实时到站信息等。基础层是为整个终端系统软件提供基础服务的通用层次,主要包括提供封装好的系统所需通用工具组件、统一的数据接口格式、平台适配组件等,这些均为终端系统软件各功能模块所通用,通过基础层实现较高的软件代码复用率。

4系统功能设计与实现

4.1系统功能点设计

电子站牌终端系统软件主要实现了多媒体信息播放、公交线路查询、地图导航查询、天气预报、购物导引、室内地图、附近搜索、生活美食、时政新闻、实时线路播报等功能。终端系统软件涵盖的功能点如图3所示。智能电子站牌终端系统软件各功能点说明:1)多媒体信息播放多媒体信息播放实现多种类型格式的视频播放,主要用于电子站牌运营企业投放广告信息,实现增值营收。此功能可实现从公交多媒体信息系统接收多媒体信息,方便电子站牌系统运营人员及时更新多媒体信息。2)实时线路播报实时线路播报主要实现公交线路到站信息的自动播报功能,能够以可视化形式展示当前电子站牌所处站点,当前线路行驶公交车辆数量及所处位置变化。3)公交线路查询公交线路查询实现以公交线路编号为查询条件的线路查询,查询结果列出往返两个方向的线路信息,主要包括起始站名称、结束站名称和线路名称等,点击某一个方向的线路,可以查询线路详细信息。4)地图导航查询地图导航查询支持以步行、骑行、驾车和公交四种出行方式进行查询,查询结果以先后顺序依次在屏幕中从上到下列出。5)天气预报天气预报可以预测一地短时间内天气变化,和人们生产生活具有密切关系[5]。此功能可以实现实时天气预报和未来3天的天气预报,主要预报信息有天气、温度、湿度、风级等。6)购物导引购物导引主要列出站点周边的商家主营业务信息及商家地址,此功能可以为智能电子站牌运营企业提供增值业务收入。7)室内地图室内地图主要是提供站点周边的一些大型商场等楼宇的内部商家分布,为公交乘客前去消费提供明确的位置指引信息。8)附近搜索附近搜索主要是提供站点周边的互联网搜索功能,为公交乘客下车后搜索周边感兴趣的场所提供便利。9)生活美食生活美食提供了站点周边及所在城市主要美食,以图文并茂的形式进行呈现,在宣传城市的同时也为智能电子站牌运营企业提供一定增值业务收入渠道。10)时政新闻时政新闻栏目主要是提供一些新闻信息,为公交乘客候车期间提供一定的娱乐方式,使候车不再枯燥。

4.2系统界面设计

对于软件界面的设计,使用Activity,设计20余个界面,分别为主界面、公交线路查询相关页面、地图导航相关页面、天气预报页面、购物导引页面、室内地图页面、附近搜索页面、生活美食页面、时政新闻页面等[6-7]。

4.3功能实现

智能电子站牌终端系统软件使用Android中的Activity做页面布局,实现了在同一个App中呈现出多媒体信息、业务功能导航、公交实时线路信息等多种信息,其中多媒体信息在首页最上方呈现,首页中间部位为业务功能导航,首页底部为公交线路实时信息。多媒体信息和公交线路实时信息是通过在终端系统软件中以统一数据接口方式向公交调度中心后台业务系统的Restful接口发送Http请求,获取到实时数据并解析后展示在首页,所以乘客在屏幕中看到的信息都是动态实时变化的。业务功能导航部分为终端系统各业务功能点提供入口导航,此处的业务功能可根据站点实际需要动态调整,并且实现了模块化动态装卸,按需使用。当站点所需业务功能发生变化时只需简单按需部署即可。智能电子站牌终端系统软件首页及部分页面呈现效果如图4、图5、图6、图7所示。其中首页页面使用LinearLayout、ScrollView、ImageButton、ImageView、TextView等布局技术编程实现。

5结论

智能电子站牌终端系统软件基于Android底层系统,采用Java语言,使用分层设计理念,通过业务模块化设计,实现了一个集成式一体化App,可广泛应用于各类智能电子站牌终端设备。通过模块化设计,实现了功能按需使用,与此同时模块化设计使得系统功能内聚性高,模块代码规模小,提高了终端系统整体的定制化开发可行性,分层设计思想的应用使得终端软件系统相较于传统电子站牌系统在兼容性、可维护性和可扩展性方面表现更好,这些都为中小企业在智能公交系统建设竞争力提升方面提供了有力支撑。下一阶段将以此次成果为依据开展在鸿蒙系统上的App研发工作,为智能公交系统国产化做技术储备。

参考文献:

[1]方兰.基于嵌套C/S架构的智能公交电子站牌的研究与设计[D].武汉:武汉工程大学,2013.

[2]刘晓峰,刘智斌.智能公交系统的设计与开发[J].电子技术,2016,45(10):43-44.

[3]李晨.基于Android系统的北斗车载显控终端的设计与实现[J].电子制作,2020(19):51-52,7.

[4]赵建鹏,朱行辉,李国洪.基于Android终端的GIS林业数据采集系统设计[J].测绘与空间地理信息,2020,43(2):30-32,37.

[5]崔雪.基于Android系统的天气预报查询系统设计[J].河南科技,2020,39(29):4-6.

[6]陈昊天,刘雪飞,王硕珩,等.基于人像识别的图片处理App的设计与实现[J].电脑知识与技术,2021,17(5):188-190.

[7]陈三清.康养旅游类手机App研究及设计[J].电脑知识与技术,2019,15(28):64-66.

作者:杨飞雨 王启坤 冯磊 林柏君 何兴 杨兴文 单位:江苏电子信息职业学院