基于嵌入式Linux的機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)研究
出處:將軍令 發(fā)布于:2011-08-29 11:44:31
摘要:為滿足機(jī)房實(shí)時(shí)監(jiān)測(cè)環(huán)境參數(shù)和視頻信息的需要,本文綜合運(yùn)用嵌入式技術(shù)、WEB 技術(shù)和信息檢測(cè)技術(shù),研究并設(shè)計(jì)一種基于B/S 架構(gòu)的嵌入式機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。通過傳感器采集并遠(yuǎn)程傳輸機(jī)房溫度和圖像數(shù)據(jù),在遠(yuǎn)程瀏覽器端動(dòng)態(tài)實(shí)時(shí)顯示,為及時(shí)掌握機(jī)房環(huán)境數(shù)據(jù),實(shí)現(xiàn)機(jī)房科學(xué)管理提供良好的平臺(tái)。
1 引言
信息化高度發(fā)展的今天,機(jī)房作為數(shù)據(jù)傳輸中心、處理中心和數(shù)據(jù)交換中心,在整個(gè)信息網(wǎng)絡(luò)工程中占據(jù)著重要的位置,對(duì)機(jī)房環(huán)境以及視頻信息的監(jiān)測(cè)具有重要意義。
經(jīng)過調(diào)查分析,機(jī)房環(huán)境遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的主要應(yīng)用需求包括: ①溫度是機(jī)房環(huán)境中重要的參數(shù),合理的溫度保證了機(jī)房設(shè)備的正常運(yùn)行; ②數(shù)據(jù)傳輸質(zhì)量高、實(shí)時(shí)性好,以保證對(duì)機(jī)房環(huán)境的實(shí)時(shí)和有效監(jiān)測(cè);③支持遠(yuǎn)程訪問,便于對(duì)多個(gè)機(jī)房環(huán)境的集中監(jiān)測(cè)。針對(duì)上述需求,設(shè)計(jì)了一種基于B /S 架構(gòu)的遠(yuǎn)程監(jiān)測(cè)系統(tǒng),以滿足遠(yuǎn)程訪問、低成本、實(shí)時(shí)性好的機(jī)房環(huán)境遠(yuǎn)程監(jiān)測(cè)需求。
2 總體方案設(shè)計(jì)
2. 1 系統(tǒng)方案及總體結(jié)構(gòu)
根據(jù)系統(tǒng)應(yīng)用需求,設(shè)計(jì)的機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)總體結(jié)構(gòu)如圖1 所示。系統(tǒng)由溫度和圖像傳感器、嵌入式服務(wù)器和遠(yuǎn)程計(jì)算機(jī)構(gòu)成。其中,溫度和圖像傳感器負(fù)責(zé)采集現(xiàn)場(chǎng)的溫度和圖像數(shù)據(jù),基于ARM 處理器的嵌入式服務(wù)器是整個(gè)系統(tǒng)的控制中心,它控制、調(diào)度各系統(tǒng)資源,通過有線網(wǎng)絡(luò)將所獲取數(shù)據(jù)傳輸至遠(yuǎn)程監(jiān)控端瀏覽器動(dòng)態(tài)顯示。遠(yuǎn)程監(jiān)控在實(shí)現(xiàn)方式上采用“B /S”模式,在客戶端的瀏覽器上輸入存儲(chǔ)嵌入式服務(wù)器的網(wǎng)頁(yè)地址即可對(duì)機(jī)房環(huán)境狀況進(jìn)行監(jiān)控。

圖1 遠(yuǎn)程監(jiān)測(cè)系統(tǒng)總體結(jié)構(gòu)圖
2. 2 系統(tǒng)硬件平臺(tái)
系統(tǒng)的硬件平臺(tái)選擇主要考慮低功耗、處理能力強(qiáng)、擴(kuò)展性好、穩(wěn)定性高和兼容性好等因素。嵌入式硬件平臺(tái)的配置從根本上決定了整個(gè)系統(tǒng)運(yùn)行性能的好壞。整個(gè)機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)由下位機(jī)嵌入式服務(wù)器和上位機(jī)遠(yuǎn)程瀏覽器組成。其中下位機(jī)嵌入式服務(wù)器平臺(tái)包括眾多硬件模塊: 嵌入式微處理器S3C2440、存儲(chǔ)器、電源和時(shí)鐘模塊、外圍電路及接口、3. 5 寸液晶顯示屏、ZC0301 攝像頭和DS18B20 溫度傳感器等。下面將對(duì)各個(gè)硬件設(shè)備和模塊做具體闡述。
2. 2. 1 中心處理器
S3C2440 處理器是韓國(guó)電子公司三星推出的一款基于ARM920T 內(nèi)核的16 / 32 位RISC 嵌入式處理器,ARM920T 核由ARM9TDM1、存儲(chǔ)管理單元( MMU) 和高速緩存三部分組成,主頻可達(dá)533MHz。本系統(tǒng)采用S3C2440 為,外圍硬件資源包括64M SDRAM, 256M NAND FLASH,2 M NOR FLASH。
2. 2. 2 攝像頭
攝像頭采用基于301PLUS 快速高性能圖像壓縮主控芯片的中芯微ZC0301 攝像頭。其能夠輸出高清晰MJPEG 視頻流數(shù)據(jù),具有圖像信號(hào)處理( ISP) 、圖像數(shù)據(jù)壓縮及數(shù)據(jù)傳輸?shù)裙δ?,可達(dá)到6: 1 的壓縮率,同時(shí)支持同步和異步數(shù)據(jù)傳輸,兼容性好。其工作電壓為3. 3V,工作電流僅為200mA,耗電量小。
2. 2. 3 溫度傳感器
溫度傳感器采用美國(guó)Dallas 公司生產(chǎn)的單總線數(shù)字式溫度傳感器- DS18B20,它結(jié)構(gòu)簡(jiǎn)單,不需要外接電路,可用一根I /O 數(shù)據(jù)線既供電又傳輸數(shù)數(shù)據(jù),將溫度信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào)送給微處理器,電路簡(jiǎn)單,成本低,操作方便。DS18B20 與ARM 處理器接口電路如圖2 所示。

圖2 DS18B20 與ARM 處理器接口電路
2. 2. 4 遠(yuǎn)程監(jiān)控端系統(tǒng)配置
遠(yuǎn)程網(wǎng)絡(luò)上的監(jiān)控端為通用的PC 機(jī)和IE 瀏覽器,B /S 模式架構(gòu)為人機(jī)交互提供了友好的交互平臺(tái),用戶通過Internet 進(jìn)行遠(yuǎn)程監(jiān)控。
2. 3 系統(tǒng)軟件平臺(tái)
系統(tǒng)采用源碼開放、安全性及可靠性好、具有廣泛硬件和網(wǎng)絡(luò)支持及完整開發(fā)工具的Linux 系統(tǒng)作為嵌入式系統(tǒng)平臺(tái)。
嵌入式系統(tǒng)的開發(fā)通常采用宿主機(jī)- 目標(biāo)機(jī)的交叉編譯調(diào)試方式。系統(tǒng)構(gòu)建主要包括: 交叉編譯器的選擇和安裝; NFS 網(wǎng)絡(luò)文件系統(tǒng)的配置; 內(nèi)核、Bootloader 和文件系統(tǒng)的編譯和移植等。內(nèi)核采用Linux -2. 6. 30. 4 版本; 系統(tǒng)引導(dǎo)加載程序采用U - boot - 1. 1. 6; 文件系統(tǒng)采用可靠性和可移植性好的YAFFS 文件系統(tǒng)。
3 驅(qū)動(dòng)程序設(shè)計(jì)開發(fā)
在搭建好嵌入式Linux 系統(tǒng)平臺(tái)基礎(chǔ)上,進(jìn)行機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng)數(shù)據(jù)采集相關(guān)開工作。主要包括溫度數(shù)據(jù)采集和圖像采集驅(qū)動(dòng)程序的設(shè)計(jì)和采集程序的設(shè)計(jì)與實(shí)現(xiàn)。設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核與機(jī)器硬件之間的接口,它為應(yīng)用程序屏蔽了硬件的細(xì)節(jié)。
3. 1 DS18B20 驅(qū)動(dòng)程序設(shè)計(jì)
DS18B20 通過溫度對(duì)振蕩器的頻率影響來測(cè)量溫度,而傳感器對(duì)溫度的采集則由ARM 控制DS18B20完成。由于DS18B20 采用單總線數(shù)據(jù)傳輸方式,所以ARM 芯片對(duì)DS18B20 的每步操作都要保證特定的讀寫時(shí)序,按照單總線的操作協(xié)議來進(jìn)行。
首先初始化總線,跳過Rom( 總線上只有一個(gè)DS18B20) ,啟動(dòng)DS18B20 進(jìn)行溫度轉(zhuǎn)換,復(fù)位,繼續(xù)跳過Rom,發(fā)讀溫度指令,讀取溫度數(shù)據(jù),進(jìn)行溫度的進(jìn)一步處理及轉(zhuǎn)換。溫度采集驅(qū)動(dòng)中用到的主要函數(shù):
?。?1) 初始化函數(shù)unsigned char DS18B20 Init ( void) ,此函數(shù)復(fù)位DS18B20 數(shù)據(jù)線,檢測(cè)溫度傳感器DS18B20 的存在,主CPU 發(fā)送500 微秒的低電平信號(hào)后釋放,檢測(cè)到總線上脈沖的上升沿后,DS18B20 等待50 微秒,發(fā)出200 微秒低脈沖,CPU 收到此信號(hào)表示復(fù)位成功。
?。?2) void DS18B20 WriteOneByte( unsigned char data) 或數(shù)據(jù)到溫度芯片DS18B20,即發(fā)送一個(gè)字節(jié)。
?。?3) unsigned char DS18B20 ReadOneByte( void) ,從溫度芯片DS18B20 讀配置或數(shù)據(jù),即讀一個(gè)字節(jié)。
?。?4) unsigned int DS18B20 ReadTemperature( void) 讀溫度函數(shù)。如果電路中只有一個(gè)DS18B20,則不需要多個(gè)器件的ID 識(shí)別,直接進(jìn)行溫度轉(zhuǎn)換,DS18B20 溫度轉(zhuǎn)換需要時(shí)問,所以此處需要延時(shí)一定時(shí)間。
其基本處理流程如圖2 所示。
驅(qū)動(dòng)程序與硬件設(shè)備的接口由file_operation 結(jié)構(gòu)定義,其結(jié)構(gòu)如下:
static struct file_operations s3c2440_18b20_fops = {
. owner = THIS_MODULE,
. open = s3c2440_18b20_open,
. read = s3c2440_18b20_read,
. write = s3c2440_18b20_write,
. release = s3c2440_18b20_release,
} ;
struct file_operations 這個(gè)結(jié)構(gòu)的每一個(gè)成員都對(duì)應(yīng)一個(gè)_系統(tǒng)調(diào)用,用戶進(jìn)程利用系統(tǒng)調(diào)用對(duì)設(shè)備文件進(jìn)行操作,系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)里面相應(yīng)的函數(shù)指針,把控制權(quán)交給該函數(shù)。
3. 2 ZC0301 攝像頭視頻采集程序設(shè)計(jì)
Video4linux 是Linux 內(nèi)核里支持影像設(shè)備的一組API,配合適當(dāng)?shù)牟杉ㄅc相關(guān)驅(qū)動(dòng)程序,可以實(shí)現(xiàn)視頻采集。驅(qū)動(dòng)視頻采集設(shè)備完成視頻采集和處理,需要相應(yīng)的驅(qū)動(dòng)程序和視頻流采集程序。視頻采集程序的內(nèi)容主要包括攝像頭的初始化、打開、關(guān)閉、參數(shù)設(shè)置以及數(shù)據(jù)讀取等。
Video4linux 視頻采集的實(shí)現(xiàn)過程如下:
?。?1) 初始化程序,包括打開視頻設(shè)備文件,讀取視頻采集設(shè)備信息以及設(shè)備緩沖區(qū)信息等; 初始化攝像頭參數(shù)主要通過init_videoIn 函數(shù)來完成。
?。?2) 打開視頻采集設(shè)備。初始化工作完成后,通過V4L_open 函數(shù)檢查攝像頭設(shè)備是否加載,如能夠檢測(cè)到攝像頭設(shè)備,使用open 系統(tǒng)調(diào)用以只讀的方式打開視頻設(shè)備。
?。?3) 獲取視頻設(shè)備信息和圖像信息。通過調(diào)用設(shè)備I /O 通道管理函數(shù)ioctl 中的VIDIOCGCAP 參數(shù)獲取視頻采集設(shè)備的名稱、類型、通道數(shù)、圖像寬度和高度等信息參數(shù),調(diào)用ioctl 函數(shù)中的VIDIOCGPICT 參數(shù)讀取視頻采集設(shè)備緩沖video_picture 信息。
?。?4) 視頻采集。在V4L 體系下,采用內(nèi)存映射方式采集視頻。內(nèi)存映射方式視頻讀取的具體操作如下:
①首先使用ioctl 系統(tǒng)調(diào)用VIDOOCGMBUF 命令獲取攝像頭存儲(chǔ)緩沖區(qū)的幀信息,之后初始化video_mbuf,修改video_mmbuf 設(shè)置。
②映射設(shè)備文件到內(nèi)存。
?、劢厝D像,有單幀截取和連續(xù)幀截取兩種方式。進(jìn)行單幀截取需先準(zhǔn)備內(nèi)存空間; 然后調(diào)用ioctl 函數(shù)的VIDIOCMCAPTURE 命令,以非阻塞形式開始一幀圖像截?。?接著調(diào)用ioctl( fd,VIDIOCSYNC,&frame)函數(shù)判斷該幀是否截取完畢; 就可將圖像數(shù)據(jù)寫入到Frame Buffer 中。若進(jìn)行連續(xù)幀截取,則需通過循環(huán)語(yǔ)句中,使用VIDIOCMCAPTURE 和VIDIOCSYNC 函數(shù)判斷是否完成截取,并給采集到的每幀圖像賦地址。
?。?5) 關(guān)閉攝像頭。視頻采集完成以后,的工作是關(guān)閉視頻采集設(shè)備。以內(nèi)存映射的方法獲取視頻數(shù)據(jù),需要在視頻采集任務(wù)完成之后關(guān)閉內(nèi)存映射,然后調(diào)用close_v4l 函數(shù)關(guān)閉視頻設(shè)備。關(guān)閉視頻設(shè)備需要判斷視頻獲取方式: 如是內(nèi)存映射方式,則通過munmap 函數(shù)。
4 嵌入式Web 監(jiān)控的實(shí)現(xiàn)
嵌入式Web 監(jiān)控的實(shí)現(xiàn)包括了Boa 服務(wù)器移植、CGI 網(wǎng)頁(yè)交互程序設(shè)計(jì)兩個(gè)部分。
4. 1 Boa 服務(wù)器移植
在嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)中,Web 服務(wù)器的性能對(duì)系統(tǒng)的整體性能具有直接影響,因此Web 服務(wù)器的選擇和設(shè)計(jì)尤為重要。高效率的Web 服務(wù)器,才能使監(jiān)控系統(tǒng)的能得到充分的發(fā)揮。
Boa 是一款單任務(wù)的HTTP 服務(wù)器,它支持CGI 技術(shù),且具有自動(dòng)生成目錄和解壓文件等功能。在運(yùn)行效率方面,由于其只為CGI 程序創(chuàng)建新的進(jìn)程,因此具有很高的HTTP 請(qǐng)求處理速度。故選用Boa 來構(gòu)建嵌入式服務(wù)器。
服務(wù)器主要作用是為整個(gè)系統(tǒng)提供了一種網(wǎng)絡(luò)接入和信息服務(wù)方式。系統(tǒng)通過應(yīng)用HTTP 協(xié)議聯(lián)網(wǎng),調(diào)用具有數(shù)據(jù)請(qǐng)求和控制功能的CGI 程序,實(shí)現(xiàn)服務(wù)器對(duì)客戶端瀏覽器請(qǐng)求的處理,終實(shí)現(xiàn)信息在瀏覽器的動(dòng)態(tài)顯示,達(dá)到遠(yuǎn)程監(jiān)控的目的。
4. 2 CGI 網(wǎng)頁(yè)交互程序設(shè)計(jì)
CGI 技術(shù)即通用網(wǎng)關(guān)接口( Common Network Interface) 技術(shù),它支持WEB 數(shù)據(jù)動(dòng)態(tài)刷新、轉(zhuǎn)換和顯示。
基于CGI 接口設(shè)計(jì)的程序運(yùn)行在WEB 服務(wù)器端,像其他類型程序設(shè)計(jì)一樣,其必須通過CGI 標(biāo)準(zhǔn)格式進(jìn)行編寫。CGI 程序的運(yùn)行由瀏覽器端的輸入觸發(fā),它的任務(wù)就是執(zhí)行指令,將所需數(shù)據(jù)轉(zhuǎn)換為環(huán)境變量進(jìn)行處理,并回傳處理結(jié)果。WEB 服務(wù)器與CGI 程序之間通過四種途徑進(jìn)行通信: 環(huán)境變量、命令行、標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出。
CGI 的基本工作過程為: 根據(jù)瀏覽器的請(qǐng)求,CGI 程序通過執(zhí)行Boa 服務(wù)器指令,調(diào)用其它應(yīng)用程序進(jìn)行處理,將處理結(jié)果以HTML 形式反饋給瀏覽器顯示。CGI 工作流程示意圖如圖3 所示。

圖3 CGI 工作流程示意圖
4. 3 系統(tǒng)測(cè)試
本系統(tǒng)的測(cè)試工作主要是在實(shí)驗(yàn)室的局域網(wǎng)環(huán)境下進(jìn)行的。
其中下位機(jī)為以S3C2440 處理器為的嵌入式目標(biāo)板,配合ZC0301 攝像頭和數(shù)字溫度傳感器DS18B20,通過構(gòu)建Linux 操作系統(tǒng)并移植Boa,將其配置成為嵌入式服務(wù)器; 下位機(jī)采用通用的PC 機(jī),通過瀏覽器與服務(wù)器進(jìn)行交互。上位機(jī)監(jiān)控端和下位機(jī)嵌入式服務(wù)器通過網(wǎng)線和上位機(jī)相連接,構(gòu)建成為局域網(wǎng)開發(fā)環(huán)境。
通過終端中運(yùn)行Boa 服務(wù)器和數(shù)據(jù)采集程序,在監(jiān)控端瀏覽器內(nèi)輸入網(wǎng)頁(yè): http: / /192. 168. 0. 6,即進(jìn)入登陸界面,如圖4 所示。

圖4 系統(tǒng)登陸主界面
實(shí)時(shí)溫度采集界面如圖5 所示。

圖5 實(shí)時(shí)溫度監(jiān)測(cè)界面
5 結(jié)束語(yǔ)
本文設(shè)計(jì)了一種了基于WEB 的嵌入式機(jī)房遠(yuǎn)程監(jiān)測(cè)系統(tǒng),在實(shí)驗(yàn)室條件下進(jìn)行測(cè)試、調(diào)試和完善。測(cè)試結(jié)果表明,監(jiān)測(cè)系統(tǒng)能夠?qū)崟r(shí)準(zhǔn)確的采集機(jī)房視頻和溫度數(shù)據(jù),并在遠(yuǎn)程瀏覽器動(dòng)態(tài)流暢顯示,實(shí)現(xiàn)了信息實(shí)時(shí)監(jiān)測(cè),滿足了應(yīng)用的需求。本文的后續(xù)工作是在現(xiàn)有的系統(tǒng)基礎(chǔ)上增加攝像頭的云臺(tái)控制功能以及嵌入式數(shù)據(jù)庫(kù)管理功能,提高系統(tǒng)的整體使用價(jià)值。
參考文獻(xiàn):
[1]. S3C2440 datasheet http://www.hbjingang.com/datasheet/S3C2440_589562.html.
[2]. ZC0301 datasheet http://www.hbjingang.com/datasheet/ZC0301+_732115.html.
[3]. DS18B20 datasheet http://www.hbjingang.com/datasheet/DS18B20+_819975.html.
[4]. ARM920T datasheet http://www.hbjingang.com/datasheet/ARM920T+_139814.html.
[5]. RISC datasheet http://www.hbjingang.com/datasheet/RISC+_1189725.html.
[6]. PC datasheet http://www.hbjingang.com/datasheet/PC+_2043275.html.
[7]. Rom datasheet http://www.hbjingang.com/datasheet/Rom_1188413.html.
[8]. frame datasheet http://www.hbjingang.com/datasheet/frame_2528858.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 保險(xiǎn)絲與 TVS 前后放置位置之爭(zhēng)2025/9/4 16:15:50
- 保護(hù)接地和保護(hù)接零的區(qū)別及適用范圍2025/9/2 17:07:04
- 10kV配電系統(tǒng)繼電保護(hù)配置與整定值計(jì)算2025/8/13 16:24:26
- 全面解析斷路器越級(jí)跳閘:原因、處理與要點(diǎn)總結(jié)2025/7/30 16:25:03
- IGBT 元件短路與過電壓保護(hù)的關(guān)鍵要點(diǎn)解析2025/7/24 15:49:28
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









