李希閣
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
隨著計算機技術和互聯網技術的發展,人們的生活方式發生了變化,只需一臺電腦即可在電腦上看電影和網絡電視直播。但這種方式存在一定的缺點,它無法像傳統的電視一樣使用遙控器進行播放控制,在實施換臺或者其他播放控制時需要使用鼠標操作。當人們使用大顯示器觀看網絡電視時,一般會離電腦有一定的距離。此時,使用鼠標實施播放控制會降低人們的觀看體驗。同樣地,使用電腦聽音樂時大多數人不會坐在電腦旁,需要人到電腦旁控制音樂的播放。隨著智能手機技術的發展,除了能滿足日常通信外,手機也可以成為遠程遙控設備。文獻[1]研究設計了一種通過手機遙控的智能藥盒系統,通過WiFi模塊控制智能藥盒的一部分功能。文獻[2]使用ARM9和WiFi技術實現了手機對電磁鎖的控制。文獻[3]使用互聯網技術和紅外控制技術實現了手機程序對開關的遙控。
基于此,本文研究設計了基于Flask框架[4-5]的網絡遙控器,使用HTML語言開發網絡遙控器控制面板,使用Flask框架開發網絡遙控器控制系統,因此通過手機即可訪問網絡遙控器控制面板,從而進行網絡電視和音樂的播放控制,提高了人們觀看網絡電視的體驗和使用電腦聽音樂的便捷性。
網絡遙控器的設計架構如圖1所示,主要分為兩個部分。第一部分為網絡遙控器控制面板。它是由HTML語言開發的網頁,部署于電腦,用于遠程控制網絡電視和音樂播放。用戶可以通過手機點擊鏈接或者掃碼的方式訪問網絡遙控器控制面板。第二部分是用Flask框架搭建的Web系統[6],包含網絡遙控器控制器和控制模塊??刂破鞲鶕煌W絡遙控器控制面板的請求調用不同的遙控器控制模塊。用戶點擊控制面板上的按鍵后,通過Ajax[7-8]請求到達網絡遙控器控制器,后由控制器將控制指令傳輸到網絡遙控器控制系統。網絡遙控器控制系統的核心是控制模塊。它是任務的最終執行者,包括網絡電視控制模塊和音樂播放控制模塊。網絡電視控制模塊負責網絡電視的播放、暫停、換臺及音量控制等操作。音樂播放控制模塊主要負責電腦音樂的播放、暫停、曲目切換以及音量控制等操作。

圖1 網絡遙控器架構設計圖
本文實驗在一臺系統為macOS的筆記本電腦上進行。此電腦搭配2核CPU,處理器主頻為2.3 GHz,內存為8 GB。實驗硬件環境配置如表1所示。網絡遙控器控制面板服務和網絡遙控器控制系統均部署于此電腦。通過一部普通智能手機,控制此電腦上的網絡電視播放和音樂播放。使用Tomcat 8中間件[9-10]部署遙控器控制面板前端服務。網絡遙控器控制系統使用Python語言開發,Python版本為3.8,采用的Flask版本為1.1.2。

表1 實驗硬件環境配置
網絡遙控器控制面板的設計與傳統電視的遙控設計非常相似,如圖2所示,目的是使用戶能夠快速熟悉掌握遙控器控制面板的使用。網絡電視遙控器控制面板和音樂播放遙控器控制面板是兩個不同的頁面。
圖2(a)為網絡電視遙控器的控制面板。一個數字鍵對應一個電視臺,點擊數字鍵即可切換到相應電視臺。本實驗搜集了網絡上24個網絡電視臺,分別對應控制面板的按鍵1~24。其他按鍵為音量控制鍵、暫停鍵及播放鍵。
圖2(b)是音樂播放遙控器控制面板。常用操作按鍵包含音量控制、上一首、下一首、暫停及播放按鍵。網絡遙控器控制面板采用HTML語言進行開發。


圖2 網絡遙控器控制面板
開發完畢后,使用Tomcat中間件將控制面板前端頁面部署到服務器中供用戶訪問。用戶點擊前端的訪問鏈接即可訪問網絡遙控器控制面板,也可將訪問鏈接做成二維碼,使用戶掃描二維碼即可訪問網絡遙控器控制面板。進入網絡遙控器控制面板后,用戶點擊不同的按鍵即可將不同的控制指令通過Ajax傳送到網絡遙控器控制系統??刂葡到y根據不同的控制指令做出不同的控制反饋。
網絡遙控器控制器采用Flask框架開發。Flask是一個便捷的輕量級Web開發框架,與其他Web開發框架相比,具有配置和使用簡單的特點。Flask安裝完成后,在項目里配置完路由信息即可啟動[11]。網絡遙控器控制器是Flask的接口服務,包含網絡電視控制接口和音樂播放控制接口,如圖3所示。網絡電視控制接口負責接收網絡電視遙控器控制面板的指令,并將指令傳送到網絡電視控制模塊,使網絡電視控制模塊做出相應的反饋;音樂播放控制接口負責接收音樂播放遙控器控制面板的指令,并將指令傳送到音樂播放控制模塊,使音樂播放控制模塊做出相應的反饋。
網絡電視控制模塊是網絡電視播放控制的核心組件,是任務的實際執行者,工作流程如圖4所示。網絡電視控制模塊具有網絡電視換臺控制、音量控制、暫??刂萍安シ趴刂频裙δ?。其中,網絡電視換臺控制通過Selenium工具實現,音量控制、暫停控制及播放控制通過網絡電視控制模塊調用系統的媒體播放控制功能實現。

圖3 網絡遙控器控制器

圖4 網絡電視控制模塊工作流程圖
Selenium是一款開源的自動化測試工具,能夠模仿人類行為測試Web應用程序,控制瀏覽器自動訪問Web應用,達到自動化測試的目的[12-13]?;诖?,本文將Selenium應用到網絡遙控器控制系統,通過訪問不同的網絡電視臺地址觀看不同的網絡電視。使用Selenium前,需要在Flask框架搭建的服務中導入Selenium庫,根據瀏覽器版本下載對應版本的瀏覽器驅動。使用Selenium加載瀏覽器驅動即可控制瀏覽器進行網絡電視換臺。網絡電視控制模塊接收到換臺指令后,根據指令匹配電視臺,進而獲取該電視臺的訪問鏈接。實驗搜集了24個電視臺的訪問鏈接,并與網絡電視控制面板的24個數字按鍵一一對應。網絡電視控制模塊會根據控制面板發送的指令找到對應的電視臺訪問鏈接。使用Selenium控制瀏覽器訪問鏈接即可觀看此電視臺的節目。
音樂播放控制模塊的工作流程如圖5所示。音樂播放控制模塊接收網絡遙控器控制器的指令,根據不同的指令調用電腦系統的媒體播放控制功能,從而實現音樂播放控制。

圖5 音樂播放控制模塊工作流程圖
針對在網絡上觀看網絡電視和使用電腦聽音樂時無法使用遙控器的問題,本文研究設計了基于Flask框架的網絡遙控器,使用戶可以通過手機遠程控制網絡電視的播放和電腦音樂的播放,解決了以往用戶必須在電腦旁進行操作的問題,提高了人們觀看網絡電視的觀看體驗和使用電腦聽音樂的操作便捷性。使用該遙控器只需在電腦上安裝程序,使用智能手機即可完成遠程控制,不需要投入其他設備,在方便用戶使用的同時,無附加成本,具有極高的應用可行性和實用價值。