李紅 平頂山學(xué)院 信息工程學(xué)院 河南平頂山 467000
?
基于ARM9的環(huán)境監(jiān)控系統(tǒng)在基站中的應(yīng)用
李紅平頂山學(xué)院信息工程學(xué)院河南平頂山467000
【文章摘要】
針對日前基站環(huán)境監(jiān)控系統(tǒng)的應(yīng)用狀況,提出了一種在ARM嵌入式平臺上實(shí)現(xiàn)基站環(huán)境監(jiān)控系統(tǒng)的方法。本文選用S3C2440為硬件控制核心,通過對嵌入式Linux操作系統(tǒng)的移植以及相關(guān)應(yīng)用程序開發(fā),實(shí)現(xiàn)了一種基于Boa服務(wù)器的基站環(huán)境監(jiān)控系統(tǒng)。為今后嵌入式監(jiān)控系統(tǒng)在基站中的應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ)。
【關(guān)鍵詞】
嵌入式Linux;S3C2440;系統(tǒng)移植;監(jiān)控系統(tǒng)
本文的設(shè)計(jì)內(nèi)容為基站環(huán)境監(jiān)控系統(tǒng),最終的目標(biāo)是實(shí)現(xiàn)一種應(yīng)用于基站的環(huán)境監(jiān)控系統(tǒng),該系統(tǒng)可以在服務(wù)器主頁上實(shí)時顯示基站的溫度、濕度、粉塵濃度,并且能夠通過主頁對基站各處的燈光進(jìn)行控制。
本課題最終使用天祥電子推出的TX2440A開發(fā)板作為硬件設(shè)備,運(yùn)用嵌入式Linux作為終端操作系統(tǒng),本課題主要進(jìn)行了終端操作系統(tǒng)的移植、應(yīng)用程序驅(qū)動設(shè)計(jì)和移植以及服務(wù)器主網(wǎng)頁制作等工作,下面進(jìn)行具體的介紹。
1.1U-boot的移植
U-boot作為通用的 Bootloader 可以方便地移植到其他的硬件平臺上。且此次研究使用較為穩(wěn)定的1.1.6版本,且交叉編譯工具使用的是3.2.2版本,移植的具體操作步驟如下:
首先在對頂層Makefile文件進(jìn)行修改后,由于主控芯片相似,故現(xiàn)將smdk2410的相關(guān)文件都更改為TX2440。然后進(jìn)入頂層目錄,測試能否編譯成功 。最終還需對SDRAM的相關(guān)文件進(jìn)行配置包括lowlevel_init.S、speed. c等。
1.2Linux內(nèi)核的移植
Linux的內(nèi)核移植步驟具體如下:⑴、修改Linux目錄頂層Makefile,指定系統(tǒng)硬件架構(gòu)與交叉編譯器。
⑵、修改arch/arm/mach-s3c2440/ mach-smdk2440.c。⑶、配置內(nèi)核:#make menuconfig <—進(jìn)入圖形化配置界面,導(dǎo)入S3C24XX系列開發(fā)板板級支持包(BSP)。
在完成上述操作后,內(nèi)核能正常在目標(biāo)板上運(yùn)行并完成最基本的功能。之后可根據(jù)相關(guān)需求增加相應(yīng)功能。
1.3構(gòu)建根文件系統(tǒng)
根文件系統(tǒng)是存放 Linux 系統(tǒng)所必須的各種工具軟件、庫文件、腳本、配置文件和其他特殊文件的地方, 也可以包括各種軟件包。根文件系統(tǒng)一般包括如下內(nèi)容:1)基本的文件系統(tǒng)結(jié)構(gòu), 包含一些必須的目錄, 比如:⑴、/dev, /proc, /bin, /etc, /lib, /usr, /tmp。⑵、基本程序運(yùn)行所需的庫函數(shù), 如:Glibc/uC- libc。⑶、基本的系統(tǒng)配置文件。⑷、必要的設(shè)備支持文件。⑸、基本的應(yīng)用程序等。
2.1數(shù)字溫度采集模塊驅(qū)動設(shè)計(jì)
該系統(tǒng)使用DS18B20溫度傳感器對基站機(jī)房內(nèi)部溫度進(jìn)行采集,用戶能夠通過以太網(wǎng)對目標(biāo)板Boa服務(wù)器進(jìn)行訪問,通過服務(wù)器主頁所顯示的遠(yuǎn)端基站實(shí)時溫度。溫度傳感器DS18B20采集溫度的工作流程如圖1所示:
圖1 DS18B20采集溫度的工作流程
以上提及到的函數(shù)都是在DS18B20模塊的驅(qū)動中實(shí)現(xiàn)的。溫度傳感器在Linux操作系統(tǒng)dev目錄下,可調(diào)用函數(shù)fd=open(“/dev/ TX2440-dsl8b20”,0),打開Linux操作系統(tǒng)中的溫度傳感器DS18B20。其中,fd是傳感器設(shè)備開啟后返回的文件描述符。關(guān)閉溫度傳感器 DS18B20的函數(shù)為close(fd)。
2.2ADC數(shù)字轉(zhuǎn)換模塊驅(qū)動設(shè)計(jì)
該系統(tǒng)使用兩個可調(diào)阻值電阻RP1、RP2對基站機(jī)房內(nèi)的濕度、粉塵濃度進(jìn)行模擬采集。通過RP1、RP2電阻值的改變,模擬出濕度與粉塵濃度的實(shí)時變化。ADC工作流程圖如圖2所示:
圖2 ADC工作流程
在嵌入式Linux操作系統(tǒng)中,要打開ADC設(shè)備則需要調(diào)用fd = open("/dev/TX2440-adc",0)實(shí)現(xiàn)。使用ret = ioctl(fd, ch, 0)實(shí)現(xiàn)ADC轉(zhuǎn)換通道的選擇。其中,關(guān)閉ADC轉(zhuǎn)換的函數(shù)close(fd)。 2.3 創(chuàng)建嵌入式web服務(wù)器
Boa 是一款單任務(wù)的 HTTP 服務(wù)器,它會為 CGI 程序創(chuàng)建新的進(jìn)程。同時它還具有自動生成目錄、自動解壓文件等功能, 因此, Boa具有很高的 HTTP 請求處理速度和效率, 在嵌入式系統(tǒng)中具有很高的應(yīng)用價值。
Boa的具體移植步驟過程如下:⑴、使用4.1.2交叉編譯器編譯Boa服務(wù)器,并對Boa服務(wù)器的源碼所支持的構(gòu)架進(jìn)行設(shè)置,使其支持嵌入式平臺。⑵、 配置boa的相關(guān)目,主要是對Boa.conf文件進(jìn)行相應(yīng)的配置。
環(huán)境監(jiān)控系統(tǒng)主頁面實(shí)現(xiàn)分為兩部分,第一部分包括登陸部分使用logic.c實(shí)現(xiàn)以及主頁面的實(shí)時監(jiān)控部分,其中分別包括LED、ADC、溫度傳感器等程序來進(jìn)行實(shí)現(xiàn)。第二部分是對頁面的制作,包括登陸界面以及主控界面的編寫。環(huán)境監(jiān)控主頁面如圖3所示:
圖3 主頁面效果圖
本次課題基本完成最初的既定目標(biāo),完成了一個基于嵌入式的基站遠(yuǎn)程監(jiān)控系統(tǒng)。遠(yuǎn)程客戶端可以通過以太網(wǎng)登陸嵌入式服務(wù)器。對遠(yuǎn)端基站環(huán)境工況得到實(shí)時的監(jiān)控。并對未來進(jìn)一步完善應(yīng)用于基站的環(huán)境工況數(shù)據(jù)系統(tǒng),打下了一定技術(shù)基礎(chǔ)。
【參考文獻(xiàn)】
[1] 葉培順 嵌入式Linux在s3c2440上的移植 電子設(shè)計(jì)工程2011.8第15期
[2] 邵長彬 李洪亮 用 Busybox 制作嵌入式Linux 根文件系統(tǒng) 《微計(jì)算機(jī)信息》(嵌入式與 SOC)2007年第 23 卷 第 10-2 期
[3] 玉海超,王紅蕾.基于ARM的智能網(wǎng)絡(luò)家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息技術(shù), 2012(4):162-165.
[4] 劉曉彤.嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:交通大學(xué)碩士學(xué)位論文, 2009.
[5] 陸永健 王 萍 吳 佳 張永力 嵌入式 Web服務(wù)器 Boa 的移植及其應(yīng)用 河海大學(xué)常州分校學(xué)報 2005.12第 19 卷 第 4 期.