新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee技術的溫室監控系統網關設計方案

        基于ZigBee技術的溫室監控系統網關設計方案

        作者: 時間:2011-07-12 來源:網絡 收藏

         引言

        本文引用地址:http://www.104case.com/article/156075.htm

          用于實時監測室內溫度、濕度、CO2濃度等環境參數,以便做出相應調整,使作物處于最佳環境中生長?,F有的無線大多在無線局域網絡覆蓋范圍內進行環境信息監測,傳輸范圍有限,且功耗和成本較高。

          是一種新興的近距離、低復雜度、低功耗、低成本的無線網絡。2節5號電池即可使射頻芯片工作6~24個月。

          本采用組建無線局域網,并通過接人到以太網。不但很好地解決了功耗和成本問題,而且也有效擴展了數據的傳輸范圍。

          1 系統

          的結構示意圖如圖1所示。系統由無線傳感節點、嵌入式、人機交互界面3個部分組成。無線傳感節點通過連接傳感器來獲得相應的環境參數,并將數據發送至節點。嵌入式網關承擔網絡管理的功能,主要負責組建ZigBee無線網絡并將傳感節點傳回的數據上傳至以太網中。人機交互界面的作用是將這些數據實時地顯示在網頁上,也可以通過網頁進行遠程控制。

        溫室監控系統的結構示意圖

        圖1 溫室監控系統的結構示意圖

          無線局域網中的各傳感器節點采集溫度、濕度、C02濃度等環境信息,經網關處理后,監控終端計算機通過IE瀏覽器即可訪問這些數據,從而實現遠程監控環境信息。

          2 硬件

          整個系統涉及ZigBee網絡和以太網,為了使2個網絡能相互通信,需要建立網關。本文用嵌入式BOA服務器作為2個網絡的信息中轉站,以實現網關的功能。BOA服務器是一個小巧高效的Web服務器,運行于Unix或Linux系統下,支持CGI的、適合用于嵌入式系統的單任務的HTTP服務器。

          2.1 網關硬件設計

          嵌入式BOA服務器可以在嵌入式Linux操作系統的支持下進行設計。網關硬件結構如圖2所示。

        網關硬件結構

        圖2 網關硬件結構

          網關硬件包括如下部分:

         ?、賁3C2440A,Samsung公司的一款ARM920T內核的32位RISC嵌入式微處理器,運行頻率可達400 MHz。

          ②256MB Flash,存儲Bootloader和Linux操作系統以及文件系統。

         ?、?4MB SDRAM,作為系統運行時的程序和數據存儲器。

         ?、蹹M9000A網絡控制器,提供以太網連接功能,以滿足用戶通過TCP/IP以太網進行實時的數據交互。

         ?、軯TAG仿真調試接口,支持ADS等集成開發環境利用JTAG調試接口對整個硬件電路進行軟件開發和調試。

         ?、轚ART接口,連接CC2430射頻芯片以實現ZigBee無線局域網絡與以太網的互聯。

          2.2 ZigBee節點硬件設計

          ZigBee節點硬件結構如圖3所示,主要由CC2430射頻芯片和傳感器構成。

        ZigBee節點硬件結構

        圖3 ZigBee節點硬件結構

          CC2430芯片整合了高性能2.4 GHz DSSS(直接序列擴頻)射頻收發器內核和工業標準的增強型8051 MCU,還包括了8 KB的SDRAM、128 KB的Flash,是一種片上系統(SoC)解決。

          將相應的傳感器與CC2430的I/O引腳連接,可測得所需的溫室環境參數,并通過ZjgBee無線網絡進行傳輸。本系統在每個ZigBee節點上分別連接溫度傳感器、濕度傳感器和CO2傳感器來監測不同節點處相應的環境信息。

          3 軟件設計

          本設計嵌入式Linux操作系統,通過編寫DM9000A網卡驅動和UART異步串口驅動實現以太網與ZigBee網絡的互聯。

          網關的分層結構如圖4所示。在TCP/IP協議和ZigBee協議上分別開發Web、CGI程序以及無線收發程序。Web、CGI程序用于人機交互界面,無線收發程序用來實現ZigBee網絡的通信。

        網關的分層結構圖

        圖4 網關的分層結構圖

          CGI(Common Gateway Interface)規定Web服務器調用其他程序的接口協議標準,提供給Web服務器一個執行外部程序的通道。這種服務端使得瀏覽器和服務器之間具有交互性。CGI程序屬于一個外部程序,編譯成可執行文件后,可以在服務端運行。通過調用CGI程序可實現Web服務器與Web瀏覽器的交互,CGI程序接收Web瀏覽器發送給Web服務器的控制命令,并進行處理,再將響應結果回送給Web服務器及Web瀏覽器。

          由于BOA服務器搭建在Linux系統之上,因此需要將嵌入式Linux系統移植到S3C2440芯片上。

          3.1 移植Bootloader

          Bootloader是在操作系統內核運行之前執行的一小段程序,通過這段程序初始化硬件設備。Bootloader可移植性強,只要根據硬件資源修改少量代碼即可直接使用。

          3.2 移植Linux內核

          Linux內核是嵌入式操作系統的核心,內核移植包括內核配置、內核編譯、內核下載3個部分。嵌入式設備主要用NAND Flash作為存儲器,NAND Flash容量有限,因此在配置內核時需要裁減一些不需要的功能以減小內核的體積。由于要將編譯好的Linux內核映像和文件系統映像燒寫到NAND Flash中,因此設置NAND Flash分區。本項目采用256 MB的NAND Flash,將其分為3個區:0區為Bootloader分區,1區為內核分區,2區為根文件系統分區。內核配置完成后執行make zImage命令生成Linux內核映像文件,然后將內核映像文件下載至NAND Flash的內核分區上。

          3.3 移植根文件系統和BOA服務器

          根文件系統是嵌入式Linux系統啟動的重要組成部分,也是用戶應用程序的載體。本采用busybox制作yaffs2文件系統,并在文件系統中加入BOA服務器。BOA是一款單任務的HTTP服務器,當有連接請求到來時,通過建立HTTP請求列表來處理多路HTTP連接請求,同時它為CGI程序創建新的進程。

          移植好BOA服務器后,在文件系統中建立/var/www/cgi-bin文件夾,此文件夾用于存放靜態網頁和CGI程序。

          3.4 網關軟件設計

          網關軟件程序流程如圖5所示。S3C2440通過I/O端口觸發CC2430,使其無線發送相應的指令,遠程控制傳感器節點進行數據采集。采集到的數據通過UART串口傳回S3C2440并上傳至嵌入式BOA服務器。用戶通過IE瀏覽器就可以實時采集到相應的環境信息。

        網關軟件程序流程圖

        圖5 網關軟件程序流程圖

          傳感節點采集到的數據最終將上傳至嵌入式BOA服務器上,用戶可通過IE瀏覽器訪問服務器IP地址來監測溫室的環境信息,監測網頁如圖6所示。

        監測網頁

        圖6 監測網頁

          結語

          本文S3C2440平臺和Linux操作系統提出了一種ZigBee網關的設計方法,并給出了硬件和軟件的實現方法,實現了ZigBee無線局域網絡與以太網的數據互通。該網關成功地用于溫室監控系統中,具有穩定性好、實時性強、可遠距離監控等特點。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临城县| 临颍县| 庆云县| 姚安县| 芦山县| 兰西县| 保山市| 敖汉旗| 赤水市| 阿图什市| 自治县| 专栏| 大洼县| 明光市| 塔河县| 舟山市| 普兰店市| 福建省| 大化| 八宿县| 驻马店市| 唐山市| 龙里县| 高青县| 巴林左旗| 察哈| 随州市| 凌源市| 云安县| 城市| 江安县| 河北区| 博爱县| 莎车县| 安图县| 洪泽县| 祁东县| 日土县| 泾源县| 永吉县| 望奎县|