亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式Linux的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點

        2012-07-18 06:15:16劉士興孟召晶謝武軍
        關(guān)鍵詞:嵌入式系統(tǒng)

        劉士興, 孟召晶, 石 波, 謝武軍

        (合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230009)

        基于嵌入式Linux的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點

        劉士興, 孟召晶, 石 波, 謝武軍

        (合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230009)

        文章研制了一種基于嵌入式Linux的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點,能夠組建管理無線傳感器網(wǎng)絡(luò),負責(zé)收集融合來自傳感節(jié)點的數(shù)據(jù),與外界實現(xiàn)通信,并將接收處理的數(shù)據(jù)以動態(tài)網(wǎng)頁的形式提供給用戶訪問。匯聚節(jié)點硬件部分選用ARM9處理器S3C2440作為主控芯片,軟件設(shè)計包括與硬件密切相關(guān)的嵌入式Linux系統(tǒng)軟件開發(fā)平臺的建立和遠程監(jiān)控體系的實現(xiàn)。實驗結(jié)果表明,采用基于AJAX技術(shù)設(shè)計的匯聚節(jié)點實現(xiàn)了無線傳感器網(wǎng)絡(luò)數(shù)據(jù)接收的功能,并能夠?qū)?shù)據(jù)以動態(tài)網(wǎng)頁的形式提供給遠端客戶。

        無線傳感器網(wǎng)絡(luò);匯聚節(jié)點;Linux系統(tǒng);Web服務(wù)器;AJAX技術(shù)

        0 引 言

        人類社會正處于一個高速發(fā)展的信息時代,無線傳感器網(wǎng)絡(luò)(WSN)作為新型的信息獲取系統(tǒng)已經(jīng)掀起了信息科學(xué)領(lǐng)域中的一場革命。嵌入式Internet技術(shù)是以太網(wǎng)技術(shù)和嵌入式技術(shù)結(jié)合的一個必然產(chǎn)物,它是近幾年發(fā)展起來的一項新興的技術(shù),已經(jīng)成為計算機遠程監(jiān)控技術(shù)研究中的熱點與重點[1-7]。

        嵌入式Internet技術(shù)實現(xiàn)Internet的信息范圍更廣,信息類型更多,使得Internet的網(wǎng)絡(luò)覆蓋更大,而將無線傳感器網(wǎng)絡(luò)數(shù)據(jù)接入Internet也正是基于這一目的,使得無線傳感器網(wǎng)絡(luò)中的數(shù)據(jù)可以被普通的Internet用戶訪問。嵌入式Linux操作系統(tǒng)由于其諸多優(yōu)勢使得其得到大量采用,使用嵌入式Linux操作系統(tǒng)的嵌入式設(shè)備遍布各個領(lǐng)域。特別是強大的網(wǎng)絡(luò)功能,可以幫助開發(fā)人員十分方便地進行嵌入式Internet的研發(fā)。本文設(shè)計的匯聚節(jié)點硬件上采用ARM芯片,是一種基于ARM9與嵌入式Linux的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點,軟件上在嵌入式Linux操作系統(tǒng)的基礎(chǔ)上進行研發(fā),節(jié)點能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)的嵌入式Internet接入,從而實現(xiàn)探測數(shù)據(jù)的遠程監(jiān)控。

        1 匯聚節(jié)點的硬件設(shè)計

        本文設(shè)計的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點的硬件總體結(jié)構(gòu)如圖1所示。其主要功能是通過網(wǎng)絡(luò)芯片實現(xiàn)采集數(shù)據(jù)的Internet接入。

        系統(tǒng)的核心單元采用Samsung公司的ARM9嵌入式處理器S3C2440,實現(xiàn)整個系統(tǒng)的控制。系統(tǒng)的存儲系統(tǒng)包括SDRAM和FLASH,為了實現(xiàn)系統(tǒng)的調(diào)試,加入了串口模塊和JTAG模塊。CC2430射頻芯片實現(xiàn)無線傳感器網(wǎng)絡(luò)的創(chuàng)建管理與數(shù)據(jù)收集的功能,Internet網(wǎng)絡(luò)接入芯片采用DM9000,電源模塊與復(fù)位模塊實現(xiàn)了系統(tǒng)的供能和復(fù)位。

        圖1 系統(tǒng)硬件總體框圖

        2 匯聚節(jié)點的軟件設(shè)計

        2.1 嵌入式Linux系統(tǒng)的移植

        與系統(tǒng)硬件密切相關(guān)的嵌入式系統(tǒng)軟件平臺的實現(xiàn),主要工作包括嵌入式Linux系統(tǒng)的移植和設(shè)備驅(qū)動的開發(fā)[2-3]。軟件平臺的實現(xiàn)屏蔽了系統(tǒng)的硬件特性,是無線傳感器網(wǎng)絡(luò)匯聚節(jié)點的遠程監(jiān)控軟件的實現(xiàn)基礎(chǔ)。

        2.2 遠程監(jiān)控軟件系統(tǒng)

        將Linux操作系統(tǒng)移植到硬件平臺,再做好相關(guān)硬件的驅(qū)動程序,下一步將進行應(yīng)用軟件的開發(fā),無線傳感器網(wǎng)絡(luò)匯聚節(jié)點的遠程監(jiān)控服務(wù)軟件系統(tǒng)結(jié)構(gòu)如圖2所示。

        無線傳感器網(wǎng)絡(luò)匯聚節(jié)點中的CC2430芯片負責(zé)控制整個無線傳感器網(wǎng)絡(luò)的運行和接收各個節(jié)點采集到的數(shù)據(jù),并將接收到的數(shù)據(jù)初步處理,然后通過虛擬總線打包發(fā)送給S3C2440,S3C2440芯片接收到發(fā)送來的數(shù)據(jù)包,解包后將數(shù)據(jù)送到數(shù)據(jù)存儲區(qū)。在Linux系統(tǒng)中移植一個Boa Web服務(wù)器,使用CGI編程技術(shù)和AJAX技術(shù)實現(xiàn)動態(tài)網(wǎng)頁,用戶終端就可以通過瀏覽器訪問到實時數(shù)據(jù),如果需要保存,也可以將數(shù)據(jù)保存到客戶端。

        圖2 遠程監(jiān)控服務(wù)軟件系統(tǒng)

        2.2.1 ARM系統(tǒng)對CC2430監(jiān)控程序

        在ARM-Linux軟件系統(tǒng)中處理來自CC2430的數(shù)據(jù)包,過程如下:程序開始運行,首先調(diào)用CC2430設(shè)備驅(qū)動中的cc2430-apaceropen函數(shù),完成對CC2430設(shè)備的打開和一些設(shè)置工作。然后將打開數(shù)據(jù)存儲區(qū),用以存儲來自無線傳感器網(wǎng)絡(luò)中的數(shù)據(jù)。之后,系統(tǒng)將進入循環(huán)狀態(tài),調(diào)用select函數(shù)實現(xiàn)對CC2430設(shè)備的監(jiān)測,如果沒有數(shù)據(jù)到來則程序在此阻塞,一直到CC2430中有數(shù)據(jù)發(fā)送過來。當(dāng)有數(shù)據(jù)包發(fā)送過來后,使用read函數(shù)讀取數(shù)據(jù)包,按照協(xié)議解析數(shù)據(jù)包,將數(shù)據(jù)送到數(shù)據(jù)存儲區(qū)。在數(shù)據(jù)讀寫過程中,為了避免出現(xiàn)對數(shù)據(jù)存儲區(qū)同時讀寫的情況發(fā)生,利用鎖定函數(shù)將數(shù)據(jù)存儲區(qū)加鎖,再將數(shù)據(jù)寫入數(shù)據(jù)存儲區(qū),數(shù)據(jù)寫好后再解鎖以供Internet客戶端訪問,至此就完成了一個數(shù)據(jù)包的接收,然后重新監(jiān)測CC2430設(shè)備,等待下個數(shù)據(jù)包的到來,其流程如圖3所示。

        圖3 CC2430控制程序流程

        2.2.2 嵌入式Boa Web服務(wù)器的實現(xiàn)

        Boa Web服務(wù)器是一款開源的單任務(wù)嵌入式Web服務(wù)器軟件,其設(shè)計目標就是高速和安全性。與一般的Web服務(wù)器不同,Boa并不為每個連接開辟一個進程,更不為多路復(fù)用的處理而增加進程,Boa對所有的活動的連接進行內(nèi)部處理,只為調(diào)用的CGI程序開辟新的進程,這樣Boa運行起來占用的資源就少、速度快,相對于另一款嵌入式Web服務(wù)器Apache,Boa的速度比Apache快2倍以上。Boa從新到達的套接字獲得HTTP請求(由一個request結(jié)構(gòu)來存儲),并將其保存在隊列當(dāng)中。首先,get-request()將從套接字獲得的數(shù)據(jù)全部保存在request→header-line中,然后調(diào)用process-request()來處理在隊列中的每一個請求。根據(jù)request結(jié)構(gòu)中status所表示的不同狀態(tài),將進行不同的處理。如果這個請求符合HTTP協(xié)議,則會調(diào)用process-option-line()將一些頭部信息填寫到request結(jié)構(gòu)中完成這些環(huán)境變量的設(shè)置,隨后process-h(huán)eader-end()會對用戶進行驗證。如果驗證通過,則判斷request結(jié)構(gòu)中的is-cgi,非0則是CGI程序,調(diào)用init-cgi()函數(shù)進行處理,為0則是靜態(tài)頁面,調(diào)用init-get()函數(shù)進行處理。Boa的運行流程如圖4所示。

        圖4 Boa Web服務(wù)器工作流程

        2.2.3 基于AJAX的實時監(jiān)控動態(tài)網(wǎng)頁

        基于無線傳感器網(wǎng)絡(luò)的實時監(jiān)控動態(tài)網(wǎng)頁,采用基于AJAX技術(shù)(asynchronous JavaScript and XML,簡稱AJAX)與CGI技術(shù)實現(xiàn)。用戶需要動態(tài)監(jiān)控?zé)o線傳感網(wǎng)絡(luò)數(shù)據(jù)時,通過網(wǎng)頁中的表單向AJAX引擎發(fā)送請求,AJAX引擎定時地向Web服務(wù)器發(fā)送請求調(diào)用服務(wù)器中的CGI程序獲取網(wǎng)絡(luò)實時數(shù)據(jù),刷新網(wǎng)頁中的局部數(shù)據(jù)。

        通用網(wǎng)關(guān)接口CGI(Common Gateway Interface,簡稱CGI)是外部擴展應(yīng)用程序與Web服務(wù)器進行數(shù)據(jù)交流的一種接口,Web服務(wù)器控制調(diào)用CGI程序可以實現(xiàn)外部應(yīng)用程序的執(zhí)行,CGI程序就是按照標準接口編程實現(xiàn)的運行于Web服務(wù)器上的一種程序[8]。

        在匯聚節(jié)點的軟件系統(tǒng)中,CGI程序主要的功能是向客戶端返回?zé)o線傳感器網(wǎng)絡(luò)中的實時數(shù)據(jù),程序流程圖如圖5所示。

        圖5 CGI程序流程

        CGI程序被Web服務(wù)器調(diào)用后,服務(wù)器會為CGI程序開辟一個新的進程,CGI進程開始后首先定義進程中將會用到的變量,并將它們初始化,然后打開數(shù)據(jù)緩存,將來自無線傳感器網(wǎng)絡(luò)中的實時數(shù)據(jù)讀取出來,并加以處理,得到客戶所需要的數(shù)據(jù)表達方式,通過標準輸出流傳遞給客戶端。

        2.2.4 基于FileSystemObject對象的數(shù)據(jù)存儲

        為了實現(xiàn)在客戶端保存動態(tài)網(wǎng)頁中的數(shù)據(jù),使用了JavaScript中的FileSystemObject對象來操作本地磁盤文件用以達到實時數(shù)據(jù)保存的目的。

        當(dāng)客戶需要實時存儲無線傳感器網(wǎng)絡(luò)中的數(shù)據(jù)時,通過表單向AJAX引擎發(fā)送數(shù)據(jù)存儲請求。AJAX引擎在接收到請求后,創(chuàng)建一個XmlHttpRequest對象,設(shè)置XmlHttpRequest對象的返回處理函數(shù),在這個處理函數(shù)中使用File-SystemObject對象實現(xiàn)一次數(shù)據(jù)的存儲。通過調(diào)用open函數(shù)初始化請求,send函數(shù)發(fā)送請求通知服務(wù)器啟動一個CGI程序,從數(shù)據(jù)存儲區(qū)讀取網(wǎng)絡(luò)數(shù)據(jù)并且按照存儲格式返回給客戶端。多次數(shù)據(jù)存儲的實現(xiàn),是通過定時的方式實現(xiàn)的,本設(shè)計將時間間隔定位500ms。

        創(chuàng)建FileSystemObject對象主要有2種方式:一種是將對象聲明為FileSystemObject對象類型;另一種是用CreateObject方法創(chuàng)建一個FileSystemObject對象,這里選擇第2種方法,代碼如下:

        執(zhí)行上述代碼后,fso就變成了一個FileSystemObject對象。運用FileSystemObject對象創(chuàng)建文本文件,建立一個存儲數(shù)據(jù)的純文本文件。使用OpenTextFile創(chuàng)建文件的方式如下所示:

        通過OpenTextFile打開/創(chuàng)建一個文件后,ts就成為了該文件的句柄,通過訪問該句柄來訪問FileSystemObject對象的相關(guān)屬性,將從服務(wù)器讀取的數(shù)據(jù)寫入文件。利用FileSystemObject對象將來自服務(wù)器端的數(shù)據(jù)存入本地磁盤的流程,如圖6所示。

        圖6 基于FileSystemObject 1次數(shù)據(jù)存儲流程

        3 系統(tǒng)測試試驗

        實驗中,采用CC2430通用無線節(jié)點與匯聚節(jié)點構(gòu)成一個星型拓撲結(jié)構(gòu)的無線傳感器網(wǎng)絡(luò),匯聚節(jié)點接入Internet,設(shè)置匯聚節(jié)點的IP為192.168.1.230,選擇一臺加入網(wǎng)絡(luò)的計算機作為客戶端。匯聚節(jié)點負責(zé)無線傳感器網(wǎng)絡(luò)的創(chuàng)建,通用節(jié)點上電后搜索加入無線傳感器網(wǎng)絡(luò)。網(wǎng)絡(luò)組建成功后,通用節(jié)點會定時地向匯聚節(jié)點發(fā)送數(shù)據(jù)包,數(shù)據(jù)是預(yù)先設(shè)定好的,匯聚節(jié)點接收到數(shù)據(jù)包后進行處理和解包,將數(shù)據(jù)存儲等待遠端客戶通過Internet訪問。

        匯聚節(jié)點上,Boa Webserver自動運行等待客戶端的訪問請求。在客戶端計算機打開支持JavaScript的瀏覽器,匯聚節(jié)點通過HTTP協(xié)議傳輸無線傳感器網(wǎng)絡(luò)動態(tài)監(jiān)控數(shù)據(jù)。動態(tài)監(jiān)控首頁上點擊一下send按鈕就可以發(fā)送動態(tài)監(jiān)控請求,8個通用無線節(jié)點所發(fā)送的數(shù)據(jù)包經(jīng)過解包后的結(jié)果就會實時地在網(wǎng)頁中顯示,其效果如圖7所示。

        圖7 無線傳感器網(wǎng)絡(luò)實時數(shù)據(jù)監(jiān)測頁面

        4 結(jié)束語

        本文研究設(shè)計了基于嵌入式Linux的無線傳感器網(wǎng)絡(luò)匯聚節(jié)點的系統(tǒng)硬件,對系統(tǒng)軟件設(shè)計進行了詳細的分析。系統(tǒng)軟件設(shè)計主要分為2個模塊:①Linux操作系統(tǒng)的移植與硬件設(shè)備驅(qū)動;② 系統(tǒng)監(jiān)控服務(wù)軟件設(shè)計。在實驗環(huán)境下對匯聚節(jié)點功能進行了測試,結(jié)果表明,設(shè)計的匯聚節(jié)點以及軟件平臺達到了系統(tǒng)設(shè)計之初的預(yù)想,能通過互聯(lián)網(wǎng)對遠程的匯聚節(jié)點所采集的數(shù)據(jù)進行實時動態(tài)監(jiān)測以及對監(jiān)測到的數(shù)據(jù)進行選擇性保存。下一步,將把該設(shè)計匯聚節(jié)點通過實際應(yīng)用環(huán)境的考驗,并充分考慮系統(tǒng)平臺的實用成本,擴展本設(shè)計匯聚節(jié)點的應(yīng)用范圍。

        [1]David Geer.Survey:embedded linux ahead of the pack[J].The IEEE Computer Society,2004,10(5):3-7.

        [2]于 明,范書增,曾祥燁.ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)教程[M].北京:電子工業(yè)出版社,2006:81-85.

        [3]鄭靈翔.嵌入式Linux系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2008:61-70.

        [4]馮國進.嵌入式Linux驅(qū)動程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2008:1-10.

        [5]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:中國人民大學(xué)出版社,2008:6-14.

        [6]JoBathan Corbet,Alessandro Rubini,Greg Kroah-Hartman.Linux設(shè)備驅(qū)動程序[M].第3版.2006:21-457.

        [7]王文光,劉士興,謝武軍.無線傳感器網(wǎng)絡(luò)概述[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2010,33(9):1416-1419,1437.

        [8]鄭 偉,徐榮華,王欽若.嵌入式Linux系統(tǒng)CGI程序設(shè)計技術(shù)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2004(10):21-24.

        Research on wireless sensor network sink node based on embedded Linux

        LIU Shi-xing, MENG Zhao-jing, SHI Bo, XIE Wu-jun
        (School of Electronic Science and Applied Physics,Hefei University of Technology,Hefei 230009,China)

        The wireless sensor network(WSN)sink node based on embedded Linux is designed in this paper,which can build and manage a WSN and also can provide the data from the WSN to remote clients in the form of a dynamic web page.The ARM9processor S3C2440is selected as the master chip,and the software design includes the implementation of remote monitoring system and the establishment of software development platform of embedded Linux system which is closely related to the hardware.The results of the test show that the sink node designed by AJAX technology achieves a WSN data reception function and can provide the data to remote clients in the form of a dynamic web page.

        wireless sensor network(WSN);sink node;Linux system;Web server;AJAX technology

        TN98

        A

        1003-5060(2012)04-0499-04

        10.3969/j.issn.1003-5060.2012.04.016

        2011-09-15;

        2011-11-15

        安徽省教育廳自然科學(xué)重點科研計劃資助項目(2009AJZR0606)

        劉士興(1969-),男,安徽宿州人,博士,合肥工業(yè)大學(xué)副教授,碩士生導(dǎo)師.

        (責(zé)任編輯 張 镅)

        猜你喜歡
        嵌入式系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        国产大片内射1区2区| 黄色av三级在线免费观看| 淫秽在线中国国产视频| 国产熟女盗摄一区二区警花91| 亚洲av美国av产亚洲av图片| 十八岁以下禁止观看黄下载链接| 中文字幕乱码人妻无码久久久1 | 欧美日韩电影一区| 中文字幕精品亚洲二区| 中文字幕人妻久久久中出| 18禁裸男晨勃露j毛网站| 亚洲精品久久久久中文字幕二区| 亚洲Va中文字幕无码毛片下载| 亚洲中文字幕一区av| 欧美成人国产精品高潮| 成年无码aⅴ片在线观看| 精品久久杨幂国产杨幂| 美女被内射很爽的视频网站| 国模冰莲极品自慰人体| 丰满五十六十老熟女hd| 无码一区二区丝袜| 亚洲中文字幕人成乱码在线| 日韩精品极品视频在线观看免费| 久久久噜噜噜久久中文字幕色伊伊| 久久久精品人妻一区二区三区日本 | 欧美一区二区三区视频在线观看 | 日本入室强伦姧bd在线观看| 99久久久国产精品免费蜜臀| 在线日本高清日本免费| 亚洲精品人成中文毛片| 东北寡妇特级毛片免费| 在线国产视频精品视频| 国产av剧情精品麻豆| 国内熟女啪啪自拍| 日本妇人成熟免费2020| 日本无码人妻波多野结衣| 国产91对白在线观看| 久久久精品少妇—二区| 私人vps一夜爽毛片免费| 女人被做到高潮免费视频| 亚洲中文字幕国产综合|