新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM9的嵌入式Web遠程實時溫度監(jiān)控系統(tǒng)設計

基于ARM9的嵌入式Web遠程實時溫度監(jiān)控系統(tǒng)設計

作者: 時間:2016-10-08 來源:網絡 收藏

摘要:提出了一種基于Web遠程實時溫度監(jiān)控系統(tǒng)的設計方法。在基于和Linux2.6內核的系統(tǒng)平臺上控制溫度傳感器DS18B20采集數據,并配置實現了Boa服務器;利用CGI實現了客戶端瀏覽器和之間的交互,并采用Ajax技術實現了溫度采集數據在遠程客戶端的動態(tài)實時顯示。
關鍵詞:;嵌入式;BOA;Ajax

在現有的各種監(jiān)控系統(tǒng)中,一部分采用傳統(tǒng)的51單片機或ARM7作為監(jiān)控系統(tǒng)的微控制器,但這類芯片受到主頻等因素的制約,無法對復雜系統(tǒng)進行控制。還有一部分系統(tǒng)采集數據的傳輸采用CAN,RS-485,RS-232等通信方式,只能在本地顯示和控制,客戶無法在遠端監(jiān)控。隨著計算機技術、網絡技術的發(fā)展,在對遠程實時監(jiān)控系統(tǒng)充分研究之后,結合當前最流行的嵌入式技術,提出一種便捷、真正能實現遠程實時的溫度監(jiān)控系統(tǒng)。采用基于ARM9和linux2.6的嵌入式平臺來采集數據,并通過搭建Boa服務器,將數據通過Internet將數據發(fā)送給遠程客戶端,并采用Ajax技術實現客戶端網頁對服務器采集數據的局部動態(tài)實時更新,客戶端也可通過頁面按鈕實現對前端采集系統(tǒng)控制。

1 系統(tǒng)組成
系統(tǒng)組成如圖1所示,主要由前端溫度采集服務器和客戶端兩部分構成,其中前端溫度采集服務器以三星公司的S3C2410 ARM9處理器為核心,并由溫度傳感器、LCD顯示、串口通信和以太網通信等部分構成;客戶端由兩部分組成,一種是前端溫度采集服務器通過internet的方式向本地客戶計算機發(fā)送采集到的數據,另一種是通過GSM模塊無線發(fā)送采集數據到用戶手機等移動設備上。

本文引用地址:http://2s4d.com/article/201610/305952.htm

a.JPG


系統(tǒng)軟件開發(fā)首先在前端溫度采集服務器上移植操作系統(tǒng)Linux2.6,在此平臺下開發(fā)相應硬件開發(fā)驅動程序,并將讀取到的溫度傳送給共享文件;在Linux2.6下配置Boa服務器;CGI程序主要實現遠程客戶端與服務器之間控制的數據交互,編寫CGI程序分別從共享文件中讀取實時更新的溫度數據并發(fā)送給遠程客戶的WEB瀏覽器以及實現遠程客戶端對服務器采集的控制;通過Ajax技術對實時的溫度數據進行實時的動態(tài)顯示;編寫程序實現GSM無線通信功能。

2 系統(tǒng)硬件設計
2.1 測溫顯示部分設計
測溫顯示部分的硬件電路如圖2所示。本系統(tǒng)的溫度傳感器采用DALLAS公司的DS18B20該傳感器具有測溫范圍廣(-55~125℃)、精度高(分辨率為0.062 5℃)的特點,而且使用簡單,無需其他電路,可直接輸出溫度值。由于本系統(tǒng)內嵌Linux2.6內核,因此在使用硬件時必須編寫驅動程序,應注要遵循嚴格的工作時序和通信協(xié)議。測溫時,首先對18B20進行初始化,然后調用驅動程序,再通過其內部的AD轉換器將模擬量轉換成16位的數字量,最后通過DO引腳將溫度值送給2410的GPIO引腳。

c.JPG


顯示部分采用移位寄存器74LS164和數碼管組成。將傳感器采集到的溫度轉換成十進制數輸出,通過移位寄存器將溫度值送給數碼管顯示。
2.2 以太網通信設計
DM9000是一款高性能和低功耗的自適應10/100M bpsCMOS芯片,完全兼容IEEE802.3u,支持10/100 M bit/s單工和雙工模式的以太網傳輸,支持IEEE802.3x全雙工流控制,具備載波多路訪問和碰撞檢測(CSMA/CD)機制,具備4k雙字SRAM的接收緩沖區(qū)。支持與處理器之間的8 bit,16 bit,32 bit接口方式。

c.JPG


S3C2410通過擴展一片DM9000來實現以太網通信,其連接電路如圖3所示。將S3C2410的數據線DATA0-DATA15連接DM9000的SD0-SD15,讀寫控制信號IOR和IOW對應連接連接S3C2410的nOE和nWE,CS片選信號由nGCS2給出。


3 系統(tǒng)軟件設計
3.1 Boa服務器在Linux下的移植及配置
目前在Linux下的WEB服務器主要有boa和httpd等。httpd是一個簡單的web Server,對認證以及CGI都不支持;而boa較httpd更為完善,尤其Boa源碼開放且性能較高。本系統(tǒng)選擇Boa作為,但是Linux內核中不包含Boa的源代碼,因此要想存本系統(tǒng)中實現Boa服務器,需要完成Boa源代碼的下載、修改和交叉編譯。之后再對boa.conf和mime.tyPes這兩個文件進行配置才能實現,其修改和配置過程如下:
1)創(chuàng)建目錄
即在root目錄下通過mkdir創(chuàng)建服務器目錄。
2)配置Web服務器的根目錄路徑(SERVER_ROOT)
可通過使用命令行boa-c/root/,的方式來指定服務器根目錄。或者還可以在boa/src/目錄下,修改define.h頭文件中的#define SERVERROOT“/root”語句來指定。
3)配置boa.conf文件。
4)最后將boa.conf文件和mime.types文件復制到web服務器的根目錄
定義默認首頁路徑以及CGI程序庫所在路徑,即Directory Idexindex.html以及ScriptAlias/cgi-bin/root/www/cgi-bin/
配置完成后進行交叉編譯,將編譯后得到的可執(zhí)行文件復制進Linux服務器的文件系統(tǒng)中,最后運行Boa服務器./Boa。
3.2 CGI編程
CGI(Common Gateway Interfac)中文解釋為通用網關接口,通過這種接口可以使Web服務器執(zhí)行外部請求再將結果轉回給應用程序,這種從用戶處接受和返回的方法實現了客戶端和Web服務器之間交互。CGI程序的語法格式要求很嚴格,原因是CGI主要通過HTTP協(xié)議實現的客戶端與服務端之間的通信,每次當用戶從客戶端向服務端發(fā)送請求消息時,該消息會處理用輸入的CGI擴展程序的URL地址的真實值,當CGI擴展程序在處理結束之后才將HTTP響應消息返回給客戶端。因此,CGI程序的輸出數據得語法格式必須和相應消息的語法格式一致,才能保證正確處理。
CGI程序的調用方法有2種:1)直接輸入地址方式。用戶在瀏覽器地址中直接輸入正確的URL地址,經Web服務器解析完URL后調用正確的CGI程序。2)在CGI程序中使用FROM表單樣式實現調用。CGI程序使用HTTP協(xié)議完成的,在HTTP表單元素中ACTION屬性值用來指定URL地址,MET HOD屬性值用來指定請求方式為GET或POST。
CGI程序可以用任何程序設計語言編寫,而且C語言的平臺無關性很好,因此本系統(tǒng)選擇擇用C來編寫CGI程序。另外,本系統(tǒng)將溫度數據保存到文件wendu.txt中,CGI是通過讀取文件來獲取數據。
3.3 客戶端AJAX控件開發(fā)
AJAXl~f即“Asynchronous Java Script and XML”(異步Java Script和XML),AJAX并非縮寫詞,而是由Jesse James Gaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術AJAX的核心理念在于使用XMLHttpRequest對象發(fā)送異步請求。
在傳統(tǒng)的JavaScript編程中,如果要從服務器上的文件或數據庫中得到任何的信息,或者向服務器發(fā)送信息的話,就必須利用一個HTML表單向服務器GET或POST數據,同時用戶還需要單擊“提交”按鈕來發(fā)送/獲取信息,等待服務器的響應,然后一張新的頁面會加載結果,這樣就使得傳統(tǒng)的web應用程序變得運行緩慢,且越來越不友好。而通過AJAX,可以用XMLHttpRequest對象來直接與服務器進行通信,即可以在不重載頁面的情況與Web服務器交換數據??蛻舳丝梢酝A粼谕粋€頁面,用戶不會注意到腳本在后臺請求過頁面,或向服務器發(fā)送過數據。本系統(tǒng)需要用戶在客戶端看到采集溫度的實時動態(tài)變化折線圖,因此選擇AJAX技術開發(fā)空間。
首先打開連接,讀取wendu.txt中的字符串,用split函數截取溫度數據存入字符數組中。
其代碼如下:
e.JPG
f.JPG
然后編寫繪制溫度時間折線圖函數,將保存溫度的字符數組作為參數傳入函數中來繪制圖像。頁面每秒刷新一次,即可實現實時繪制圖像。運行結果如圖4所示。

d.JPG


1)在頁面引入畫圖需要的Javascript文件。
2)在HTML頁面onload方法中調用function(x,y),x是時間數組,y是溫度數組。
g.JPG

4 結論
經測試,本地客戶可通過一臺上網的計算機,即可以靈活方便實現對遠程溫濕度的采集與監(jiān)控,還可以配置GSM模塊實現無線監(jiān)控。此系統(tǒng)工作穩(wěn)定,擴展性強,配置靈活,功能豐富,具有良好的移植性、通用性并在測量與控制領域有廣闊的應用前景。



評論


相關推薦

技術專區(qū)

關閉