基于Linux平台的网络广告机的设计
引言
网络广告机俗称digital signage system,是在网络信息化飞速发展的时代背景下产生的一种新型网络多媒体信息发布系统。基于这种系统,用户可以采用多种方式于公共显示终端上发布公共信息内容。目前,数字化、网络化、信息化的多媒体网络广告机成为传媒市场的一大亮点,然而单机版的广告机以及单一的媒体发布形式已经难以满足日益增长的市场需求,国内外正在积极投入基于多种媒体形式和多功能交互型网络广告机的研究。本文利用Linux嵌入式系统设计的优越性能,使用广大Linux系统支持的开源软件和工具集,构建了成本低、功能健全和网络分布灵活的网络媒体广告机系统。
1 系统概述
如图1所示,整个系统大体分为广告机监控终端、服务器控制中心、广告机显示终端3个部分。监控终端通过Web浏览器控制页面接收管理员输入的控制命令,经过网络路由向服务器控制中心提交表单。服务器控制中心根据监控终端提交的不同表单类别调用对应的CGI例程来启动相应的Socket服务进程,建立与开发板Socket监听服务进程之间的网络通信,同时传递对应的控制命令和信息。广告机显示终端解析相应的控制命令和信息,来控制显示终端设备上的媒体信息播放形式。
1.1 硬件环境
广告机监控终端和服务器控制中心的设备为普通PC机。广告机显示终端采用的是芯胜嵌入式VT8430开发板。该开发板的处理器是芯晟科技推出的数字音视频多标准多媒体处理芯片CSM1200。该芯片采用ARM9内核,支持MPEG-2、H.264、AVS的高清和标清解码/输出,视频输出支持PAL/NTSC/480p/576p/720p/1080i。
同时,CSM1200是一个有着丰富的外围设备和强大媒体能力的嵌入式平台SoC,可以灵活地选择多种LCD或者其他显示设备,作为广告机信息发布节点的媒体播放设备。
1.2 软件环境
监控终端和服务器控制中心的采用Linux系统平台。监控终端只需能够提供正常的Web页面浏览功能便可以借助浏览器实现信息的交互。服务器控制中心和显示终端是多媒体信息发布的关键的部分,需要配置相关的环境如下:
①构建CGI模块。CGI用来设计基于Web浏览器的B/S(Browser/Serrer)系统架构,可以在无客户端(client)的情况下,广泛地使用Web浏览器提供的按钮、输入框、字体和颜色等界面元素。通过不同平台浏览器监控终端递交的表单就可以控制信息的交互。在官网下载源码包li-bcgi-1.0.tar.gz后,解压、编译和安装即可。
②创建和配置httpd服务。官网下载httpd-2.2.4.tar.gz,解压、配置、编译和安装后,设置相应CGI程序以及html服务路径和目录,以提供Web浏览器监控端不同的控制页面目录和CGI例程集存储目录。
③配置数据库。安装Sqlite3数据库来提供对于各种媒体信息的查询、插入和删除等控制操作。SQLite是存储在单一磁盘文件中的一个完整的数据系统,尤其适合于嵌入式系统设计。在Ubuntu10.04服务器系统平台上,使用aptitude安装libsqlite3-0、libsqlite3-dev、libs-qlite3和libsqlite3-doc开源软件包即可。
④定制显示终端Linux系统。显示系统采用基于ARM9的CSM1200处理芯片,因此使用arm-9tdmi-linux-gun交叉编译工具,基于Linux2.6.2 7内核源码包定制针对显示开发板环境平台的Linux操作系统,详见参考文献。编译好内核之后进行u-boot的烧写、根文件系统的制作,并设置相应的启动方式来加载制作的Linux内核。详细的步骤见参考文献。
⑤搭建显示终端Qt环境。显示终端通过Qt图形界面播放各种媒体信息,首先获取Qt开源软件包qtopia-core-opensource-src-4.2.2.tar. gz,解压后设置arm-9tdmi-linux-gun为编译器环境,编译安装Qt软件包后,拷贝所需资源到开发板文件系统。
上述环境搭建的大部分内容都可以从相应的官网获取开源源码包和详细的配置安装信息。
2 系统功能模块设计
系统功能模块原理图如图2所示。监控终端由Qt控制页面、Mplayer控制页面和文件更新控制页面组成。在不同的监控控制页面触发相应的控制操作,将通过Web功能访问服务器控制中心并向服务器递交不同的表单。控制中心主体部分由服务器Web httpd站点、CGI控制模块、数据库Sqlite3和TCP Socket Client端组成。根据监控终端递交的不同的表单,相应的CGI控制程序将执行,CGI程序进行的相应的录入、删除和更新Sqlite3数据库操作,同时调用并开启对应的Socket Client进程,将对应的控制命令和数据库信息通过网络Socket递交到显示终端TCP Socket Server监听服务器。显示终端的TCPSocket Server监听接收TCP Client端传来的控制命令,通过解析控制命令的类别,将空控制命令和相关的信息写入到Qt本地或者Mplayer本地套接字服务器,并存储在本地Linux文件系统中。Mplayer播放器和Qt播放程序读取文件系统中各自本地套接字的控制信息,调用相应的音视频驱动程序来控制音视频文件在Qt界面和Mplayer端的显示和播放。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 嵌入式系统中文输入法的设计(03-02)
- 基于MPC755的嵌入式计算机系统设计(05-10)
- WinCE下光电编码器的驱动程序设计(04-12)
- 为什么嵌入式开发人员要使用FPGA(05-13)
- VxWorks几种常用的延时方法介绍(05-16)