李希閣
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
隨著計算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們的生活方式發(fā)生了變化,只需一臺電腦即可在電腦上看電影和網(wǎng)絡(luò)電視直播。但這種方式存在一定的缺點(diǎn),它無法像傳統(tǒng)的電視一樣使用遙控器進(jìn)行播放控制,在實施換臺或者其他播放控制時需要使用鼠標(biāo)操作。當(dāng)人們使用大顯示器觀看網(wǎng)絡(luò)電視時,一般會離電腦有一定的距離。此時,使用鼠標(biāo)實施播放控制會降低人們的觀看體驗。同樣地,使用電腦聽音樂時大多數(shù)人不會坐在電腦旁,需要人到電腦旁控制音樂的播放。隨著智能手機(jī)技術(shù)的發(fā)展,除了能滿足日常通信外,手機(jī)也可以成為遠(yuǎn)程遙控設(shè)備。文獻(xiàn)[1]研究設(shè)計了一種通過手機(jī)遙控的智能藥盒系統(tǒng),通過WiFi模塊控制智能藥盒的一部分功能。文獻(xiàn)[2]使用ARM9和WiFi技術(shù)實現(xiàn)了手機(jī)對電磁鎖的控制。文獻(xiàn)[3]使用互聯(lián)網(wǎng)技術(shù)和紅外控制技術(shù)實現(xiàn)了手機(jī)程序?qū)﹂_關(guān)的遙控。
基于此,本文研究設(shè)計了基于Flask框架[4-5]的網(wǎng)絡(luò)遙控器,使用HTML語言開發(fā)網(wǎng)絡(luò)遙控器控制面板,使用Flask框架開發(fā)網(wǎng)絡(luò)遙控器控制系統(tǒng),因此通過手機(jī)即可訪問網(wǎng)絡(luò)遙控器控制面板,從而進(jìn)行網(wǎng)絡(luò)電視和音樂的播放控制,提高了人們觀看網(wǎng)絡(luò)電視的體驗和使用電腦聽音樂的便捷性。
網(wǎng)絡(luò)遙控器的設(shè)計架構(gòu)如圖1所示,主要分為兩個部分。第一部分為網(wǎng)絡(luò)遙控器控制面板。它是由HTML語言開發(fā)的網(wǎng)頁,部署于電腦,用于遠(yuǎn)程控制網(wǎng)絡(luò)電視和音樂播放。用戶可以通過手機(jī)點(diǎn)擊鏈接或者掃碼的方式訪問網(wǎng)絡(luò)遙控器控制面板。第二部分是用Flask框架搭建的Web系統(tǒng)[6],包含網(wǎng)絡(luò)遙控器控制器和控制模塊。控制器根據(jù)不同網(wǎng)絡(luò)遙控器控制面板的請求調(diào)用不同的遙控器控制模塊。用戶點(diǎn)擊控制面板上的按鍵后,通過Ajax[7-8]請求到達(dá)網(wǎng)絡(luò)遙控器控制器,后由控制器將控制指令傳輸?shù)骄W(wǎng)絡(luò)遙控器控制系統(tǒng)。網(wǎng)絡(luò)遙控器控制系統(tǒng)的核心是控制模塊。它是任務(wù)的最終執(zhí)行者,包括網(wǎng)絡(luò)電視控制模塊和音樂播放控制模塊。網(wǎng)絡(luò)電視控制模塊負(fù)責(zé)網(wǎng)絡(luò)電視的播放、暫停、換臺及音量控制等操作。音樂播放控制模塊主要負(fù)責(zé)電腦音樂的播放、暫停、曲目切換以及音量控制等操作。
圖1 網(wǎng)絡(luò)遙控器架構(gòu)設(shè)計圖
本文實驗在一臺系統(tǒng)為macOS的筆記本電腦上進(jìn)行。此電腦搭配2核CPU,處理器主頻為2.3 GHz,內(nèi)存為8 GB。實驗硬件環(huán)境配置如表1所示。網(wǎng)絡(luò)遙控器控制面板服務(wù)和網(wǎng)絡(luò)遙控器控制系統(tǒng)均部署于此電腦。通過一部普通智能手機(jī),控制此電腦上的網(wǎng)絡(luò)電視播放和音樂播放。使用Tomcat 8中間件[9-10]部署遙控器控制面板前端服務(wù)。網(wǎng)絡(luò)遙控器控制系統(tǒng)使用Python語言開發(fā),Python版本為3.8,采用的Flask版本為1.1.2。
表1 實驗硬件環(huán)境配置
網(wǎng)絡(luò)遙控器控制面板的設(shè)計與傳統(tǒng)電視的遙控設(shè)計非常相似,如圖2所示,目的是使用戶能夠快速熟悉掌握遙控器控制面板的使用。網(wǎng)絡(luò)電視遙控器控制面板和音樂播放遙控器控制面板是兩個不同的頁面。
圖2(a)為網(wǎng)絡(luò)電視遙控器的控制面板。一個數(shù)字鍵對應(yīng)一個電視臺,點(diǎn)擊數(shù)字鍵即可切換到相應(yīng)電視臺。本實驗搜集了網(wǎng)絡(luò)上24個網(wǎng)絡(luò)電視臺,分別對應(yīng)控制面板的按鍵1~24。其他按鍵為音量控制鍵、暫停鍵及播放鍵。
圖2(b)是音樂播放遙控器控制面板。常用操作按鍵包含音量控制、上一首、下一首、暫停及播放按鍵。網(wǎng)絡(luò)遙控器控制面板采用HTML語言進(jìn)行開發(fā)。
圖2 網(wǎng)絡(luò)遙控器控制面板
開發(fā)完畢后,使用Tomcat中間件將控制面板前端頁面部署到服務(wù)器中供用戶訪問。用戶點(diǎn)擊前端的訪問鏈接即可訪問網(wǎng)絡(luò)遙控器控制面板,也可將訪問鏈接做成二維碼,使用戶掃描二維碼即可訪問網(wǎng)絡(luò)遙控器控制面板。進(jìn)入網(wǎng)絡(luò)遙控器控制面板后,用戶點(diǎn)擊不同的按鍵即可將不同的控制指令通過Ajax傳送到網(wǎng)絡(luò)遙控器控制系統(tǒng)??刂葡到y(tǒng)根據(jù)不同的控制指令做出不同的控制反饋。
網(wǎng)絡(luò)遙控器控制器采用Flask框架開發(fā)。Flask是一個便捷的輕量級Web開發(fā)框架,與其他Web開發(fā)框架相比,具有配置和使用簡單的特點(diǎn)。Flask安裝完成后,在項目里配置完路由信息即可啟動[11]。網(wǎng)絡(luò)遙控器控制器是Flask的接口服務(wù),包含網(wǎng)絡(luò)電視控制接口和音樂播放控制接口,如圖3所示。網(wǎng)絡(luò)電視控制接口負(fù)責(zé)接收網(wǎng)絡(luò)電視遙控器控制面板的指令,并將指令傳送到網(wǎng)絡(luò)電視控制模塊,使網(wǎng)絡(luò)電視控制模塊做出相應(yīng)的反饋;音樂播放控制接口負(fù)責(zé)接收音樂播放遙控器控制面板的指令,并將指令傳送到音樂播放控制模塊,使音樂播放控制模塊做出相應(yīng)的反饋。
網(wǎng)絡(luò)電視控制模塊是網(wǎng)絡(luò)電視播放控制的核心組件,是任務(wù)的實際執(zhí)行者,工作流程如圖4所示。網(wǎng)絡(luò)電視控制模塊具有網(wǎng)絡(luò)電視換臺控制、音量控制、暫停控制及播放控制等功能。其中,網(wǎng)絡(luò)電視換臺控制通過Selenium工具實現(xiàn),音量控制、暫停控制及播放控制通過網(wǎng)絡(luò)電視控制模塊調(diào)用系統(tǒng)的媒體播放控制功能實現(xiàn)。
圖3 網(wǎng)絡(luò)遙控器控制器
圖4 網(wǎng)絡(luò)電視控制模塊工作流程圖
Selenium是一款開源的自動化測試工具,能夠模仿人類行為測試Web應(yīng)用程序,控制瀏覽器自動訪問Web應(yīng)用,達(dá)到自動化測試的目的[12-13]?;诖耍疚膶elenium應(yīng)用到網(wǎng)絡(luò)遙控器控制系統(tǒng),通過訪問不同的網(wǎng)絡(luò)電視臺地址觀看不同的網(wǎng)絡(luò)電視。使用Selenium前,需要在Flask框架搭建的服務(wù)中導(dǎo)入Selenium庫,根據(jù)瀏覽器版本下載對應(yīng)版本的瀏覽器驅(qū)動。使用Selenium加載瀏覽器驅(qū)動即可控制瀏覽器進(jìn)行網(wǎng)絡(luò)電視換臺。網(wǎng)絡(luò)電視控制模塊接收到換臺指令后,根據(jù)指令匹配電視臺,進(jìn)而獲取該電視臺的訪問鏈接。實驗搜集了24個電視臺的訪問鏈接,并與網(wǎng)絡(luò)電視控制面板的24個數(shù)字按鍵一一對應(yīng)。網(wǎng)絡(luò)電視控制模塊會根據(jù)控制面板發(fā)送的指令找到對應(yīng)的電視臺訪問鏈接。使用Selenium控制瀏覽器訪問鏈接即可觀看此電視臺的節(jié)目。
音樂播放控制模塊的工作流程如圖5所示。音樂播放控制模塊接收網(wǎng)絡(luò)遙控器控制器的指令,根據(jù)不同的指令調(diào)用電腦系統(tǒng)的媒體播放控制功能,從而實現(xiàn)音樂播放控制。
圖5 音樂播放控制模塊工作流程圖
針對在網(wǎng)絡(luò)上觀看網(wǎng)絡(luò)電視和使用電腦聽音樂時無法使用遙控器的問題,本文研究設(shè)計了基于Flask框架的網(wǎng)絡(luò)遙控器,使用戶可以通過手機(jī)遠(yuǎn)程控制網(wǎng)絡(luò)電視的播放和電腦音樂的播放,解決了以往用戶必須在電腦旁進(jìn)行操作的問題,提高了人們觀看網(wǎng)絡(luò)電視的觀看體驗和使用電腦聽音樂的操作便捷性。使用該遙控器只需在電腦上安裝程序,使用智能手機(jī)即可完成遠(yuǎn)程控制,不需要投入其他設(shè)備,在方便用戶使用的同時,無附加成本,具有極高的應(yīng)用可行性和實用價值。