苗靜,楊帆,潘國峰
?
嵌入式智能音樂播放系統的設計與實現
苗靜,楊帆,潘國峰
(河北工業大學電子信息工程學院,天津300401)
針對目前音樂播放系統的空間和時間受限問題,設計并實現了一種基于移動端的智能音樂播放系統。該系統由移動端軟件APP和服務端兩部分構成,服務端包括路由器、智能網絡機頂盒和音響設備,具備定時播放和移動端實時控制播放的功能。該系統是采用基于STUN(Simple Traversal of User Datagram Protocol over NATs)的網絡地址轉換(Network Address Translation,NAT)穿透方式的遠程控制以及家庭電視網絡機頂盒來實現的。它不僅可以實現家庭音響的定時播放,還能通過移動端來遠程控制音樂的播放。此外,可以實現歌曲的遠程更新和歌曲播放時間的隨意控制及更改。實驗結果表明,該系統效果良好,具有廣闊的應用前景及商業價值,可應用于家庭、商場、學校等有特定需求的環境。文章以家庭音樂播放系統為例進行設計說明。
智能家居;音樂播放系統;網絡機頂盒;協議
21世紀隨著智能化的發展和普及,智能家居[1]已成為當今互聯網研究的熱點,也是未來互聯網發展的趨勢。智能家居包括多個方面:智能照明、數字家電、智能裝修和智能音樂。隨著人們生活水平的不斷提高,人們不僅僅滿足于在公共場所聆聽美妙的音樂,而且將音樂從日常生活的點綴變成了生活的必須。
目前廠商著重追求音質,但并未對整體的家庭音樂播放系統給出優越的設計方案,忽略了對音響設備網絡功能的開發,使用戶只能面對面地操作控制音響設備,體驗受到極大限制。
因此利用互聯網實現家庭音樂播放系統的智能化和便捷化管理及應用,是當前智能家庭音樂播放系統[2-4]發展的重點。
針對上述問題,設計了一種基于Android移動端的智能音樂播放系統。本文是在家庭網絡機頂盒[5-6]的基礎上,利用網絡和移動設備構建個性化的家庭音樂播放系統。用戶可根據自身需求設計音樂播放系統,實現歌曲的定時播放、遠程更新、實時控制等功能。該系統結構簡單、操作方便、性能優越。
嵌入式智能音樂播放系統的設計思想是利用家庭網絡機頂盒和音響設備構建家庭音樂播放系統,通過移動端軟件APP來實現系統的管理和歌曲的遠程更新,家電連接示意圖如圖1所示。該系統分為兩部分,第一部分包括路由器、網絡機頂盒和音響設備;第二部分包括移動端軟件APP。移動端軟件APP和服務器通過網絡進行通信。
本系統采用NAT(Network Address Translation)穿透技術及STUN(Simple Traversal of UDP over NATs)協議[7]進行傳輸控制協議(Transmission Control Protocol,TCP)打洞技術[8-9],實現移動端和服務器的遠程連接。對華為海思Hi 3716MV400 Android機頂盒進行二次開發并作為服務端來構建智能音樂播放系統。移動端采用基于TCP協議的FTP協議實現歌曲庫的遠程更新,確保了文件傳輸的安全性和可靠性。
本文采用SQ Lite數據庫,它是一個開源免費、輕型、跨平臺的數據庫,是一個遵守ACID (AtomicityConsistencyIsolationDurability)的關系型數據庫管理系統。SQ Lite數據庫因其獨立性、速度快、零配置、元處理、開放性、占用資源少等優點而普遍應用于小型服務器中。SQ Lite數據庫支持多種主流的操作系統,同時支持多種語言的編程接口,可以靈活地為用戶提供服務。
音樂播放系統的功能包括:(1) 網絡連接——實現移動端和服務器的遠程連接;(2) 播放——實現歌曲的播放、停止、暫停、切換等功能;(3) 更新——實現服務器數據的庫更新;(4) 控制——實現歌曲播放時長、次數等設置。功能模塊如圖2所示。
本系統硬件部分采用江蘇銀河電子股份有限公司的HDC6910 51型號機頂盒。該機頂盒采用的是Android系統,內置Hi3716M主芯片。該芯片采用ARM公司的CortexA9架構的處理器,內置NEON,強大的多通道高保真音頻處理,增強了用戶的體驗,集成高性能的加速引擎使得用戶在使用時能體驗到更加流暢的運行界面,內置豐富的外圍接口功能,能夠提供靈活的連接方案,為了滿足多媒體播放的要求,提供音頻輸入輸出接口。
音頻編碼器采用 PCM 1808,是一款高性能、低成本、單芯片、立體聲模數轉換器,支持單端模擬電壓輸入。PCM 1808采用 delta-sigma調制器以64倍過采樣,并包括一個數字抽取濾波器和高通濾波器,可以消除輸入信號的直流成分。智能音量控制可實現不同頻道間音量自動均衡,實現操作的智能化和人工化。主芯片與外圍功能的聯接示意圖如圖3所示。圖4所示為機頂盒內底板上主芯片及外圍硬件示意圖。
軟件系統由三部分組成:(1) 遠程連接;(2) 服務端;(3) 移動端。
3.1 遠程連接
服務器和移動端分別向阿里云服務器發送連接請求,獲取阿里云服務器服務端和移動端的外網IP地址。
移動端為A,家庭網絡機頂盒為B,A向STUN服務器表明要與B連接的意圖,STUN服務器把A的連接意圖告訴B,并且將A的地址告訴B。B向A發起TCP連接,這個連接被A的NAT丟棄,此時B處路由器記錄了A的外網IP地址,以后A發過來的數據就能很好地通過B的NAT,同時B對本地地址端口進行監聽,完成第一次打洞操作。
STUN服務器把B的地址告訴A,通知A向B發起TCP連接,完成第二次打洞。由于B的NAT已經記錄了A的外網IP地址,所以A可以穿過防火墻與B建立TCP連接。TCP穿透NAT流程圖如圖5所示。
3.2 服務端
服務端由數據庫操作模塊、用戶數據包協議(User Datagram Protocol,UDP)指令接受模塊、命令解析模塊三部分組成。
(1) 數據庫操作模塊:獲取數據庫時間和當前時間并進行比較,根據判斷獲取歌曲路徑并進行歌曲播放。
(2) UDP指令接受模塊:建立UDP Socket,設置服務端的IP地址及Port,對端口進行復用并綁定自身的IP地址及Port,開啟監聽模式。
(3) 命令解析模塊:把接受到的命令數據分為兩個部分,第一部分為命令標志位,第二部分用于存命令參數。判斷第一部分內容是否為switch,若“是”則根據指令進行相應的操作,若“不是”則返回到監聽模式,等待接受指令。程序整體流程如圖6所示。
3.3 移動端
移動端軟件APP默認顯示當前歌曲播放列表,屏幕左劃出現菜單欄如圖7所示,包括網絡連接、歌曲更新、定時配置三部分。
3.3.1 菜單
(1) 網絡連接的功能是利用基于STUN協議的TCP穿透技術,實現外網訪問內網,從而實現移動端與家庭網絡機頂盒的互聯互通。
(2) 歌曲更新采用的是文件傳輸協議(File Transfer Protocol,FTP)[10]實現歌曲文件上傳,FTP是使用最為普遍的網絡協議之一,由最早的簡單文件傳輸協議(Trivial File Transfer Protocol,TFTP)發展而來。經過不斷的修正與完善,已成為網絡間文件傳輸的重要協議。
FTP是基于TCP協議的服務器和客戶端間的文件傳輸協議,包括控制連接和數據連接。控制連接用于傳輸控制,數據連接用于數據傳輸。服務器啟動后,會監聽端口21,當監聽到客戶端連接請求時,客戶端與服務器在默認的端口21建立一個控制連接,用來傳送客戶端的命令和服務器的應答,該連接一直保持到客戶端與服務器的通信結束為止。當客戶端發出數據傳輸命令時,服務器會主動與客戶端建立數據連接,并進行數據交換。
(3) 定時配置是用來設置歌曲定時播放的時間以及需要播放的歌曲。通過更新服務器數據庫表list的內容實現歌曲定時播放的設置。
3.3.2 歌曲播放
歌曲播放activity如圖8所示,屏幕底部顯示當前播放歌曲,可以實現歌曲的暫停、播放及下一曲功能。屏幕中間顯示歌曲列表,通過訪問數據庫的music_list表獲取歌曲目錄,并通過activity組件來顯示歌曲列表,可通過手動劃動選擇要播放的歌曲,實現歌曲切換。當用戶選中要播放歌曲時,activity發送指令“switch play×××. mp3”給網絡機頂盒,網絡機頂盒接受到指令后播放選定歌曲。
4.1 實驗結果
該嵌入式智能音樂播放系統經試用具有良好的用戶體驗和穩定的性能。以下是對歌曲播放和遠程更新的測試結果:
(1) 歌曲播放,獲取表music_list表和表list,如圖9所示。
(2) 遠程更新,添加歌曲功能,如圖10所示。
4.2 實驗分析
本系統分別從內存占用、傳輸可靠性、傳輸實時性這三個方面對智能音樂播放系統的性能進行測試。
4.2.1 內存占用
該測試結果基于5.0 in分辨率為1 280×720,像素密度為294 PPI的手機設備。本系統運行一段時間,就對內存占用狀況進行分析并與常見的音樂播放器的內存占用狀況進行對比,實驗測試結果如表1所示(數據單位為MB)。
表1中的第二列表示在音樂播放過程中占用的內存最大值,第三列表示播放過程中占用的內存最小值,第四列表示播放過程中出現頻率最高的穩定占用量,第五列表示播放過程中占用內存的總和。
通過表1數據可以看出,在內存占用指標上,本文提出的音樂播放器內存穩定占用量最小,意味著運行速度最快,系統最穩定。經過實驗驗證,利用本文提出的嵌入式智能音樂播放系統更加穩定、便捷、高效。

表1 內存占用(MB)
4.2.2 傳輸可靠性
FTP建立在傳輸層TCP協議之上,TCP是面向連接的協議,負責保證數據的傳輸。TCP采用校驗、確認接收和超時重傳等一系列措施提供可靠的傳輸。
本實驗通過移動端向服務器上傳不同大小的數據包,分析網絡丟包率[11]。表2記錄了在傳輸過程中截取10次的丟包情況。通過表2的數據可知采用FTP協議進行文件傳輸安全可靠。
4.2.3 傳輸實時性
傳輸實時性是指數據的發送端與接收端的同步性。本實驗是通過對本系統的遠程無線網絡和4G移動網絡下的網絡時延來測試數據傳輸實時性。

表2 丟包率
本實驗記錄了40次抓包的情況,如圖11所示,藍線為本系統遠程無線網絡下的相對時延差值,紅線為4G移動網絡下的相對時延差值。遠程無線網絡下的相對時延差值最大值為2.159 ms,最小值為-1.825 ms,平均值為0.234 ms,而4G移動網絡下相對時延差值最大值為24.375 ms,最小值為-10.289 ms,平均值為5.392 ms。
時延差值的增大導致聲音的質量大幅度降低,由圖可見遠程無線網絡比4G網絡延時小,數據傳輸的實時性更高一些,為歌曲播放提供了良好的用戶體驗。
本文針對智能生活中的智能音樂系統提出一種設計方案。通過移動端來實現對家庭、商場、學校等特定場所的音樂播放系統的管理和維護,以解決傳統方式上的時間和空間限制等問題,并給出了完整的解決方案。
本文設計了嵌入式智能音樂播放系統,包括網絡連接、歌曲播放、遠程更新三部分。該系統在現有一般家庭的多媒體資源的基礎上,借助手機、平板、手提電腦等移動設備普及的優勢,實現了音樂播放系統的移動端管理及維護。因此,嵌入式智能音樂播放系統具有很好的發展前景。
[1] 朱敏玲. 智能家居發展現狀及未來淺析[J]. 電視技術, 2015, 39(4): 82-85.ZHU Minling. State of art and trend of smart home in china[J]. Video Engineering, 2015, 39(4): 82-85.
[2] 莫太平, 胡俊波, 趙佩斯. 基于Android的智能家居系統的設計與實現[J]. 自動化與儀表, 2015, 30(1): 33-36.MO Taiping, HU Junbo, ZHAO Peisi. Remote control system based on Android intelligent terminal[J]. Automation & Instrumentation, 2015, 30(1): 33-36.
[3] 江燕良. 基于Android智能終端的遠程控制系統[J]. 電子技術應用, 2012, 38(8): 129-132.JIANG Yanliang. Remote control system based on Android intelligent terminal[J]. Application of Electronic Technique, 2012, 38(8): 129-132.
[4] Song M, Sun J, Fu X, et al. Design and implementation of media player based on android[C]//International Conference on Wireless Communications NETWORKING and Mobile Computing. IEEE, 2010: 1-4.
[5] 高志寅, 高志平. 雙模智能機頂盒的關鍵技術研究[J]. 電視技術, 2012, 36(22): 27-28.GAO Zhiyin, GAO Zhiping. Key technologies of dual mode Android STB development[J]. Video Engineering, 2012, 36(22): 27-28.
[6] 毛澤杰, 吳蔚華. Android智能機頂盒的安全分析與研究[J]. 電視技術, 2016, 40(3): 79-82.MAO Zejie, WU Weihua. Security analysis and research of Android smart set-top box[J]. Video Engineering, 2016, 40(3): 79-82.
[7] 康爭光, 龍昭華. SIP UA與STUN CLIENT互通的新方案[J]. 計算機工程與設計, 2011, 32(5): 1535-1538.KANG Zhengguang, LONG Zhaohua. Scheme to mutual- communication between SIP UA and STUN CLIENT[J]. Computer Engineering & Design, 2011, 32(5): 1535-1538.
[8] 繆一心, 呂智慧, 楊明, 等. 基于TCP的P2P 點播系統NAT穿越設計[J]. 計算機應用與軟件, 2010, 27(12): 61-63.MIAO Yixin, LV Zhihui, YANG Ming, et al. Designing nat traversal for tcp-based p2p video-on-demanding system[J]. Computer Applications & Software, 2010, 27(12): 61-63.
[9] 賈學鋒, 荊一楠, 王雪平, 等. 基于TCP協議的NAT穿透技術在P2P中的研究與實現[J]. 計算機應用與軟件, 2008, 25(6): 186-187.JIA Xuefeng, JING Yi’nan, WANG Xueping, et al. Study and realization of tcp-based nat traversal technology in p2p[J].Computer Applications & Software, 2008, 25(6): 186-187.
[10] 趙艷, 張瑋, 鄧衛華. 利用FTP實現文件網絡傳輸[J]. 電腦編程技巧與維護, 2009, 39(10): 105-106.ZHAO Yan, ZHANG Wei, DENG Weihua. Implementation of transfer files in network based on FTP[J]. Computer Programming Skills & Maintenance, 2009, 39(10): 105-106.
[11] 徐偉, 許胤龍, 林曉斌, 等. TCP在數據包隨機延遲網絡中的性能分析[J]. 中國科學技術大學學報, 2012, 42(2): 133-139.XU Wei, XU Yinlong, LIN Xiaobin, et al. Analysis of TCP performance in packet random delay networks[J]. Journal of University of Science & Technology of China, 2012, 42(2): 133-139.
Design and implementation of embedded intelligent music player system
MIAO Jing,YANG Fan, PAN Guo-feng
(Hebei University of Technology School of Electronics and Information Engineering, Tianjin 300401, China)
A mobile terminal based intelligent music player system is designed to solve the space and time limited problem. The system consists of two parts: the mobile terminal software APP and the server that includes a router, an intelligent network set-top box and audio equipment with timed playback and mobile real-time control playback function. The system is implemented by using STUN based NAT traversal way remote control and home TV network set-top box. This can not onlyachieve timed play of home audio, but also can control the music play through remote mobile terminal. In addition, the song’s remote update can be realized and the playback time can be controlled and changed freely. Experimental results show that the system works well, and has broad application prospects and commercial value. This paper takes the family music player system as an example to illustrate the design.
intelligent home; music player system; Internet Protocol Television (IPTV) set-top box; STUN
TP915.09
A
1000-3630(2017)-04-0357-06
10.16300/j.cnki.1000-3630.2017.04.011
2016-10-02;
2016-12-13
國家科技重大專項資助項目(2009ZX02308-004)
苗靜(1990-), 女, 河北滄州人, 碩士研究生。研究方向為智能信息處理。
楊帆, E-mail: yangfan@hebut.edu.cn