1、概述
公交站节牌,又称公交车载站点显示信息牌,顾名思义主要功能是依次显示公交车途径的所有站点。传统的站节牌使用贴纸灯箱的形式显示站点名称,功能单一,一旦公交车更换运行线路或者更改了一个站点名,需要更换整张贴纸,操作繁琐且浪费。公交公司迫切需求一种能够替代老式站节牌的产品。
2、方案论证
显示站点名称主要有两种方式,LED点阵屏和液晶屏。由于公交站点名称不固定,有的公交线路站点非常多,如果使用LED点阵屏做,需要很大的一块屏,公交车内无法安装,功耗也很大。所以本人设计一种能够替代传统站节牌的液晶站节牌,液晶屏为长条形,能够正好嵌入原来站节牌安装的地方,液晶屏分成两半,左半边播放视频,右半边显示沿途站点信息。这样既能满足传统站节牌的需求,又能播放公益广告,娱乐信息等。
3、设计方案
主板采用BPI-M64
开发板,通过HDMI与投影仪连接,方便方便观看显示效果。BPI-M64采用的是基于前面几篇搭建完成的ubuntu16.04 mate系统,具体搭建步骤参考前面几篇介绍。
开发软件使用移植好的QT4.7.3,视频播放软件采用phonon多媒体架构。
创建媒体播放器
Phonon::VideoPlayer *player=new Phonon::VideoPlayer(Phonon::VideoCategory,widget);
设置播放窗口位置与大小
player->setGeometry(0,0,480,360);
播放视频文件
player->play(Phonon::MediaSource("/home/pi/***.avi"));
右边部分显示站点信息名称,站点信息名称有可以通过QPainter绘制,也可以直接调用图片。由于时间和篇幅有限,我这里先简易的显示一张站点信息的图片。
QImage *image=new QImage("/home/pi/***.jpg");
QLabel *label=new QLabel(widget);
label->setGeometry(480,0,800,360);
label->setScaledContents(true);
image->scaled(800,360,Qt::IgnoreAspectRa
tio);//让图片适应label的大小。
label->setPixmap(QPixmap::fromImage(*image);
然后循环播放视频,循环播放图片。一个简易的站节牌就完成了。
phonon的后端是mplayer,预先安装好mplayer,设置mplayer的视频输出为vdpau,音频输出为sndhdmi(alsa)。下图为运行效果。由于本人没有HDMI接口的长条形液晶屏,所以拿投影仪做延时,实际的液晶屏是标准屏经过切割得来的,只显示屏幕中1280*360这上半部分的区域,正好可以显示视频与图片的整个区域。
拍照水平有限,外加投影仪并不是很清楚,大概的轮廓应该可以看清楚了,以后有空的话补图。
4、结项
该设计可以实现简化版的液晶站节牌,视频与图片可以通过USB写入相应的文件夹。右边的图片可以通过QPainter自行绘制,站点名称可以通过RS232与车载报站器联动,这是以后可以改进的方向。
至此液晶站节牌项目结束。感谢
电子发烧友网站,感谢比派科技。