标题 | 加油机多媒体屏管理系统设计与实现 |
范文 | 胡光元 毕静 摘要:随着物联网技术与人工智能的发展,加油机不再仅仅作为加油支付的工具。该文本着设备即是服务的理念,使加油机作为与客户交互的服务界面还充当着业务信息交流的角色,该文对加油机加油支付管理操作进行了改进,设计的多媒体屏管理系统使司机在加油过程中不仅看到相关加油数据还能分享到来自油站的视频广告通知等服务信息。文中采用前后端分离技术,规划设计了系统前端加油支付、视频图片等信息显示功能,利用后端实现复杂算法和业务功能,采用消息机制实现前后端信息发送,并采用ftp和多线程技术实现播放文件的传送和下载。文中对多媒体屏各个功能模块的设计实现做了一一介绍。 关键词:加油机;多媒体屏;视频广告;消息机制 中图分类号:TP315? ? ? 文献标识码:A 文章编号:1009-3044(2021)13-0197-03 1 背景 目前加油站发布各种信息主要是通过短信、电话通知客户或者需要客户到店咨询各种业务,既给客户需求带来不便也不利于加油站的业务发展和提高企业形象。因此加油站需要设计良好先进的平台来发布各种信息、宣传自己的各种产品和服务。另外加油机在加油过程中通常只在显示屏上实时显示加油的升数、金额和单价等信息,比较单调[1],加油时也没有微信支付功能。多媒体加油机设计与研究除了让加油机加油外,还完善支付功能,还让加油机成为与客户交互的服务系统,承载着提供功能性体验、情感性体验和社会性体验的重要作用。文中提及的多媒体屏是一个小型嵌入式计算机即工业用平板 PC安装在加油机上,用来作为加油机加油操作和数据信息画面显示终端。 2网络拓扑结构 物联网技术和设备智能化的快速发展,为加油站设备改造、现代化管理提供了技术保障,加油机不仅仅完成加油功能,支付方式电子化、设备的动态监控、加油数据及各种相关信息最终要以界面显示方式呈现给需求者,为方便查询数据及监控设备状态,多个加油机和计算机等设备利用物联网和互联网技术组成网络来实现加油站各个业务功能。加油站内各个设备网络拓扑结构如图1所示。 站内前置主机主要负责实时监控多媒体加油机状态,接收、显示和保存加油机的加油数据,彼此相互通讯;油站管理主机对油站业务管理,包括统计、汇总加油数据、IC卡发放、续存等业务;多媒体加油机除了完成加油功能,还可以使用IC卡加油支付、微信支付,在加油机的多媒体屏上除了显示加油数据还可以显示音视频、图片、通知广告等信息;多媒体服务器负责准备多媒体屏需要的文件和通知等信息,多媒体服务器与多媒体屏可以相互发送信息。 3 开发工具 Qt是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。Qt除了用来开发图形界面应用程序、绘制漂亮的界面(包括控件、布局、交互),还包含很多其他功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了[2]。Qt的qml界面编程方式非常灵活,设计出的界面简洁大气又非常绚丽,有很多动画。为了使界面美观、设计灵活方便,本文采用前后端分离技术,使用qml方式设计界面,使用Qt C++ 实现非界面的业务逻辑和复杂运算。 数据库使用SQLite,它是一款轻型的数据库,它包含在一个相对小的C庫中,它的设计目标是嵌入式的,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,处理速度较快[3]。多媒体屏是一个小型嵌入式计算机,硬盘空间较小,需要使用SQLite数据库记录保存播放文件和通知等信息。 4 前端界面设计 当多媒体屏运行时,显示界面示意图如图2所示。 界面区域分为“视频广告区”“信息栏”“支付二维码区”“通知栏”等四个主要区域。视频广告区在加油机空闲情况下处于全屏展示状态,占据整个屏幕,当有加油信息和通知信息显示时,只在默认区域显示;信息栏显示加油机各个状态信息,包括插卡用户信息、正在加油数据信息、加油结束信息、微信支付等信息;通知栏显示通知信息,为单行滚动文字,文字信息来自多媒体服务器传送。二维码区为支付二维码展示区域,此区域为客户选择微信支付后,后台根据支付信息以及订单详情生成的二维码,客户使用微信扫一扫功能扫描该区域进行付款,并在信息栏中显示支付结果。信息栏、通知栏、二维码区这三个功能区不是一直显示在主界面,而是根据功能需要随时显示出来。默认情况下整屏显示视频、图形广告。 使用Qtqml方式来完成界面的设计,图2的布局可以用Rectangle控件实现, 通过Rectangle控件可设置每个区域大小、边框颜色、背景颜色等;使用MediaPlayer控件实现音频视频播放;使用Image控件设置和显示图像,利用Image控件属性可设置图片来源、图片填充样式,设置动态显示属性来平移或旋转图片等,利用PropertyAnimation 可实现图片动画功能;使用可视化Text显示文本内容,可设置字体大小、宽度、高度、颜色等属性,至于实现文本动画状态,可利用NumberAnimation控件实现文本从下往上滚动,通过不断改变坐标Y值;使用Timer控件实现定时或延时功能,如设置图片停留时长或文本显示时长等。前端界面运行显示流程框架如图3所示。 前端界面程序除了规划、设计界面显示功能外,还利用消息机制不断接收后端程序发送来的信息,根据接收信息的类别,信息数据显示在画面的不同区域。 5 后端程序实现 系统在设计时采用前后端分离技术,前端只负责渲染界面、显示数据,后端执行复杂算法和业务需求,并提供和保存各种数据,这样便于系统维护和提升系统性能。在显示界面设计好后,就要使用Qt C++设计后端程序,包括使用udp协议与下位机通讯、接收多媒体服务器传送的通知和文件列表信息、使用多线程下载文件等。后端程序整个流程框架如图4所示。 5.1 多媒体屏与下位机通讯 udp是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,udp传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,udp把每个消息段放在队列中,应用程序每次从队列中读一个消息段[4]。一台服务机可同时向多个客户机传输相同的消息,也即是提供广播和多播的功能。本系统有多个多媒体屏安装在不同的加油机上,伺机等待着接收和显示数据,在接收下位机的加油数据同时接收多媒体服务器的播放文件和通知等信息,综合考虑选择udp通讯方式更加有效。多媒体屏与下位机通讯协议如表1所示。 表1中XX表示机号,IDLE表示空闲,WORK表示正在加油,FINISH表示加油结束,NEEDPAY表示需要微信支付,PAYING表示正在等待支付,SUCCESS表示支付成功,FAIL表示支付失败。 1)数据字段信息描述:ACCOUNT加油账号,CARDNO加油卡号,REMAIN剩余余值,GRADE用户积分,RMTYPE余值类型,VOLUME加油量,PRICE单价,MONEY加油金额,PAYMONEY实付金额,ORDERNO订单号(腾讯微支付服务产生),STATIONORDER站内订单号,ORDERPATH支付路径用于产生二维码的数据信息,PAYCHANNEL支付渠道,00微信扫码支付 01微信刷卡支付。 2)命令字描述:STATUS表示状态指令字,QUERY表示查询状态。 5.2 多媒体屏与多媒体服务器通讯 多媒体服务器主要负责准备要在多媒体屏播放显示的音视频、广告、图片、通知等各个信息,多媒体服务器与多个多媒体屏之间采用ftp协议完成文件的传输,需要把多媒体服务器配置成ftp服务器[5],新建域名、建立登录的用户信息、访问的文件目录及访问权限等。本文在设计时充分考虑系统性能,避免多媒体屏实时访问多媒体服务器,只有当播放的文件列表有更新时,多媒体服务器先采用udp协议把新的文件信息发给多個多媒体屏,多个多媒体屏收到信息后才开始连接访问多媒体服务器按收到的信息下载文件。考虑下载的文件会比较大,下载时采用多线程技术完成多个文件下载,每个多媒体屏下载的文件统一保存在本地目录上,每个下载的文件详细信息同时也记录在数据库中,播放显示时根据数据库中保存的记录读取各个已下载的文件。 6结束语 智慧加油站是加油站企业的发展方向。“设备即是服务”的加油机设计理念将贯穿于现代化加油机的外观设计、软件流程设计、硬件选型设计过程中[6]。多媒体加油机的出现把加油机当成服务系统给消费者带来了全新的体验,使消费者在加油过程中就能即时获取油站各种业务信息,即方便了消费者,又提升了油站的服务水平。 参考文献: [1] 曹智军,彭黎迎,张鹏.多媒体自助加油机的设计[J].水利电力机械,2006(6):36-38. [2] 朱晨冰,李建英.Qt5.12实战[M].北京:清华大学出版社,2020. [3] liuhe688.SQLite数据库简介[EB/OL].(2011-08-24)[2021-01-25]. [4] 陈香凝,王烨阳,陈婷婷.Windows网络与通信程序设计[M].3版.北京:人民邮电出版社,2017. [5] 温晓军,王小磊.Windows Server 2012 网络服务器配置与管理[M].北京:人民邮电出版社,2020. [6] 周俊峰,张材,张亮.新一代服务型多媒体加油机的技术及应用[J].中国计量,2020(2):78-80. 【通联编辑:谢媛媛】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。