新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于OpenWrt的多媒體路由器設(shè)計(jì)

基于OpenWrt的多媒體路由器設(shè)計(jì)

作者:王亞飛 張晶 武洋 時(shí)間:2017-02-27 來(lái)源:電子產(chǎn)品世界 收藏

引言
     隨著物聯(lián)網(wǎng)和互聯(lián)網(wǎng)的融合,網(wǎng)絡(luò)的覆蓋范圍越來(lái)越 廣,人們對(duì)于網(wǎng)絡(luò)連接的需求也越來(lái)越高,對(duì)路由器的功能 要求也越來(lái)越多。目前家用型路由器功能較單一,一般不具 有多WAN口協(xié)調(diào)功能,且性能較低,不適合在公共場(chǎng)合使 用。本項(xiàng)目以系統(tǒng)為基礎(chǔ),通過配置和添加應(yīng)用程 序,使該路由器能夠在公共場(chǎng)所提供網(wǎng)絡(luò)連接以及本地音視 頻服務(wù)。系統(tǒng)既可以使用以太網(wǎng)或者Wi-Fi進(jìn)行網(wǎng)絡(luò)連接, 也可以使用3G/4G移動(dòng)網(wǎng)絡(luò)進(jìn)行連接。

1 系統(tǒng)介紹
是一種基于Linux內(nèi)核的路由器操作系統(tǒng),和 我們平常使用的Ubuntu等發(fā)行版系統(tǒng)類似。它專門針對(duì)路 由器,里面有很多在路由器上使用的軟件,例如網(wǎng)絡(luò)監(jiān)視、 動(dòng)態(tài)DNS、路由、VLAN等。OpenWrt不是一個(gè)單一、靜態(tài) 的固件,而是提供了一個(gè)可添加軟件包的可寫的文件系統(tǒng)。 使用戶可以自由選擇應(yīng)用程序和配置,而不必受設(shè)備提供商 的限制,并且可以使用一些適合某方面應(yīng)用的軟件包來(lái)定制 你的設(shè)備。目前網(wǎng)絡(luò)上大概有3500個(gè)左右的OPKG包,用戶 可以根據(jù)需要選擇安裝,極大地方便了使用。該系統(tǒng)的好處 是,用戶可以通過配置文件進(jìn)行網(wǎng)絡(luò)管理,方便對(duì)路由器 進(jìn) 行 配 置 和 管理 。 系 統(tǒng) 還 提 供 了 一 個(gè) 簡(jiǎn) 單 的 We b 界 面 , 使 用 L u a 語(yǔ) 言 實(shí) 現(xiàn) , 能 夠 方便地對(duì)界面進(jìn)行重新定制,并且能夠通過cgi接口與系統(tǒng)進(jìn)行交互。本文基于OpenWrt系統(tǒng)設(shè)計(jì)一種支持異構(gòu)網(wǎng)絡(luò)的多媒體 路由系統(tǒng),為了提高系統(tǒng)的性能及可擴(kuò)展性,系統(tǒng)設(shè)計(jì)中摒 棄了路由器常用的ARM處理器,改用X86處理器作為硬件平 臺(tái),以提高路由器
的處理性能和擴(kuò)展性。該系統(tǒng)能夠在蜂窩 網(wǎng)絡(luò)、Wi-Fi及以太網(wǎng)之間進(jìn)行自動(dòng)切換,并且能夠提供音 視頻多媒體服務(wù)。

2  系統(tǒng)硬件功能結(jié)構(gòu)
本項(xiàng)目硬件部分采用Conga-TCA/N2800作為核心控制 板。該控制板符合COM Express Compact(95x95mm),Type6 標(biāo)準(zhǔn),CPU是Intel? Atom? N2800,并配備1 GBy te DDR31066MHz內(nèi)存,板卡支持PCI Express、SATA、USB、I2C、 LPC等總線接口,具有體積小、擴(kuò)展性強(qiáng)等特點(diǎn)。硬件總體 結(jié)構(gòu)如圖1所示。
2.1 以太網(wǎng)接口BCM5696介紹
以太網(wǎng)接口選用博通的BCM5696,配合BCM5464芯片 能夠提供12個(gè)10/100/1000-Mbps有線以太網(wǎng)接口,并且能 夠通過級(jí)聯(lián)擴(kuò)展以太網(wǎng)接口數(shù)量。芯片內(nèi)部集成先進(jìn)的QoS 服 務(wù) , 具 有 高 度 靈活 的 包 過 濾 、 速 率 限 制 、 標(biāo) 記 、 監(jiān) 控 等 功 能 。 同 時(shí) 芯 片 支 持 雙 V L A N 標(biāo) 記 (IEEE 802.1Q)以及 VLAN轉(zhuǎn)換等高級(jí)功

本文引用地址:http://www.butianyuan.cn/article/201702/344500.htm

圖1  系統(tǒng)硬件結(jié)構(gòu)圖    

圖2   BCM5696模塊

圖3  U8300/1使用流程  

圖4  系統(tǒng)軟件基本結(jié)構(gòu)圖


圖5  網(wǎng)絡(luò)地址分配  

圖6  web工作框架

能,為上層應(yīng)用提供了很大的便利性和靈活性。芯片的典型應(yīng)用框圖如圖2所示。
2.2 蜂窩網(wǎng)絡(luò)接口模塊
為了能夠通過3G/4G移動(dòng)蜂窩網(wǎng)絡(luò)連接互聯(lián)網(wǎng),硬件 系統(tǒng)擴(kuò)展了基于Mini PCI-E 接口的U8300和U8301模塊,分 別用于接入采用TDD-LTE/FDD-LTE/TD-SCDMA、TDD- LTE/FDD-LTE/TD-SCDMA網(wǎng)絡(luò)制式的移動(dòng)蜂窩網(wǎng)絡(luò)。在 LTE-FDD網(wǎng)絡(luò)環(huán)境下,該模塊理論上能夠提供100Mbps的上 行速率和50Mbps的下行速率。模塊支持PPP-stack和TCP/IP- stack,并且提供USB和UART接口。U8300/1模
塊的使用流程 如圖3所示。

3 系統(tǒng)軟件功能結(jié)構(gòu)
路由器軟件系統(tǒng)的設(shè)計(jì)主要包括OpenWrt系統(tǒng)配置編 譯、設(shè)備驅(qū)動(dòng)程序移植、網(wǎng)絡(luò)環(huán)境配置、應(yīng)用程序編寫、多 媒體開發(fā)軟件移植、LuCI界面開發(fā)等,下面對(duì)其中部分工 作進(jìn)行簡(jiǎn)單介紹。
3.1  OpenWrt系統(tǒng)配置編譯
OpenWrt的移植編譯功能已經(jīng)比較完善,能夠較好地支 持x86平臺(tái)。編譯過程中能夠自動(dòng)下載源代碼以及對(duì)應(yīng)平臺(tái) 的補(bǔ)丁代碼。在使用x86默認(rèn)的配置之外,需要根據(jù)系統(tǒng)環(huán) 境針對(duì)性地添加或者移除相應(yīng)的模塊。主要有a.選擇eglibc作 為C語(yǔ)言庫(kù);b.添加usb-serial模塊以支持U8300和U8301模塊 接口;c.添加iwlagn模塊,提供Wi-Fi支持;d.添加ppp和ppoe 撥號(hào)功能。
3.2  網(wǎng)絡(luò)配置及地址管理
本系統(tǒng)支持以太網(wǎng)、Wi-Fi、4G網(wǎng)絡(luò)接入互聯(lián)網(wǎng),需要 手動(dòng)進(jìn)行網(wǎng)絡(luò)配置。其中主要包含U8300/1、I210、Wireless- N1030的網(wǎng)絡(luò)配置。
設(shè)計(jì)中多個(gè)WAN口的網(wǎng)絡(luò)地址分配如圖5所示,需要 格外注意的是,當(dāng)Wi-Fi工作在橋接模式時(shí),要保證Wi-Fi的 WAN IP和LAN IP地址不在同一網(wǎng)段內(nèi)。除去部分保留IP地 址,其余 IP從192.168.1.10到192.168.1.240可以自由分配給局域網(wǎng)的設(shè)備,IP地址配置可以在/etc/con句g/dhcp文件中進(jìn)行更改,例如:
con句g dhcp 'lan' option interface 'lan'
option start '10'  //起始IP地址,即192.168.1.
option limit '230' //最多分配的IP地址數(shù),即地址范圍從
10到240系統(tǒng)設(shè)計(jì)的目的是優(yōu)先保證系統(tǒng)的連通性。多WAN口 的平衡選擇主要通過路由規(guī)則實(shí)現(xiàn),本設(shè)計(jì)在mwan3的基 礎(chǔ)上進(jìn)行改進(jìn),使系統(tǒng)能夠從多個(gè)WAN口中選擇一個(gè)網(wǎng)絡(luò) 狀態(tài)較好的WAN口作為連接外網(wǎng)的接口。配置文件位于/ etc/config/mwan3,通過該文件配置網(wǎng)絡(luò)端口的優(yōu)先級(jí)及控 制規(guī)則??傮w的控制思路是:1. 啟動(dòng)一個(gè)后臺(tái)進(jìn)程Internet_ monitor監(jiān)控各個(gè)WAN口的狀態(tài);2.
進(jìn)程Internet_switch根據(jù) 用戶定制的切換規(guī)則更改系統(tǒng)所使用的WAN口。
3.3  安裝流媒體服務(wù)器
為了能向局域網(wǎng)內(nèi)的網(wǎng)絡(luò)用戶提供本地音視頻服務(wù), 系 統(tǒng) 移 植 了 u S h a re 作 為 本 地 多 媒 體 服 務(wù) 器 。 u S Ha re 是 由 Geexbox開發(fā)的一個(gè)開源項(xiàng)目,它基于UPnP(Universal Plug and Play) A/V & DL AN協(xié)議框架,實(shí)現(xiàn)了相應(yīng)的多媒體服 務(wù)器功能,能夠向支持UPnP的設(shè)備提供多媒體服務(wù),并且 使用libupnp內(nèi)置的http server向用戶提供多媒體信息服務(wù)。 相比于其它多媒體服務(wù)器例如FUPPES、 MediaTomb以及 MiniDLAN等,uShare具有易于移植以及配置簡(jiǎn)單等特點(diǎn)。 目前uShare能夠支持大多數(shù)多媒體格式文件,如表1所示。

圖7  多媒體文件配置    

圖8  網(wǎng)絡(luò)狀態(tài)管理
目前已經(jīng)有基于OpenWrt的OPKG包,因此軟件的安裝 特別方便,針對(duì)平臺(tái)進(jìn)行配置之后即可使用。配置文件為/ etc/con句g/ushare,可以參照下面的形式進(jìn)行配置,主要修改 媒體文件所在目錄,即content_directories對(duì)應(yīng)的選項(xiàng),其他 參數(shù)保持默認(rèn)值。
con句g 'ushare'
option 'servername' 'OpenWrt'option 'enabled' '1'
option 'content_directories'  '/
mnt/sda1/vedio, /mnt/sda1/audio' option 'disable_telnet' '1' option 'disable_webif '
'0'
3.4 LuCI界面開發(fā)
OpenWrt中利用uhttp作為web服務(wù)器,實(shí)現(xiàn)客戶端web頁(yè)面配置功能。對(duì)于request請(qǐng)求采用cgi處理方式,所用的cgi程序是
LuCI,工作框架如圖6所示。Client端和server端采用cgi方式交互,在uhttpd服務(wù)器的 cgi方式中,fork出一個(gè)子進(jìn)程,子
進(jìn)程利用execl替換為L(zhǎng)uCI 進(jìn)程空間,通過設(shè)置環(huán)境變量的方式,傳遞一些固定格式的 數(shù)據(jù)(如PATH_INFO)給LuCI。另外一些非固定格式的數(shù)據(jù)(post-data)由父進(jìn)程通過一個(gè)w_pipe寫給LuCI的stdin, LuCI的返回?cái)?shù)據(jù)寫在stdout上,由父進(jìn)程通過一個(gè)r_pipe讀取。
項(xiàng)目針對(duì)系統(tǒng)需求使用Lua語(yǔ)言對(duì)界面進(jìn)行重新編寫, 方便對(duì)系統(tǒng)進(jìn)行配置和管理以及查看網(wǎng)絡(luò)狀態(tài),配置多媒體 信息等。系統(tǒng)Web頁(yè)面效果如圖7和圖8所示。

4 結(jié)束語(yǔ)
我們分別對(duì)網(wǎng)絡(luò)連接及媒體服務(wù)功能進(jìn)行測(cè)試。將該 系統(tǒng)置于不同的網(wǎng)絡(luò)環(huán)境中進(jìn)行網(wǎng)絡(luò)連接

測(cè)試,結(jié)果如表2 所示。

多媒體服務(wù)功能測(cè)試通過本地電腦安裝ushare軟件進(jìn)行 測(cè)試,測(cè)試結(jié)果顯示,在使用有線網(wǎng)絡(luò)或者Wi-Fi連接狀態(tài) 下播放720P高清視頻比較流暢。本項(xiàng)目基于OpenWrt操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了能夠在多WAN口之間自動(dòng)切換,并且具有多媒體服務(wù)的高性能路由系統(tǒng)。 該系統(tǒng)具有豐富的總線接口,可以自由擴(kuò)展總線設(shè)備,從 而適應(yīng)不同的系統(tǒng)要求。我們通過PCI總線擴(kuò)展Alta ARINC MPCIE-A429
模塊,用于檢測(cè)飛機(jī)飛行狀態(tài)從而控制路由的 開關(guān)等動(dòng)作。擴(kuò)展后的路由器在測(cè)試環(huán)境中工作良好,具備 實(shí)用價(jià)值。通過添加其他總線模塊,也可以將系統(tǒng)應(yīng)用于火 車、汽車以及小型商場(chǎng)等領(lǐng)域。



關(guān)鍵詞: OpenWrt 多媒體路由器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉