李 哲, 侯文博
(西安郵電大學 電子工程學院, 陜西 西安 710121)
?
基于ZigBee/WiFi的農(nóng)業(yè)網(wǎng)關設計
李哲, 侯文博
(西安郵電大學 電子工程學院, 陜西 西安 710121)
針對精準農(nóng)業(yè)監(jiān)測系統(tǒng)中終端設備通過WiFi接入到無線傳感網(wǎng)絡的需求,設計ZigBee/WiFi農(nóng)業(yè)網(wǎng)關。該網(wǎng)關通過ZigBee協(xié)調器傳輸終端節(jié)點采集的溫濕度和光照信息;以LPC1768為主控制器,WiFi模塊為信息轉換器,實現(xiàn)ZigBee信息到WiFi信息的相互轉換;將WiFi模塊配置指令寫入主控制器,省去使用網(wǎng)關前的配置操作。定義ZigBee數(shù)據(jù)包,設計ZigBee協(xié)調器串口和無線數(shù)據(jù)接收、主控制器雙串口和配置WiFi模塊程序等。測試結果表明,該網(wǎng)關能夠滿足各終端設備WiFi接入,且傳輸轉換信息穩(wěn)定。
精準農(nóng)業(yè);網(wǎng)關;無線傳感網(wǎng)絡;WiFi模塊;ZigBee
精準農(nóng)業(yè)[1]是當今世界農(nóng)業(yè)發(fā)展的新潮流,是由信息技術支持的根據(jù)空間變異,定位、定時、定量地實施一整套現(xiàn)代化農(nóng)事操作技術與管理的系統(tǒng)。農(nóng)業(yè)監(jiān)測系統(tǒng)則是精準農(nóng)業(yè)的一個重要組成部分,其可分為感知層、傳輸層和應用層。感知層采集環(huán)境信息,應用層實現(xiàn)監(jiān)測功能,而傳輸層是通過網(wǎng)關實現(xiàn)無線傳感網(wǎng)絡信息與互聯(lián)網(wǎng)信息的轉換和傳輸。
目前,現(xiàn)有網(wǎng)關主要分為3類:一是基于ZigBee/以太網(wǎng)網(wǎng)關[2-3],該類網(wǎng)關傳輸相對可靠,抗干擾能力強,常應用在安全性較高的監(jiān)測領域,但其布線麻煩,成本較高;二是基于ZigBee/3G網(wǎng)關[4],該類網(wǎng)關可以在互聯(lián)網(wǎng)沒有接入的山區(qū)等地使用,但傳輸速率有限,實時性差;三是基于ZigBee/WiFi的網(wǎng)關[5-9],該類網(wǎng)關速度快,接入網(wǎng)絡方便,常應用在環(huán)境監(jiān)測系統(tǒng)中,但設計復雜和成本較高。在精準農(nóng)業(yè)監(jiān)測系統(tǒng)中,已有的ZigBee/WiFi農(nóng)業(yè)網(wǎng)關需要配置后才能使用,不方便用戶操作[10]。本文擬將配置指令寫入主控制器,根據(jù)WiFi模塊兩種不同工作模式,完成終端設備WiFi接入無線傳感網(wǎng)絡的網(wǎng)關設計。
精準農(nóng)業(yè)監(jiān)測系統(tǒng)[11]主要由無線傳感網(wǎng)絡、ZigBee/WiFi網(wǎng)關、IP攝像頭、路由器、本地監(jiān)控端和遠程監(jiān)控端6部分組成。監(jiān)測系統(tǒng)總體結構如圖1所示。
圖1 農(nóng)業(yè)監(jiān)測系統(tǒng)總體結構
2.1主控制器
主控制器選用基于Cortex-M3內(nèi)核的LPC1768芯片。此款芯片可在高至100 MHz的頻率下運行,512字節(jié)的Flash存儲;具有符合16C550工業(yè)標準的4個異步串行口UART,16字節(jié)收發(fā) FIFO,內(nèi)置波特率發(fā)生器;能夠滿足ZigBee/WiFi農(nóng)業(yè)網(wǎng)關設計的需求。
2.2網(wǎng)關硬件結構
ZigBee/WiFi網(wǎng)關包括主控制器LPC1768、ESP8266WiFi模塊和 ZigBee協(xié)調器組成,硬件結構如圖2所示。
圖2 網(wǎng)關硬件結構
2.2.1ZigBee協(xié)調器
ZigBee協(xié)調器由核心處理模塊和智能主板組成,傳輸終端節(jié)點采集的溫濕度和光照信息。核心模塊處理器采用ZigBee片上射頻芯片CC2530F256,結合RF收發(fā)器和增強型8 051 CPU,具有多種運行模式,滿足低功耗系統(tǒng)的要求。
在智能主板上添加各采集、通信模塊和核心處理模塊,當核心處理模塊下載相應的程序時,可將此板作為協(xié)調器節(jié)點。智能主板上RS232模塊,可將TTL電平的uart信號轉換成RS232信號。通過RS232串口線可以將ZigBee協(xié)調器與主控制器RS232接口相連,配合程序,實現(xiàn)主控制器到協(xié)調器之間信息的傳輸。
2.2.2WiFi模塊
WiFi模塊選用ESP8266模塊。主控制器通過串口發(fā)送AT指令來實現(xiàn)WiFi模塊連接、網(wǎng)絡通信等。網(wǎng)絡通信有客戶端服務器模式(C/S)和瀏覽器服務器模式(B/S)兩種模式,此模塊支持C/S模式。WiFi模塊既可作為熱點(AP)也可作為端點(Station),通過發(fā)送特定AT指令配置成服務器或者客戶端,實現(xiàn)端點客戶端組合和熱點服務器組合。在系統(tǒng)中主要使用的AT指令如下。
(1) 重啟模塊
發(fā)送命令: AT+RST
模塊響應:OK和模塊版本等信息
(2) 設置模塊模式
發(fā)送命令: AT+CWMOD=1
模塊響應:OK
指令:AT+CWMODE=
(3) 查看當前無線路由器列表
發(fā)送命令:AT+CWLAP
模塊響應:如果正確終端返回AP列表,則
+ CWLAP:
(
如果錯誤:返回ERROR
(4) 加入當前無線網(wǎng)絡
發(fā)送命令:AT+CWJAP="wifihwb","1234567890"
模塊響應:OK
(5) 開啟多連接模式
發(fā)送命令:AT+CIPMUX=1
模塊響應:OK
(6) 建立TCP連接
發(fā)送命令:AT+CIPSTART=3,"TCP","192.168.191.2",8000
模塊響應:如果格式正確且連接成功,返回 OK和Linked,否則返回 ERROR ,如果連接已經(jīng)存在,返回 ALREAY CONNECT 。
其中3是連接的ID號,TCP是連接類型,192.168.191.2和8000分別是連接到同一路由器上的TCP服務器的IP地址和端口號。
(7) 向服務器或客戶端發(fā)送數(shù)據(jù)
發(fā)送命令:AT+CIPSEND=3,29
模塊響應:收到此命令后先換行返回“>”,然后開始接收串口數(shù)據(jù),當數(shù)據(jù)長度滿29(可變,最多為2048)時才發(fā)送數(shù)據(jù)。
如果未建立連接或連接被斷開,返回ERROR 如果數(shù)據(jù)發(fā)送成功,返回 SEND OK。
(8) 配置AP參數(shù)
發(fā)送命令:AT+CWSAP="HWB","1234567890",1,3
模塊響應:OK
指令說明:原指令格式為
AT+ CWSAP=
其中
(9) 創(chuàng)建服務器
發(fā)送命令:AT+CIPSERVER=1,8888
模塊響應:OK
指令原型:AT+CIPSERVER=
指令說明:
(10) 設置服務器超時時間
發(fā)送命令:AT+CIPSTO=2880
模塊響應:OK
指令原型:AT+CIPSTO=
指令說明:
網(wǎng)關的軟件設計由ZigBee協(xié)調器程序設計和主控制器程序設計組成。
3.1ZigBee協(xié)調器程序設計
3.1.1ZigBee協(xié)調器程序設計
定義ZigBee數(shù)據(jù)包,其結構由頭“**”、設備類型“ROU”或“END”、節(jié)點網(wǎng)絡地址、父節(jié)點網(wǎng)絡地址、采集數(shù)據(jù)、尾“#”組成[12]。ZigBee協(xié)調器程序是在IAR下開發(fā),主要包括各節(jié)點的初始化;終端節(jié)點的入網(wǎng)請求、數(shù)據(jù)采集、命令解析、組包及其發(fā)送;協(xié)調器節(jié)點的網(wǎng)絡建立、信息解析與組包和串口發(fā)送接收等。協(xié)調器程序設計流程如圖3所示。
圖3 ZigBee協(xié)調器程序流程
ZigBee協(xié)調器傳輸程序包括串口和無線接收程序。其中,串口部分程序如下。
uartConfig.configured = TRUE;
uartConfig.baudRate=SERIAL_APP_BAUD;//波特率
//uartConfig.flowControl = TRUE; //流量控制
uartConfig.flowControl = FALSE;
uartConfig.callBackFunc = rxCB ;//注冊串口接收函數(shù)
HalUARTOpen (SERIAL_APP_PORT, &uartConfig); //打開串口
HalUARTWrite(SERIAL_APP_PORT,(uint8*)
&temphumiLig, sizeof(temphumiLig));//串口發(fā)送函數(shù)
無線數(shù)據(jù)接收程序由無線接收函數(shù)完成,函數(shù)原型如下。
static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
{ switch ( pkt->clusterId )
{case GENERICAPP_CLUSTERID:
osal_memcpy(&temphumiLig,pkt->cmd.Data,sizeof(temphumiLig));//將收到的數(shù)據(jù)拷貝到緩沖區(qū)buffer中
break;}}
3.1.2主控制器程序設計
主控制器程序用C語言在Keil MDK下開發(fā),包括目標板及引腳的初始化、串口0和3的初始化、串口中斷服務函數(shù)、發(fā)送常量字符串函數(shù)和WiFi模塊的初始化函數(shù)等的定義。主控制其程序流程如圖4所示。
圖4 主控制器程序流程
設計WiFi模塊的初始化程序時,定義AT指令為字符串常量形式;定義檢測函數(shù)判斷發(fā)送給WiFi模塊指令后返回信息是否正確;定義準確的延時函數(shù)完成WiFi模塊的初始化和不同串口的相互收發(fā)轉換;同時定義指示燈和蜂鳴器程序,提醒用戶連接和指示程序運行情況。
圖5和圖6分別為WiFi模塊配置成Station客戶端組合和配置成AP服務器組合的初始化細節(jié)流程。
圖5 WiFi模塊設置Station客戶端初始化
圖6 WiFi模塊設置AP服務器初始化
網(wǎng)關測試由無線傳感網(wǎng)絡協(xié)調器節(jié)點測試和網(wǎng)關通信測試組成。
4.1無線傳感網(wǎng)絡協(xié)調器節(jié)點測試
無線傳感網(wǎng)絡協(xié)調器測試環(huán)境搭建:將RS232串口轉USB連接線,一端連接到協(xié)調器RS232接口,一端與裝有串口調試助手工具的電腦USB口相連,并裝好USB轉串口驅動。路由器節(jié)點和終端節(jié)點采集信息如圖7所示。
圖7 采集信息
由圖7可知,ZigBee協(xié)調器將路由器節(jié)點和終端節(jié)點采集的溫濕度和光照信息,通過串口調試助手工具顯示。網(wǎng)絡號為796F的端點采集的溫濕度分別為17℃和36%,光照強度是874 Lx;網(wǎng)絡號為0001的路由器節(jié)點采集的溫濕度分別為20℃和35%,光照強度是870Lx。測試結果表明,通過無線傳感網(wǎng)絡傳輸采集信息穩(wěn)定。
4.2網(wǎng)關通信測試
網(wǎng)關通信測試環(huán)境:將節(jié)點和網(wǎng)關所需硬件全部連接好后上電,同時打開Android手機裝的網(wǎng)絡調試助手應用,并開啟手機WiFi,或者打開電腦上的網(wǎng)絡調試助手并開啟WiFi,完成組合配置,連接WiFi模塊成功后即可測試。WiFi模塊被配置為Station客戶端組合,測試如圖8所示。
圖8 手機服務器測試
將手機上網(wǎng)絡調試助手設置為服務器,配置為Station客戶端的WiFi模塊主動通過路由器連接服務器,連接成功后,通過命令便可交互。從圖8可知,終端發(fā)送“jiedian2cmd”時,手機接收到路由器節(jié)點的采集信息包是“**ROU00010000T20CH35%L0870Lx”;當發(fā)送“jiedian1cmd”時,手機接收到終端節(jié)點的采集信息包是“**END796F0000T17CH36%L0874Lx”。
WiFi模塊被配置為AP服務器組合,測試如圖9所示。
圖9 手機客戶端測試
將WiFi模塊配置為AP服務器組合之后,打開手機WiFi連接WiFi模塊AP,用網(wǎng)絡調試助手開啟客戶端連接服務器,連接成功通過命令便可交互。操作過程與WiFi模塊被配置為Station客戶端組合相同,顯示結果相似。電腦終端分別連接WiFi模塊兩種組合的測試,方法和結果都與手機測試相同。
測試結果表明,該網(wǎng)關傳輸轉換信息穩(wěn)定,并且改善了WiFi模塊使用前要配置的問題,用戶只需在終端開啟WiFi并打開應用,連接成功后便可交互;同時,有兩種組合方式可供用戶連接選擇。
以LPC1768為主控制器,設計基于ZigBee/WiFi的農(nóng)業(yè)網(wǎng)關,完成了ZigBee采集數(shù)據(jù)到WiFi數(shù)據(jù)的轉換和傳輸,并且無需用戶配置WiFi模塊,能夠采用兩種方法接入無線傳感網(wǎng)絡。測試結果表明,該網(wǎng)關傳輸轉換信息穩(wěn)定,能夠滿足各終端設備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的礦井監(jiān)測系統(tǒng)中以太網(wǎng)網(wǎng)關設計[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的無線智能家居網(wǎng)關系統(tǒng)[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的物聯(lián)網(wǎng)網(wǎng)關系統(tǒng)[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的環(huán)境智能傳感系統(tǒng)研制[J/OL].農(nóng)機化研究,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混合網(wǎng)絡的煤礦井下多參數(shù)傳感器系統(tǒng)設計[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的井下監(jiān)控系統(tǒng)設計和實現(xiàn)[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的油田無線監(jiān)測系統(tǒng)設計[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相結合的溫室環(huán)境監(jiān)測系統(tǒng)設計[J/OL]. 內(nèi)蒙古大學學報(自然科學版),2011,42(6):699-702[2016-03-01]. http://dx.chinadoi.cn/10.3969/j.issn.1000-1638.2011.06.019.
[10] 仲偉波,李忠梅,石婕,等.一種用于設施農(nóng)業(yè)的Zigbee-WiFi網(wǎng)關研制[J/OL].計算機科學,2014,41(6A):484-486[2016-03-01].http://mall.cnki.net/magazine/article/JSJA2014S1120.htm.
[11] 朱俊光,高健,田俊,等.基于物聯(lián)網(wǎng)技術的遠程溫濕度監(jiān)測系統(tǒng)[J/OL].實驗技術與管理,2014(11):94-97[2016-03-01]. http://dx.chinadoi.cn/10.3969/j.issn.1002-4956.2014.11.026.
[12] 王小強,歐陽駿,黃寧淋.Zigbee無線傳感器網(wǎng)絡設計與實現(xiàn)[M].北京:化學工業(yè)出版社,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-),男,教授,從事嵌入式與通信系統(tǒng)研究。E-mail:xytx03@xupt.edu.cn
侯文博(1991-),男,碩士研究生,研究方向為嵌入式系統(tǒng)、信息采集處理。E-mail:582904296@qq.com
TP212
A
2095-6533(2016)04-0096-06