掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
多業(yè)務(wù)光纖接入系統(tǒng)主要利用傳統(tǒng)的SDH和光纜資源,通過(guò)光纖延伸原有的TDM專線的覆蓋范圍,使得傳統(tǒng)的固網(wǎng)運(yùn)營(yíng)商能夠繼續(xù)提供和擴(kuò)大專線業(yè)務(wù)。
多業(yè)務(wù)光纖接入系統(tǒng)除了采用傳統(tǒng)的網(wǎng)管軟件外,同時(shí)采用了基于Web方式的嵌人式網(wǎng)管系統(tǒng)。本文結(jié)合嵌入式Web服務(wù)器和嵌入式數(shù)據(jù)庫(kù)技術(shù)在接入設(shè)備網(wǎng)管系統(tǒng)中的應(yīng)用,對(duì)基于ARM9平臺(tái)且含有嵌入式Web服務(wù)器和嵌入式數(shù)據(jù)庫(kù)的網(wǎng)管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法進(jìn)行討論。
嵌入式網(wǎng)管系統(tǒng)設(shè)計(jì)概述
嵌入式網(wǎng)管系統(tǒng)基于ARM9硬件平臺(tái)和Linux操作系統(tǒng),采用嵌入式Web服務(wù)器對(duì)設(shè)備進(jìn)行功能配置,采用嵌入式數(shù)據(jù)庫(kù)對(duì)告警信息進(jìn)行采集、分析、存儲(chǔ)。管理人員可以通過(guò)IE瀏覽器直接訪問(wèn)設(shè)備上的Web服務(wù)器,從而實(shí)現(xiàn)網(wǎng)絡(luò)管理功能。嵌人式監(jiān)控系統(tǒng)的結(jié)構(gòu)如圖1所示。嵌入式網(wǎng)管系統(tǒng)給每個(gè)設(shè)備帶來(lái)了圖形化的管理,提供了簡(jiǎn)單易用的接口,操作簡(jiǎn)單而不損失功能。
![]() |
在本義的系統(tǒng)中,硬件平臺(tái)基于AT91RM9200芯片,該芯片采用16/32位ARM920T內(nèi)核,工作速度達(dá)180MHz,內(nèi)部集成有64K RAM和128K ROM,并有外部總線擴(kuò)展接口(EBI)支持多種類型的外部存儲(chǔ)器。對(duì)操作系統(tǒng),本文選擇了開放源代碼及網(wǎng)絡(luò)資源豐富的Linux。嵌入式Linux操作系統(tǒng)可移植性強(qiáng),用戶通過(guò)重新配置,編譯內(nèi)核后,內(nèi)核文件小于500K。
嵌入式Web服務(wù)器和嵌入式數(shù)據(jù)庫(kù)的移植
交叉編譯環(huán)境的建立
為了建立交叉編譯環(huán)境,首先需要安裝交叉編譯工具arm-linux-gcc,這里采用cross-2.95.3.tar.gz工具包。將工具包解壓縮安裝到宿主機(jī)的/opt目錄下,并配置環(huán)境變量,重啟后就建立起需要的交叉編譯開發(fā)環(huán)境。 嵌入式Web服務(wù)器的移植
嵌入式Web服務(wù)器采用開源的Boa服務(wù)器。Boa是一款單任務(wù)的HTTP服務(wù)器,通過(guò)建立HTTP請(qǐng)求列表處理多路HTTP連接請(qǐng)求。同時(shí),它只為CGI程序創(chuàng)建新的進(jìn)程,在很大程度上節(jié)省了系統(tǒng)資源。
解壓縮boa0.94源碼后,通過(guò)./configure--host=arm-linux-gcc--target=arm-linux命令生成Makefile文件,將其中的GCC修改為arm-linux-gcc,執(zhí)行make命令,即可生成在ARM板上運(yùn)行的Boa應(yīng)用程序。
Web服務(wù)器的配置
為了能夠在ARM上運(yùn)行Web服務(wù)器Boa,需要對(duì)其運(yùn)行環(huán)境、參數(shù)等進(jìn)行設(shè)置,并將最終的配置文件boa.conf置于適當(dāng)位置。通過(guò)修改配置文件boa.conf可實(shí)現(xiàn)對(duì)Web服務(wù)器的配置。部分配置為:偵聽端口使用80端口,訪問(wèn)日志AccessLog存放于/var/log/boa/access_log,錯(cuò)誤日志ErrorLog位于/var/log/boa/error.log,文件的根目錄DocumentRoot設(shè)在/home/web/,KeepAliveMax值和KeepAliveTimeout值采用默認(rèn)值,設(shè)置CGI腳本程序Path為/cgi-bin/,服務(wù)器名ServerName值設(shè)置為webServer;將修改好的配置文件boa.conf存放于嵌入式文件系統(tǒng)根文件/home/web目錄下。最后將含有Boa應(yīng)用程序、boa.conf配置文件及其他相關(guān)CGI腳本程序的ramdisk文件系統(tǒng)通過(guò)TFTP服務(wù)器下載到Flash存儲(chǔ)器中。
嵌入式數(shù)據(jù)庫(kù)的移植
嵌入式數(shù)據(jù)庫(kù)采用開源的SQLite數(shù)據(jù)庫(kù),它是一個(gè)輕量級(jí)別的關(guān)系數(shù)據(jù)庫(kù),具有三級(jí)模式的結(jié)構(gòu)體系,即用戶模式、邏輯模式和存儲(chǔ)模式。為了使數(shù)據(jù)庫(kù)應(yīng)用程序能夠在AT91RM9200+Linux環(huán)境中運(yùn)行,需要把SQLite移植到Linux平臺(tái)上,通過(guò)FTP方式下載到目標(biāo)板Linux系統(tǒng)的lib目錄下,將數(shù)據(jù)庫(kù)應(yīng)用程序交叉編譯后,通過(guò)FTP方式下載到目標(biāo)板Linux文什系統(tǒng)中即可運(yùn)行。
嵌入式臨近系統(tǒng)的軟件結(jié)構(gòu)設(shè)計(jì)
基于ARM平臺(tái)的監(jiān)控系統(tǒng)軟件結(jié)構(gòu)如圖2所示。在硬件平臺(tái)加電之后,加載程序負(fù)責(zé)對(duì)微處理器進(jìn)行必要的硬件設(shè)置并初始化內(nèi)存。對(duì)內(nèi)核映像文件進(jìn)行解壓縮,在必要的檢查之后,開始內(nèi)核、用戶態(tài)等初始化工作。最后啟動(dòng)Shell,使嵌入式監(jiān)控系統(tǒng)運(yùn)行。在具體的設(shè)計(jì)中,硬件所需要的設(shè)備驅(qū)動(dòng)程序、網(wǎng)絡(luò)功能支持等,都是通過(guò)編譯Linux內(nèi)核完成。
![]() |
在監(jiān)控系統(tǒng)中,主要任務(wù)由兩個(gè)不同的程序(進(jìn)程)--實(shí)時(shí)數(shù)據(jù)的采集處理程序和響應(yīng)用戶請(qǐng)求的網(wǎng)絡(luò)服務(wù)程序完成。由于數(shù)據(jù)采集處理程序獨(dú)占RS-232串口,而CGI腳本程序也需要通過(guò)串口下發(fā)命令,為了避免多次打開串口,CGI腳本程序通過(guò)消息隊(duì)列方式與數(shù)據(jù)采集處理程序進(jìn)行通信,從而實(shí)現(xiàn)多個(gè)進(jìn)程同時(shí)共用一個(gè)串口。
實(shí)時(shí)數(shù)據(jù)采集程序由數(shù)據(jù)采集、數(shù)據(jù)處理及數(shù)據(jù)存儲(chǔ)模塊構(gòu)成。數(shù)據(jù)采集模塊負(fù)責(zé)按照用戶預(yù)先設(shè)定的通信協(xié)議通過(guò)RS-232串口周期的下發(fā)查詢命令,并把接收的數(shù)據(jù)存入數(shù)據(jù)緩存區(qū)。數(shù)據(jù)處理模塊根據(jù)協(xié)議對(duì)采集的數(shù)據(jù)進(jìn)行解析,將解析結(jié)果按照不同的字段進(jìn)行分類。數(shù)據(jù)存儲(chǔ)模塊將解析結(jié)果按照SQLite數(shù)據(jù)庫(kù)浯法要求分別儲(chǔ)存到相應(yīng)的字段中。
響應(yīng)用戶請(qǐng)求的網(wǎng)絡(luò)服務(wù)程序由Web服務(wù)器(Boa)和響應(yīng)用戶請(qǐng)求的CGI腳本程序兩部分組成:服務(wù)器通過(guò)偵聽端口80,偵聽來(lái)自網(wǎng)絡(luò)的用戶請(qǐng)求,當(dāng)用戶通過(guò)IE瀏覽器向服務(wù)器發(fā)出請(qǐng)求時(shí),肩動(dòng)響應(yīng)的CGI腳本程序,將請(qǐng)求信息轉(zhuǎn)化為服務(wù)器可以識(shí)別的數(shù)據(jù)格式,從SQLiLe數(shù)據(jù)庫(kù)中讀取出所需要的信息,再由CGI程序?qū)⑿畔⑥D(zhuǎn)化為Web瀏覽器能夠識(shí)別的格式,作為HTTP應(yīng)答消息回送到客戶端顯示。CGI腳本程序完成的功能主要包括:配置、查詢?cè)O(shè)備相關(guān)信息及查詢?cè)O(shè)備告警信息等。查詢?cè)O(shè)備告警信息的CGI腳本程序主要功能代碼如下。
結(jié)語(yǔ)
在嵌入式網(wǎng)管系統(tǒng)中,利用嵌入式Wcb服務(wù)器和嵌入式數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行操作和管理是嵌入式網(wǎng)管系統(tǒng)的應(yīng)用發(fā)展方向。本文所描述的系統(tǒng)縮短了應(yīng)用程序丌發(fā)過(guò)程,降低了網(wǎng)管軟件的開發(fā)成本,實(shí)現(xiàn)了多用戶數(shù)據(jù)共享。實(shí)踐證明,基于ARM9平臺(tái)的嵌入式網(wǎng)管系統(tǒng)具有很高的應(yīng)用價(jià)值。
經(jīng)過(guò)幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來(lái)越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了“物聯(lián)網(wǎng)”時(shí)代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過(guò)協(xié)議、通信、程序設(shè)計(jì)等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計(jì)算機(jī)的智能但并不以通...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)萬(wàn)物智聯(lián)時(shí)代,嵌入式技術(shù)及其應(yīng)用的形態(tài)將更加豐富和多元,同時(shí)也將日益呈現(xiàn)深度物理融合、混合架構(gòu)共存、群體智能協(xié)同、網(wǎng)絡(luò)安全攸關(guān)等諸多新的計(jì)算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結(jié)構(gòu)、軟硬件技術(shù)和開發(fā)方法都已很難應(yīng)對(duì)新趨勢(shì)下的...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。通用計(jì)算機(jī)經(jīng)歷了從智慧平臺(tái)到互聯(lián)網(wǎng)的獨(dú)立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨(dú)立發(fā)展道路。
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進(jìn),嵌入式系統(tǒng)利用自身的技術(shù)特點(diǎn),逐漸成為眾多行業(yè)的標(biāo)配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來(lái)的工業(yè)和生活中有著廣闊的應(yīng)用前景。在現(xiàn)在...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能長(zhǎng)久來(lái)看,嵌入式只會(huì)越來(lái)越火,隨著人工智能時(shí)代的發(fā)展,嵌入式必定又將迎來(lái)一次浪潮和技術(shù)的巨大變革。人工智能越是想要表達(dá)智能水平,就越要依靠嵌入式技術(shù),嵌入式技術(shù)將朝著自動(dòng)化控制和人機(jī)交互發(fā)展。嵌入式因其體積小、可靠性高、...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能