基于Linux平臺的網(wǎng)絡(luò )廣告機的設計
3.3 服務(wù)器控制中心
服務(wù)器控制中心通過(guò)傳遞管理員用戶(hù)的控制命令,來(lái)控制顯示終端圖片、視頻以及文字媒體的更新和播放狀態(tài)的改變。管理者用戶(hù)通過(guò)點(diǎn)擊Qt或者M(jìn)player控制頁(yè)面的各種控制按鈕和媒體更新文件操作,觸發(fā)監控中心的各種CGI例程,因此監控終端的各種控制操作便與相應的CGI控制操作例程一一對應。CGI例程通過(guò)TCP Socket網(wǎng)絡(luò )通信向顯示終端服務(wù)器遞交相應的控制命令和相關(guān)控制信息,就可以完成對各種媒體信息的操作控制。Linux系統網(wǎng)絡(luò )套接字編程見(jiàn)參考文獻。
由圖2可知,顯示終端分為Qt和Mplayer模塊。其中,Qt模塊用來(lái)播放媒體圖片和字幕信息,Mplayer負責播放各種視頻文件。對于媒體視頻和圖片文件信息,控制的方式基本上分為兩種:一種是不帶上傳內容的單純媒體運行方式的控制操作(如視頻文件的播放暫停、視頻播放調序等),只需要點(diǎn)擊相關(guān)的控制按鈕即可完成;另一種是基于文件上傳的媒體更新的操作。例如視頻文件、圖片庫的更新等操作。因此,將結合上述不同的控制方式給出廣告機字幕滾動(dòng)、純命令控制和文件上傳的關(guān)鍵算法設計。
Qt更新顯示終端滾動(dòng)字幕的表單部分如下所示:

用戶(hù)通過(guò)Qt控制頁(yè)面添加更新的文字內容,點(diǎn)擊更新字幕按鈕會(huì )觸發(fā)改變字幕的CGI例程。qt_change_list.cgi例程將創(chuàng )建從本地到顯示開(kāi)發(fā)板上的TCP Socket Server端的TCP套接字連接,并將控制命令“更新文字”與文字內容一起上傳到TCP Socket Server端服務(wù)器。
廣告機控制命令的控制表單部分設計如下:

對于單純的控制命令,廣告機終端的設計比較簡(jiǎn)單,對于每一種控制命令均對應有不同的CGI例程和命令宏定義,每個(gè)例程將對應的控制命令通過(guò)Socket上傳就可以實(shí)現。
上傳文件關(guān)鍵表單部分設計:

文件上傳將根據Qt圖片和視頻文件的不同調用相應的上傳例程。這里除了要將圖片或者視頻文件上傳到開(kāi)發(fā)板顯示終端外,還要向服務(wù)器監控中心的Sqlite3數據庫中添加相應的資源信息和狀態(tài)信息,根據前面數據庫對不同媒體類(lèi)別的設計屬性域添加相應的相關(guān)信息,以便后續的插入、排序、刪除和更新操作。其中,使用多線(xiàn)程傳輸模型設計上傳程序my_scp實(shí)現對較大視頻和圖片文件的快速傳輸,關(guān)于多線(xiàn)程編程見(jiàn)參考文獻。上傳文件的部分代碼如下所示:

3.4 監控終端
為了提升安全性能,需要設置用戶(hù)密碼功能。管理員通過(guò)用戶(hù)名和密碼的匹配輸入后,就可以獲得廣告機的控制權限。根據廣告機媒體類(lèi)型的不同,分別設計了Qt控制頁(yè)面、Mplayer控制頁(yè)面和文件更新控制頁(yè)面。通過(guò)控制不同的控制頁(yè)面,即可控制廣告機的不同媒體播放操作。
結語(yǔ)
本項目設計使用Linux開(kāi)源系統和軟件工具集,構建了基于嵌入式多網(wǎng)絡(luò )節點(diǎn)、性能優(yōu)越的廣告機系統,最終獲得了滿(mǎn)意的效果。本系統的設計不但涵蓋了Linux系統開(kāi)發(fā)的軟件和硬件技術(shù),也涵蓋了嵌入式產(chǎn)品設計的各種綜合素質(zhì)和多項技能,具有一定的實(shí)用價(jià)值。本文引用地址:http://dyxdggzs.com/article/150850.htm linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評論