正文 基於ARM9的嵌入式Web服務器數據動態顯示的實現(1 / 3)

基於ARM9的嵌入式Web服務器數據動態顯示的實現

學術研究

作者:陳侃鬆 劉洪波 熊攀

摘 要:隨著無線傳感網絡的迅猛發展,將嵌入式係統接入互聯網已成為無線傳感網絡研究中的熱點,其中通過訪問嵌入式服務器網頁實現采集數據的動態顯示是一個技術難點。文中采用DS18B20溫度傳感器采集溫度,在嵌入式網關搭建ARM-Linux開發平台;然後移植BOA服務器;同時利用CGI程序、Ajax技術及HTML語言,在上位機通過訪問嵌入式網關,從而實現了對傳感器節點采集的溫度數據在網頁中的動態顯示。實際應用表明,該係統消耗CPU資源少,可減輕服務器負擔,而且無需刷新頁麵更新數據,因而可減少用戶實際等待的時間。

關鍵詞:嵌入式服務器;ARM-Linux;CGI;Ajax;動態顯示

中圖分類號:TP311 文獻標識碼:A 文章編號:2095-1302(2014)03-0018-02

0 引 言

當今,以互聯網為標誌的嵌入式係統正處於一個飛速發展的階段。嵌入式係統接入Internet後,相當於一個功能齊全的小型Web服務器,用戶在上位機打開瀏覽器,通過Internet即可獲取該Web服務器上的數據信息,從而實現了對現場信息的遠程監控,而且這種基於HTML語言標準化的Web用戶界麵降低了係統開發、維護以及人員培訓的費用[1]。

對於無線傳感網絡來說,可將嵌入式網關作為Web服務器,用戶在上位機通過Internet訪問網頁的方式獲取下位機傳感器節點采集的數據。基於此,本係統采用DS18B20溫度傳感器和ZigBee[2]無線通信模塊構成無線傳感網絡,以ARM9作為核心處理器搭建嵌入式Web服務器Boa和嵌入式數據庫SQLite,采用C語言、HTML語言、JavaScript程序、CGI程序、Ajax技術,實現了對遠端傳感器節點采集信息的處理、存儲及在網頁上的動態顯示。

1 係統硬件整體設計

本係統的硬件主要由3部分組成:上位機PC端、嵌入式網關(ARM9)和ZigBee無線網絡,係統的整體設計框。

ZigBee無線網絡由傳感器節點和協調器構成,傳感器節點將采集的信息經協調器發送至網關,同時協調器也可接收網關發送的指令進而控製節點的打開與關閉。嵌入式網關介於上位機和傳感器節點之間,它既要支持TCP/IP協議,允許用戶通過Internet訪問,又要實現無線網絡和Internet之間的地址映射、協議轉換和路由功能,類似於Internet網關[3]。由於嵌入式網關CPU串口引腳不是標準RS232電平,在ZigBee與網關之間需加入電平轉換電路[4]。PC端即上位機客戶端,用戶在上位機通過瀏覽器輸入嵌入式網關的IP地址可進入係統登錄界麵,登錄後用戶經管理係統獲取傳感器節點采集的數據,以訪問網頁的方式實時顯示數據信息,並可輸入指令實現對下位機傳感器節點的控製。本文重點介紹嵌入式網關Web服務器的設計,實現溫度數據在上位機的動態顯示。

2 嵌入式Web服務器的搭建

硬件電路采用ARM9微處理器及外圍電路,開發環境:MINI2440,Linux_2.6.32.2內核,虛擬機Redhat5,交叉編譯版本ARM-Linux-gcc-4.3.2。主要工作包括Linux內核移植、根文件係統製作、交叉編譯工具安裝、Web服務器源碼分析等。

2.1 交叉編譯工具安裝

交叉編譯即在一個平台上編譯生成可在另一平台運行的代碼[5]。本設計包括安裝Linux係統的宿主機和基於ARM MINI2440的目標板,由於二者處理器體係結構不同,因此需借助交叉編譯工具在宿主機編譯生成目標板上可運行的機器代碼。本係統使用交叉編譯工具版本為ARM-Linux-gcc-4.3.2,將其拷貝到宿主機係統,把編譯器路徑加入環境變量保存,重啟係統後在終端輸入arm-linux-gcc –v出現交叉編譯工具版本信息,表示交叉編譯器安裝成功。