?

基于ZigBee/WiFi的農業網關設計

2016-09-13 03:39侯文博
西安郵電大學學報 2016年4期
關鍵詞:網關串口客戶端

李 哲, 侯文博

(西安郵電大學 電子工程學院, 陜西 西安 710121)

?

基于ZigBee/WiFi的農業網關設計

李哲, 侯文博

(西安郵電大學 電子工程學院, 陜西 西安 710121)

針對精準農業監測系統中終端設備通過WiFi接入到無線傳感網絡的需求,設計ZigBee/WiFi農業網關。該網關通過ZigBee協調器傳輸終端節點采集的溫濕度和光照信息;以LPC1768為主控制器,WiFi模塊為信息轉換器,實現ZigBee信息到WiFi信息的相互轉換;將WiFi模塊配置指令寫入主控制器,省去使用網關前的配置操作。定義ZigBee數據包,設計ZigBee協調器串口和無線數據接收、主控制器雙串口和配置WiFi模塊程序等。測試結果表明,該網關能夠滿足各終端設備WiFi接入,且傳輸轉換信息穩定。

精準農業;網關;無線傳感網絡;WiFi模塊;ZigBee

精準農業[1]是當今世界農業發展的新潮流,是由信息技術支持的根據空間變異,定位、定時、定量地實施一整套現代化農事操作技術與管理的系統。農業監測系統則是精準農業的一個重要組成部分,其可分為感知層、傳輸層和應用層。感知層采集環境信息,應用層實現監測功能,而傳輸層是通過網關實現無線傳感網絡信息與互聯網信息的轉換和傳輸。

目前,現有網關主要分為3類:一是基于ZigBee/以太網網關[2-3],該類網關傳輸相對可靠,抗干擾能力強,常應用在安全性較高的監測領域,但其布線麻煩,成本較高;二是基于ZigBee/3G網關[4],該類網關可以在互聯網沒有接入的山區等地使用,但傳輸速率有限,實時性差;三是基于ZigBee/WiFi的網關[5-9],該類網關速度快,接入網絡方便,常應用在環境監測系統中,但設計復雜和成本較高。在精準農業監測系統中,已有的ZigBee/WiFi農業網關需要配置后才能使用,不方便用戶操作[10]。本文擬將配置指令寫入主控制器,根據WiFi模塊兩種不同工作模式,完成終端設備WiFi接入無線傳感網絡的網關設計。

1 精準農業監測系統

精準農業監測系統[11]主要由無線傳感網絡、ZigBee/WiFi網關、IP攝像頭、路由器、本地監控端和遠程監控端6部分組成。監測系統總體結構如圖1所示。

圖1 農業監測系統總體結構

2 網關硬件設計

2.1主控制器

主控制器選用基于Cortex-M3內核的LPC1768芯片。此款芯片可在高至100 MHz的頻率下運行,512字節的Flash存儲;具有符合16C550工業標準的4個異步串行口UART,16字節收發 FIFO,內置波特率發生器;能夠滿足ZigBee/WiFi農業網關設計的需求。

2.2網關硬件結構

ZigBee/WiFi網關包括主控制器LPC1768、ESP8266WiFi模塊和 ZigBee協調器組成,硬件結構如圖2所示。

圖2 網關硬件結構

2.2.1ZigBee協調器

ZigBee協調器由核心處理模塊和智能主板組成,傳輸終端節點采集的溫濕度和光照信息。核心模塊處理器采用ZigBee片上射頻芯片CC2530F256,結合RF收發器和增強型8 051 CPU,具有多種運行模式,滿足低功耗系統的要求。

在智能主板上添加各采集、通信模塊和核心處理模塊,當核心處理模塊下載相應的程序時,可將此板作為協調器節點。智能主板上RS232模塊,可將TTL電平的uart信號轉換成RS232信號。通過RS232串口線可以將ZigBee協調器與主控制器RS232接口相連,配合程序,實現主控制器到協調器之間信息的傳輸。

2.2.2WiFi模塊

WiFi模塊選用ESP8266模塊。主控制器通過串口發送AT指令來實現WiFi模塊連接、網絡通信等。網絡通信有客戶端服務器模式(C/S)和瀏覽器服務器模式(B/S)兩種模式,此模塊支持C/S模式。WiFi模塊既可作為熱點(AP)也可作為端點(Station),通過發送特定AT指令配置成服務器或者客戶端,實現端點客戶端組合和熱點服務器組合。在系統中主要使用的AT指令如下。

(1) 重啟模塊

發送命令: AT+RST

模塊響應:OK和模塊版本等信息

(2) 設置模塊模式

發送命令: AT+CWMOD=1

模塊響應:OK

指令:AT+CWMODE=,其中為1時是station模式,為2時是AP模式,為3時是AP兼station模式。改變模式時需要重啟模塊方可生效。

(3) 查看當前無線路由器列表

發送命令:AT+CWLAP

模塊響應:如果正確終端返回AP列表,則

+ CWLAP: ,, OK

(代表加密方式,代表熱點名,信號強度)

如果錯誤:返回ERROR

(4) 加入當前無線網絡

發送命令:AT+CWJAP="wifihwb","1234567890"

模塊響應:OK

(5) 開啟多連接模式

發送命令:AT+CIPMUX=1

模塊響應:OK

(6) 建立TCP連接

發送命令:AT+CIPSTART=3,"TCP","192.168.191.2",8000

模塊響應:如果格式正確且連接成功,返回 OK和Linked,否則返回 ERROR ,如果連接已經存在,返回 ALREAY CONNECT 。

其中3是連接的ID號,TCP是連接類型,192.168.191.2和8000分別是連接到同一路由器上的TCP服務器的IP地址和端口號。

(7) 向服務器或客戶端發送數據

發送命令:AT+CIPSEND=3,29

模塊響應:收到此命令后先換行返回“>”,然后開始接收串口數據,當數據長度滿29(可變,最多為2048)時才發送數據。

如果未建立連接或連接被斷開,返回ERROR 如果數據發送成功,返回 SEND OK。

(8) 配置AP參數

發送命令:AT+CWSAP="HWB","1234567890",1,3

模塊響應:OK

指令說明:原指令格式為

AT+ CWSAP=

,,,

其中是字符串參數,代表接入點名稱;是字符串參數,代表密碼,最長64字節 ;是通道號;是加密方式選擇0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK

(9) 創建服務器

發送命令:AT+CIPSERVER=1,8888

模塊響應:OK

指令原型:AT+CIPSERVER=,

指令說明:取0表示關閉server模式,取1表示開啟server模式 為端口號,缺省值為333。

(10) 設置服務器超時時間

發送命令:AT+CIPSTO=2880

模塊響應:OK

指令原型:AT+CIPSTO=

指令說明:

3 網關軟件設計

網關的軟件設計由ZigBee協調器程序設計和主控制器程序設計組成。

3.1ZigBee協調器程序設計

3.1.1ZigBee協調器程序設計

定義ZigBee數據包,其結構由頭“**”、設備類型“ROU”或“END”、節點網絡地址、父節點網絡地址、采集數據、尾“#”組成[12]。ZigBee協調器程序是在IAR下開發,主要包括各節點的初始化;終端節點的入網請求、數據采集、命令解析、組包及其發送;協調器節點的網絡建立、信息解析與組包和串口發送接收等。協調器程序設計流程如圖3所示。

圖3 ZigBee協調器程序流程

ZigBee協調器傳輸程序包括串口和無線接收程序。其中,串口部分程序如下。

uartConfig.configured = TRUE;

uartConfig.baudRate=SERIAL_APP_BAUD;//波特率

//uartConfig.flowControl = TRUE; //流量控制

uartConfig.flowControl = FALSE;

uartConfig.callBackFunc = rxCB ;//注冊串口接收函數

HalUARTOpen (SERIAL_APP_PORT, &uartConfig); //打開串口

HalUARTWrite(SERIAL_APP_PORT,(uint8*)

&temphumiLig, sizeof(temphumiLig));//串口發送函數

無線數據接收程序由無線接收函數完成,函數原型如下。

static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )

{ switch ( pkt->clusterId )

{case GENERICAPP_CLUSTERID:

osal_memcpy(&temphumiLig,pkt->cmd.Data,sizeof(temphumiLig));//將收到的數據拷貝到緩沖區buffer中

break;}}

3.1.2主控制器程序設計

主控制器程序用C語言在Keil MDK下開發,包括目標板及引腳的初始化、串口0和3的初始化、串口中斷服務函數、發送常量字符串函數和WiFi模塊的初始化函數等的定義。主控制其程序流程如圖4所示。

圖4 主控制器程序流程

設計WiFi模塊的初始化程序時,定義AT指令為字符串常量形式;定義檢測函數判斷發送給WiFi模塊指令后返回信息是否正確;定義準確的延時函數完成WiFi模塊的初始化和不同串口的相互收發轉換;同時定義指示燈和蜂鳴器程序,提醒用戶連接和指示程序運行情況。

圖5和圖6分別為WiFi模塊配置成Station客戶端組合和配置成AP服務器組合的初始化細節流程。

圖5 WiFi模塊設置Station客戶端初始化

圖6 WiFi模塊設置AP服務器初始化

4 網關測試

網關測試由無線傳感網絡協調器節點測試和網關通信測試組成。

4.1無線傳感網絡協調器節點測試

無線傳感網絡協調器測試環境搭建:將RS232串口轉USB連接線,一端連接到協調器RS232接口,一端與裝有串口調試助手工具的電腦USB口相連,并裝好USB轉串口驅動。路由器節點和終端節點采集信息如圖7所示。

圖7 采集信息

由圖7可知,ZigBee協調器將路由器節點和終端節點采集的溫濕度和光照信息,通過串口調試助手工具顯示。網絡號為796F的端點采集的溫濕度分別為17℃和36%,光照強度是874 Lx;網絡號為0001的路由器節點采集的溫濕度分別為20℃和35%,光照強度是870Lx。測試結果表明,通過無線傳感網絡傳輸采集信息穩定。

4.2網關通信測試

網關通信測試環境:將節點和網關所需硬件全部連接好后上電,同時打開Android手機裝的網絡調試助手應用,并開啟手機WiFi,或者打開電腦上的網絡調試助手并開啟WiFi,完成組合配置,連接WiFi模塊成功后即可測試。WiFi模塊被配置為Station客戶端組合,測試如圖8所示。

圖8 手機服務器測試

將手機上網絡調試助手設置為服務器,配置為Station客戶端的WiFi模塊主動通過路由器連接服務器,連接成功后,通過命令便可交互。從圖8可知,終端發送“jiedian2cmd”時,手機接收到路由器節點的采集信息包是“**ROU00010000T20CH35%L0870Lx”;當發送“jiedian1cmd”時,手機接收到終端節點的采集信息包是“**END796F0000T17CH36%L0874Lx”。

WiFi模塊被配置為AP服務器組合,測試如圖9所示。

圖9 手機客戶端測試

將WiFi模塊配置為AP服務器組合之后,打開手機WiFi連接WiFi模塊AP,用網絡調試助手開啟客戶端連接服務器,連接成功通過命令便可交互。操作過程與WiFi模塊被配置為Station客戶端組合相同,顯示結果相似。電腦終端分別連接WiFi模塊兩種組合的測試,方法和結果都與手機測試相同。

測試結果表明,該網關傳輸轉換信息穩定,并且改善了WiFi模塊使用前要配置的問題,用戶只需在終端開啟WiFi并打開應用,連接成功后便可交互;同時,有兩種組合方式可供用戶連接選擇。

5 結語

以LPC1768為主控制器,設計基于ZigBee/WiFi的農業網關,完成了ZigBee采集數據到WiFi數據的轉換和傳輸,并且無需用戶配置WiFi模塊,能夠采用兩種方法接入無線傳感網絡。測試結果表明,該網關傳輸轉換信息穩定,能夠滿足各終端設備WiFi接入。

[1]IVANOV S,BHARGAVA K,DONNELLY W.Precision Farming:Sensor Analytics[J/OL]. The IEEE Computer Society, 2015(15):1541-1672[2016-03-01].http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7156034.DOI:10.1109/MIS.2015.67.

[2]王文慶,唐軒,亢紅波.基于Zigbe的礦井監測系統中以太網網關設計[J/OL].西安郵電大學報,2015,20(3):113-119[2016-03-01].http://mall.cnki.net/magazine/article/XAYD201503022.htm.DOI:10.13682/j.issn.2095-6533.2015.03.021.

[3]王一棋,何麗莉,胡成全,等.基于ZigBee和Internet的無線智能家居網關系統[J/OL].吉林大學學報(理學版),2015,53(2):302-306[2016-03-02].http://mall.cnki.net/magazine/article/JLDX201502029.htm.DOI:10.13413/j.cnki.jdxblxb. 2015.02.28.

[4]趙小強,雷雪,馮勛. 基于Zigbee/3G的物聯網網關系統[J/OL].西安郵電大學學報,2015,20(1):24-29[2016-03-02].http://mall.cnki.net/magazine/article/XAYD201501005.htm. DOI:10.13682/ j. issn. 2095-6533. 2015.01.005.

[5]仲偉波,王婷婷,張澤武.基于ZigBee與WiFi的環境智能傳感系統研制[J/OL].農機化研究,2012,12(14):186-189[2016-03-03].http://mall.cnki.net/magazine/article/NJYJ2012045.htm.DOI:10.13427/j.cnki.njyi.2012.12.014.

[6]籍錦程,王峰,李健偉,等.基于ZigBee-WiFi混合網絡的煤礦井下多參數傳感器系統設計[J/OL].中國煤炭,2015,41(5):82-85[2016-03-03]. http://dx.chinadoi.cn/10.3969/j.issn.1006-530X.2015.05.022.

[7]王麗娜,黃友銳,唐超禮,等.基于zigbee+wifi的井下監控系統設計和實現[J/OL].煤炭工程,2014,46(6):138-140[2016-03-05].http://mall.cnki.net/magazine/article/MKSJ201406047.htm.DOI:10.11799/ j. ce201406046.

[8]曹慶年,劉暢,孟開元.基于ZigBee和WiFi的油田無線監測系統設計[J/OL].西安石油大學學報,2015,30(3):100-104[2016-02-25]. http://dx.chinadoi.cn/10.3969/j.issn.1673-064X.2015.03.018.

[9] 姜新華,張麗娜.基于Zigbee與WiFi相結合的溫室環境監測系統設計[J/OL]. 內蒙古大學學報(自然科學版),2011,42(6):699-702[2016-03-01]. http://dx.chinadoi.cn/10.3969/j.issn.1000-1638.2011.06.019.

[10] 仲偉波,李忠梅,石婕,等.一種用于設施農業的Zigbee-WiFi網關研制[J/OL].計算機科學,2014,41(6A):484-486[2016-03-01].http://mall.cnki.net/magazine/article/JSJA2014S1120.htm.

[11] 朱俊光,高健,田俊,等.基于物聯網技術的遠程溫濕度監測系統[J/OL].實驗技術與管理,2014(11):94-97[2016-03-01]. http://dx.chinadoi.cn/10.3969/j.issn.1002-4956.2014.11.026.

[12] 王小強,歐陽駿,黃寧淋.Zigbee無線傳感器網絡設計與實現[M].北京:化學工業出版社,2012:199-212 .

[責任編輯:祝劍]

Design of agricultural gateway based on ZigBee/WiFi

LI Zhe,HOU Wenbo

(School of Electronic Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

According to the demand for the terminal equipment of precision agriculture monitoring system to access the wireless sensor network through the WiFi, ZigBee/WiFi agricultural gateway is designed. This gateway uses the ZigBee coordinated transmission terminal nodes to collect data of temperature, humidity and illumination information. With lpc1768 as its main controller and WiFi module as the information converter, the gateway can achieve the conversion between ZigBee information and WiFi information. WiFi module configuration directives are written into the main controller to eliminate the use of network before the configuration operation. The gateway also defines the ZigBee data packet, designs ZigBee coordinator serial port and wireless data reception and the main controller dual serial port, and also configures the WiFi module program, etc. Test results show that the gateway can meet the WiFi access of each terminal device, and the transmission and conversion information is stable.

intelligent agriculture, gateway, wireless sensor network,WiFi module, ZigBee

10.13682/j.issn.2095-6533.2016.04.019

2016-04-04

國家自然科學基金重點資助項目(61136002);國家863計劃資助項目(2013AA014504);陜西省自然科學基金資助項目(2014JQ8332)

李哲(1963-),男,教授,從事嵌入式與通信系統研究。E-mail:xytx03@xupt.edu.cn

侯文博(1991-),男,碩士研究生,研究方向為嵌入式系統、信息采集處理。E-mail:582904296@qq.com

TP212

A

2095-6533(2016)04-0096-06

猜你喜歡
網關串口客戶端
淺談AB PLC串口跟RFID傳感器的通訊應用
如何看待傳統媒體新聞客戶端的“斷舍離”?
信號系統網關設備的優化
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
大樞紐 云平臺 客戶端——中央人民廣播電臺的探索之路
數字電源內部數據傳輸的串口通信方法實現
USB接口的多串口數據并行接收方法探索
串口技術的實物調試和虛擬仿真聯合教學模式
LTE Small Cell網關及虛擬網關技術研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合