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