基于Linux平臺的網(wǎng)絡(luò)廣告機的設(shè)計
3.3 服務(wù)器控制中心
服務(wù)器控制中心通過傳遞管理員用戶的控制命令,來控制顯示終端圖片、視頻以及文字媒體的更新和播放狀態(tài)的改變。管理者用戶通過點擊Qt或者Mplayer控制頁面的各種控制按鈕和媒體更新文件操作,觸發(fā)監(jiān)控中心的各種CGI例程,因此監(jiān)控終端的各種控制操作便與相應(yīng)的CGI控制操作例程一一對應(yīng)。CGI例程通過TCP Socket網(wǎng)絡(luò)通信向顯示終端服務(wù)器遞交相應(yīng)的控制命令和相關(guān)控制信息,就可以完成對各種媒體信息的操作控制。Linux系統(tǒng)網(wǎng)絡(luò)套接字編程見參考文獻。
由圖2可知,顯示終端分為Qt和Mplayer模塊。其中,Qt模塊用來播放媒體圖片和字幕信息,Mplayer負責(zé)播放各種視頻文件。對于媒體視頻和圖片文件信息,控制的方式基本上分為兩種:一種是不帶上傳內(nèi)容的單純媒體運行方式的控制操作(如視頻文件的播放暫停、視頻播放調(diào)序等),只需要點擊相關(guān)的控制按鈕即可完成;另一種是基于文件上傳的媒體更新的操作。例如視頻文件、圖片庫的更新等操作。因此,將結(jié)合上述不同的控制方式給出廣告機字幕滾動、純命令控制和文件上傳的關(guān)鍵算法設(shè)計。
Qt更新顯示終端滾動字幕的表單部分如下所示:
用戶通過Qt控制頁面添加更新的文字內(nèi)容,點擊更新字幕按鈕會觸發(fā)改變字幕的CGI例程。qt_change_list.cgi例程將創(chuàng)建從本地到顯示開發(fā)板上的TCP Socket Server端的TCP套接字連接,并將控制命令“更新文字”與文字內(nèi)容一起上傳到TCP Socket Server端服務(wù)器。
廣告機控制命令的控制表單部分設(shè)計如下:
對于單純的控制命令,廣告機終端的設(shè)計比較簡單,對于每一種控制命令均對應(yīng)有不同的CGI例程和命令宏定義,每個例程將對應(yīng)的控制命令通過Socket上傳就可以實現(xiàn)。
上傳文件關(guān)鍵表單部分設(shè)計:
文件上傳將根據(jù)Qt圖片和視頻文件的不同調(diào)用相應(yīng)的上傳例程。這里除了要將圖片或者視頻文件上傳到開發(fā)板顯示終端外,還要向服務(wù)器監(jiān)控中心的Sqlite3數(shù)據(jù)庫中添加相應(yīng)的資源信息和狀態(tài)信息,根據(jù)前面數(shù)據(jù)庫對不同媒體類別的設(shè)計屬性域添加相應(yīng)的相關(guān)信息,以便后續(xù)的插入、排序、刪除和更新操作。其中,使用多線程傳輸模型設(shè)計上傳程序my_scp實現(xiàn)對較大視頻和圖片文件的快速傳輸,關(guān)于多線程編程見參考文獻。上傳文件的部分代碼如下所示:
3.4 監(jiān)控終端
為了提升安全性能,需要設(shè)置用戶密碼功能。管理員通過用戶名和密碼的匹配輸入后,就可以獲得廣告機的控制權(quán)限。根據(jù)廣告機媒體類型的不同,分別設(shè)計了Qt控制頁面、Mplayer控制頁面和文件更新控制頁面。通過控制不同的控制頁面,即可控制廣告機的不同媒體播放操作。
結(jié)語
本項目設(shè)計使用Linux開源系統(tǒng)和軟件工具集,構(gòu)建了基于嵌入式多網(wǎng)絡(luò)節(jié)點、性能優(yōu)越的廣告機系統(tǒng),最終獲得了滿意的效果。本系統(tǒng)的設(shè)計不但涵蓋了Linux系統(tǒng)開發(fā)的軟件和硬件技術(shù),也涵蓋了嵌入式產(chǎn)品設(shè)計的各種綜合素質(zhì)和多項技能,具有一定的實用價值。本文引用地址:http://butianyuan.cn/article/150850.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評論