基于Linux的傳感器網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本系統(tǒng)以AT91ARM9200作為核心芯片,以GoAheadWebServer作為嵌入式Web服務(wù)器,針對傳感器網(wǎng)絡(luò)的結(jié)構(gòu)、嵌入式Web體系結(jié)構(gòu)、嵌入式數(shù)據(jù)庫模型、嵌入式操作系統(tǒng)模型、嵌入式網(wǎng)關(guān)設(shè)計(jì)模型等進(jìn)行初步的研究與探索,提出一種無線傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)的設(shè)計(jì)方案和無線傳感器網(wǎng)絡(luò)數(shù)據(jù)管理與查詢模式,研發(fā)了基于Web的傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)系統(tǒng)。
引言傳感器網(wǎng)絡(luò)是計(jì)算機(jī)科學(xué)技術(shù)的一個(gè)新的研究領(lǐng)域,集成了傳感器、微機(jī)電系統(tǒng)和網(wǎng)絡(luò)二大技術(shù)形成的傳感器網(wǎng)絡(luò)是一種全新的信息獲取和處理技術(shù)。近幾年,在傳感器網(wǎng)絡(luò)管理、查詢和數(shù)據(jù)分發(fā)等方面的研究都得到了相當(dāng)大的發(fā)展。而傳感器網(wǎng)絡(luò)要真正投入使用,則不能完全孤立存在,需要通過網(wǎng)關(guān)設(shè)備接入外部網(wǎng)絡(luò),如Internet、局域網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng),提供用戶對無線傳感器網(wǎng)絡(luò)的遠(yuǎn)程訪問和監(jiān)測。
1.系統(tǒng)總體設(shè)計(jì)隨著通信技術(shù)、嵌入式計(jì)算技術(shù)和傳感器技術(shù)的飛速發(fā)展和日益成熟,具有感知、計(jì)算和通信能力的微型傳感器開始出現(xiàn)。由大量成本低廉的這類傳感器節(jié)點(diǎn)通過無線方式組成了傳感器網(wǎng)絡(luò)。傳感器網(wǎng)絡(luò)綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和無線通信技術(shù)等,是多學(xué)科高度交叉的新興前沿研究熱點(diǎn)領(lǐng)域之一,它具有遠(yuǎn)程監(jiān)控、實(shí)時(shí)監(jiān)測、能在惡劣或特殊環(huán)境工作。
1。1系統(tǒng)硬件平臺(tái)設(shè)計(jì)系統(tǒng)硬件平臺(tái)設(shè)計(jì)主要包括微處理器的選擇和外圍設(shè)各的選擇,本文選擇ARM處理器作為核心器件,外圍設(shè)各包括SDRAM,F(xiàn)LASH,串口、以太網(wǎng)接口等。嵌入式網(wǎng)關(guān)設(shè)備由核心板和底板組成,核心板上集成AtmelAT91RM9200處理器,64MSDRAM以及16M的FLASHoAT91ARM9200微處理器芯片是工業(yè)級(jí)200MIPSARM920T內(nèi)核,具有16K字節(jié)的指令和16K字節(jié)的數(shù)據(jù)高速緩存的處理器。
網(wǎng)關(guān)設(shè)備底板上提供以下外設(shè)接口:兩個(gè)RS-232串口和一個(gè)lOM/100M自適應(yīng)以太網(wǎng)接口。外圍硬件接口的選擇將決定整個(gè)系統(tǒng)通過何種方式接入網(wǎng)絡(luò)。目前最常見的既廉價(jià)性能又高的接入方法是采用最成熟的以太網(wǎng)絡(luò)接口,能夠滿足局域網(wǎng)接入和絕大多數(shù)寬帶網(wǎng)絡(luò)接入的要求。因此木文設(shè)計(jì)的傳感器網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)備通過以太網(wǎng)接口接入Internet,實(shí)現(xiàn)遠(yuǎn)程用戶對無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的管理。
1。2軟件平臺(tái)設(shè)計(jì)軟件平臺(tái)設(shè)計(jì)主要涉及到兩大方而:一是與硬件相關(guān)的軟件部分:二是應(yīng)用軟件部分。與硬件相關(guān)的軟件包括基于ARM的Linux內(nèi)核移植、引導(dǎo)程序移植等。應(yīng)用軟件主要包括兩大部分:一為WebServe:和TCP/IP協(xié)議棧;二為傳感器網(wǎng)絡(luò)數(shù)據(jù)采集、融合及存儲(chǔ)等部分,該部分包括遠(yuǎn)程管理模塊、查詢指令分析處理模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)分析與融合模塊及數(shù)據(jù)采集模塊。
2。硬件電路設(shè)計(jì)本系統(tǒng)硬件平臺(tái)設(shè)計(jì)成兩大部分,一是核心板部分,集成了AtmelAT91RM9200處理器,64MSDRAM以及16M的FLASH存儲(chǔ)器:二是底板部分,由兩個(gè)四線RS-232串口和一個(gè)10M/100M自適應(yīng)以太網(wǎng)接口等組成。
2。1SDRAM存儲(chǔ)器SDRAM(SynchronousDynamicRAM)同步動(dòng)態(tài)存儲(chǔ)器,使用SDRAM小但能提高系統(tǒng)表現(xiàn),還能簡化設(shè)計(jì)、提供高速的數(shù)據(jù)傳輸。在功能上,已類似常規(guī)的DRAM,但是也需要時(shí)鐘進(jìn)行刷新。在系統(tǒng)運(yùn)行時(shí),所有的程序和數(shù)據(jù)都是在RAM(主要是在SDRAM)中與CPU和外圍設(shè)各交互,所以SDRAM的速度對于整個(gè)系統(tǒng)的運(yùn)行速度有著至關(guān)重要的影響。
本文采用了兩片Hynix公司的HY57V281620BTSDRAM芯片,16MX16位數(shù)據(jù)寬度,共64MSDRAM。AT91RM9200內(nèi)置有SDRAM控制器(SDRAMC),具有SDRAM控制接口,為簡化電路設(shè)計(jì)提供了很大的方便,電路如圖1所示。
圖1SDRAM存儲(chǔ)器電路2。2RS232串行通信口目前RS-232是PC機(jī)與通信土業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取小平衡傳輸方式,即所謂單端通訊。AT91RM9200輸出的串行信號(hào)是TTL電平,必須經(jīng)過電平轉(zhuǎn)換輸出符合EIA/TIA-232電平,電路設(shè)計(jì)見圖3。
圖2接收傳感器網(wǎng)絡(luò)數(shù)據(jù)的串口電路
圖3MAC控制器框圖2。3100M以太網(wǎng)AT91RM9200集成有以太網(wǎng)控制器EMAC(EthernetMAC)使這款芯片具有了更為廣泛的應(yīng)用價(jià)值。從硬件的角度看,以太網(wǎng)接口電路主要由MAC控制器和物理層接口兩大部分構(gòu)成。該設(shè)計(jì)中,使用LXT972作為以太網(wǎng)的物理層接口。LXT972是一款低功耗、高性能芯片,支持lOM和100M的以太網(wǎng)傳輸,它起編碼、譯碼輸入和輸出數(shù)據(jù)的作用。由于LXT972和AT91RM9200具有的EMAC都支持MII接口功能,根據(jù)信號(hào)的定義相連接即可。信號(hào)的發(fā)送和接收端通過網(wǎng)絡(luò)隔離變壓器和RJ45接口接入傳輸媒體,Emac框圖如圖4。
圖4通過CGI訪問數(shù)據(jù)庫3軟件平臺(tái)設(shè)計(jì)3。1嵌入式WebServer軟件分析與實(shí)現(xiàn)作為傳感器網(wǎng)絡(luò)管理系統(tǒng),本文設(shè)計(jì)的初衷就是希望監(jiān)測端可以在任何有Internet的地方,客戶通過Internet訪問系統(tǒng),系統(tǒng)檢查客戶的權(quán)限,權(quán)限通過即能取得對系統(tǒng)的監(jiān)測權(quán)。
如果使用客戶端/服務(wù)器模式把系統(tǒng)設(shè)計(jì)成一個(gè)服務(wù)器,客戶端就可以通過某種建立在TCP/IP協(xié)議(如FTP,TELNET,HTTP等協(xié)議)之上的應(yīng)用層協(xié)議來訪問服務(wù)器。CGI(CommonGatewayInterface)即公用網(wǎng)關(guān)接口,它是程序和應(yīng)用軟件用來與網(wǎng)絡(luò)服務(wù)器軟件連接的通用標(biāo)準(zhǔn),CGI提供網(wǎng)絡(luò)瀏覽器和數(shù)據(jù)信息之間的傳送業(yè)務(wù)。CGI是一段程序,它運(yùn)行在Web服務(wù)器上,提供同客戶端HTML頁面的接口。CGI腳本程序啟動(dòng)后,服務(wù)器將客戶端的信息傳給此程序,該程序?qū)蛻舻男畔⑻幚砗?,將運(yùn)行結(jié)果交給服務(wù)器,由服務(wù)器負(fù)責(zé)再向客戶端傳遞。CGI主要運(yùn)用于處理搜索引擎和一般表單。
本系統(tǒng)選用Sqlite作為系統(tǒng)的數(shù)據(jù)庫,并將Sqlite移植到arm板上,然后建立自己的數(shù)據(jù)庫sensor。db,然后按需要建立表,用山于測試需要,本文設(shè)計(jì)了兩個(gè)來存儲(chǔ)經(jīng)過分析綜合處理后的傳感器數(shù)據(jù)信息。數(shù)據(jù)表和一個(gè)用戶表,分別為light(光感強(qiáng)度表)、temperature(溫度表)和user(用戶表用來鑒定遠(yuǎn)程登錄用戶的合法性)。[!--empirenews.page--]
由于CGI程序是用C語言編寫的,經(jīng)過編譯生成可執(zhí)行的二進(jìn)制代碼,所以它具有占用空間小,運(yùn)行速度快,安全可靠等優(yōu)點(diǎn)。該sql。cgi程序啟動(dòng)后首先查詢用戶表完成用戶名和密碼的鑒定,如果是合法用戶則根據(jù)用戶的查詢條件查詢數(shù)據(jù)庫中的溫度或光感強(qiáng)度數(shù)據(jù)表將查詢結(jié)果顯示在主頁上,若為非法用戶則給出登陸錯(cuò)誤提示信息返回到主頁。
4結(jié)論本文創(chuàng)新點(diǎn):本文針對基于Web的傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)系統(tǒng)開發(fā)的需求,通過對傳感器網(wǎng)絡(luò)的結(jié)構(gòu)、嵌入式Web體系結(jié)構(gòu)、嵌入式數(shù)據(jù)庫模型、嵌入式操作系統(tǒng)模型、嵌入式網(wǎng)關(guān)設(shè)計(jì)模型等進(jìn)行初步的研究與探索,并利用現(xiàn)有的開發(fā)平臺(tái)和開發(fā)工具,對基十Linux的嵌入式系統(tǒng)開發(fā)模式、嵌入式Internet技術(shù)進(jìn)行實(shí)踐。完成了基于Web的傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)系統(tǒng)的硬件設(shè)計(jì)和軟件平臺(tái)設(shè)計(jì)。該網(wǎng)關(guān)可有效進(jìn)行傳感器網(wǎng)絡(luò)數(shù)據(jù)管理與存儲(chǔ),實(shí)現(xiàn)用戶對傳感器網(wǎng)絡(luò)數(shù)據(jù)的遠(yuǎn)程查詢和監(jiān)視功能。