多媒体技术及其应用
本栏目责任编辑:唐一东
Computer Knowledge and Technology 电脑知识与技术
第17卷第13期(2021年5月)
加油机多媒体屏管理系统设计与实现
胡光元,毕静
(沈阳航空航天大学,辽宁沈阳110034)
摘要:随着物联网技术与人工智能的发展,加油机不再仅仅作为加油支付的工具。该文本着设备即是服务的理念,使加油
机作为与客户交互的服务界面还充当着业务信息交流的角,该文对加油机加油支付管理操作进行了改进,设计的多媒体屏管理系统使司机在加油过程中不仅看到相关加油数据还能分享到来自油站的视频广告通知等服务信息。文中采用前后端分离技术,规划设计了系统前端加油支付、视频图片等信息显示功能,
利用后端实现复杂算法和业务功能,采用消息机制实现前后端信息发送,并采用ftp 和多线程技术实现播放文件的传送和下载。文中对多媒体屏各个功能模块的设计实现做了一一介绍。
关键词:加油机;多媒体屏;视频广告;消息机制中图分类号:TP315
文献标识码:A
文章编号:1009-3044(2021)13-0197-03
数据可视化大屏设计开放科学(资源服务)标识码(OSID ):
1背景
目前加油站发布各种信息主要是通过短信、电话通知客户或者需要客户到店咨询各种业务,既给客户需求带来不便也不利于加油站的业务发展和提高企业形象。因此加油站需要设计良好先进的平台来发布各种信息、宣传自己的各种产品和服务。另外加油机在加油过程中通常只在显示屏上实时显示加油的升数、金额和单价等信息,比较单调[1],加油时也没有支付功能。多媒体加油机设计与研究除了让加油机加油外,还完善支付功能,还让加油机成为与客户交互的服务系统,承载着提供功能性体验、情感性体验和社会性体验的重要作用。文中提及的多媒体屏是一个小型嵌入式计算机即工业用平板PC 安装在加油机上,用来作为加油机加油操作和数据信息画面显示终端。
2网络拓扑结构
物联网技术和设备智能化的快速发展,为加油站设备改造、现代化管理提供了技术保障,加油机不仅仅完成加油功能,支付方式电子化、设备的动态监控、加油数据及各种相关信息最终要以界面显示方式呈现给需求者,为方便查询数据及监控设备状态,多个加油机和计算机等设备利用物联网和互联网技术组成网络来实现加油站各个业务功能。加油站内各个设备网络拓扑结构如图1所示。
站内前置主机主要负责实时监控多媒体加油机状态,接收、显示和保存加油机的加油数据,彼此相互通讯;油站管理主机对油站业务管理,包括统计、汇总加油数据、IC 卡发放、续存等业务;多媒体加油机除了完成加油功能,还可以使用IC 卡加油支付、支付,在加油机的多媒体屏上除了显示加油数据还可以显示音视频、图片、通知广告等信息;多媒体服务器负责准备多媒体屏需要的文件和通知等信息,多媒体服务器与多媒
体屏可以相互发送信息。
WIFI
多媒体服务器
打印机
交换机
交换机
站内前置主机
因特网防火墙
路由器,带WIFI功能
油站管理主机
多媒体加油机
图1加油站内设备网络拓扑结构
3开发工具
Qt 是一个跨平台C++图形用户界面应用程序开发框架。
它既可以开发GUI 程序,也可用于开发非GUI 程序。Qt 除了用来开发图形界面应用程序、绘制漂亮的界
面(包括控件、布局、交互),还包含很多其他功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些Qt 都已经内置了[2]。Qt 的qml 界面编程方式非常灵活,设计出的界面简洁大气又非常绚丽,有很多动画。为了使界面美观、设计灵活方便,本文采用前后端分离技术,使用qml 方式设计界面,使用Qt C++实现非界面的业务逻辑和复杂运算。
数据库使用SQLite ,它是一款轻型的数据库,它包含在一个相对小的C 库中,它的设计目标是嵌入式的,占用资源非常
收稿日期:2021-01-30
作者简介:胡光元(1975—),女,辽宁沈阳人,工程师,硕士,研究方向为计算机应用;毕静(1981—),女,辽宁沈阳人,讲师,硕士,研
究方向为图像处理。
197
本栏目责任编辑:唐一东
多媒体技术及其应用
Computer Knowledge and Technology 电脑知识与技术第17卷第13期(2021年5月)
的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持Windows/Linux/Unix 等主流的操作系统,同时能够跟
很多程序语言相结合,处理速度较快[3]
。多媒体屏是一个小型嵌入式计算机,硬盘空间较小,需要使用SQLite 数据库记录保存播放文件和通知等信息。
4前端界面设计
当多媒体屏运行时,显示界面示意图如图2所示。
车号:加油量:金额:单价:实收:
卡类别:五一酬宾,充值1000,赠送200
图2前端界面示意图
界面区域分为“视频广告区”“信息栏”“支付二维码区”“通知栏”等四个主要区域。视频广告区在加油机空闲
情况下处于全屏展示状态,占据整个屏幕,当有加油信息和通知信息显示时,只在默认区域显示;信息栏显示加油机各个状态信息,包括插卡用户信息、正在加油数据信息、加油结束信息、支付等信息;通知栏显示通知信息,为单行滚动文字,文字信息来自多媒体服务器传送。二维码区为支付二维码展示区域,此区域为客户选择支付后,后台根据支付信息以及订单详情生成的二维码,客户使用扫一扫功能扫描该区域进行付款,并在信息栏中显示支付结果。信息栏、通知栏、二维码区这三个功能区不是一直显示在主界面,而是根据功能需要随时显示出来。默认情况下整屏显示视频、图形广告。
图3前端界面运行流程框架
使用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 表示需要支付,PAY⁃ING 表示正在等待支付,SUCCESS 表示支付成功,FAIL 表示支付失败。
1)数据字段信息描述:ACCOUNT 加油账号,CARDNO 加油卡号,REMAIN 剩余余值,GRADE 用户积分,RMTYPE 余值类型,VOLUME 加油量,PRICE 单价,MONEY 加油金额,PAY⁃MONEY 实付金
额,ORDERNO 订单号(腾讯微支付服务产生),STATIONORDER 站内订单号,ORDERPATH 支付路径用于产生二维码的数据信息,PAYCHANNEL 支付渠道,00扫码支付01刷卡支付。
2)命令字描述:STATUS 表示状态指令字,QUERY 表示查询状态。
5.2多媒体屏与多媒体服务器通讯
多媒体服务器主要负责准备要在多媒体屏播放显示的音视频、广告、图片、通知等各个信息,多媒体服务器与多个多媒体屏之间采用ftp 协议完成文件的传输,需要把多媒体服务器配置成ftp 服务器[5],新建域名、建立登录的用户信息、访问的文件目录及访问权限等。本文在设计时充分考虑系统性能,避免多媒体屏实时访问多媒体服务器,只有当播放的文件列表有更
198
多媒体技术及其应用
本栏目责任编辑:唐一东Computer Knowledge and Technology 电脑知识与技术
第17卷第13期(2021年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]陈香凝,王烨阳,陈婷婷.Win⁃dows 网络与通信程序设计[M].3版.北京:人民邮电出版社,2017.
[5]温晓军,王小磊.Windows Server 2012网络服务器配置与管理[M].北京:人民邮电出版社,2020.
[6]周俊峰,张材,张亮.新一代服务型多媒体加油机的技术及应用[J].中国计量,2020(2):78-80.
【通联编辑:谢媛媛】
方向à下位机
à多媒体屏à多媒体屏à多媒体屏à多媒体屏
à多媒体屏à多媒体屏
协议头{{
{
{
{{
命令/状态QUERY;
STATUS=IDLE/WORK;
STATUS=CARD;
STATUS=FINISH;
STATUS=NEEDPAY;
STATUS=PAYIING;SUCCESS/FAIL;
数据
OILADDERNO=XX OILADDERNO=XX OILADDERNO=XX;AC⁃COUNT=CCCCCC;
CARDNO=NNNNNN;;
GRADE=nnnnnnn;RMTYPE=M/O OILADDERNO=XX;
ACCOUNT=CCCCCC;CARDNO=NNNNNN;
;GRADE=nnnnnnn;RMTYPE=M/O;VOLUME =;;;
OILADDERNO=XX;
ACCOUNT=CCCCCC;PAYCHANNEL=NN ;CARDNO=NNNNNN;;
GRADE=nnnnnnn;RMTYPE=M/O;VOLUME =;;
;
;ORDERNO=sssssssss;
STATIONORDER=ssssss ORDERPATH=ssssssss;OILADDERNO=XX;
ACCOUNT=CCCCCC;OILADDERNO=XX;ACCOUNT=CCCCCC;协议尾}
}}
}
}}
备注
多媒体屏查询加油机状态
空闲/加油时返此状态
插卡时返此状态RMTYPE 表示余额类型
为“钱”时表示余额为金额,为“油”时卡内存储油量无需支付加油结束时返回
状态
支付加油结束时返回
状态
图4后端程序流程框架表1多媒体屏与下位机通讯协议
199
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论