999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZigBee網絡的蔬菜工廠監控系統

2015-01-17 05:47:02馬建設劉向明
電子設計工程 2015年2期
關鍵詞:單片機

向 磊, 馬建設 , 劉 鵬, 劉向明

(1.武漢工程大學 湖北 武漢 430205;2.清華大學 深圳研究生院,廣東 深圳 518055)

隨著農業規模的不斷擴大、自動化程度的不斷提高,國內外興起了對農作物生長過程實施遠程監控的研究,其中無線通信技術的快速發展為實現實時監控農作物生長提供了可能[1]。ZigBee技術具有高可靠性、低成本、低功耗、高安全性、低數據速率等特點,廣泛應用于工業控制、智能家居、商業樓宇以及農業自動化等領域[2]。本文基于ZigBee無線傳感技術,實現了一套基于ZigBee網絡的蔬菜工廠監控系統。

1 ZigBee無線傳感技術

ZigBee是一種標準,該標準定義了短距離、低數據傳輸速率無線通信所需要的一系列通信協議[3]。ZigBee協議標準采用分層結構,每一層為上層提供一系列特殊的服務:數據實體提供數據傳輸服務;管理實體提供所有其他的服務,所有的服務實體都通過服務接入點為上層提供接口,每個服務接入點都支持一定數量的服務原語來實現所需的功能[4]。ZigBee協議分為兩個部分,IEEE802.15.4定義了物理層和媒體訪問控制層,ZigBee聯盟在此基礎上定義了網絡層和應用層架構,在應用層內提供了應用支持子層和ZigBee設備對象[5]。ZigBee協議棧將各個層定義的協議都集合在一起,以函數的形式實現,并給用戶提供一些應用層API,供用戶調用。

2 蔬菜工廠監控系統整體控制框架

蔬菜工廠監控系統整體控制框架如圖1所示,由主控機、房間節點監控單元、培菜架節點監控單元3部分組成。在蔬菜工廠里有多個房間,每個房間里配置了一個房間節點監控單元,每個房間里有多個培菜架,每個培菜架上配置了一個培菜架節點監控單元,每個培菜架分為4層。

主控機的功能:1)作為服務器,接收各房間節點和培菜架節點的數據并存儲,通過網絡瀏覽器實現蔬菜工廠的整體監控;2)在獲得相應權限后,給相關的房間節點和培菜架節點發送控制命令或數據采集命令。

房間節點監控單元(包括整體監控單元)的功能:1)房間節點監控單元負責每個房間的空調控制、二氧化碳濃度采集和電源管理;2)整體監控單元負責中央空調控制、二氧化碳發生器控制以及整個蔬菜工廠的電源管理。

培菜架節點監控單元的功能:1)接收到主控機的數據采集命令后,采集本培菜架的溫度、濕度和圖像數據,并將數據發送給主控機;2)接收到主控機的控制命令后,控制本培菜架的LED燈的亮暗、營養液循環泵和電磁閥的開關等。

圖1 蔬菜工廠監控系統整體控制框架Fig.1 Control framework of the monitoring system of vegetable factory

蔬菜工廠監控系統采用如圖2所示的人機交互界面,該交互界面采用網頁瀏覽器實現,用戶可以登錄該瀏覽器來實現對蔬菜的生長環境及生長狀況的實時監控。

3 無線傳輸網絡模塊

蔬菜工廠監控系統的無線傳輸網絡模塊如圖3所示,在無線網絡中,配置了一個協調器,一個路由器和多個終端節點。協調器通過RS232連接上位機,與其進行通信,路由器用于無線網絡數據的路由轉發,終端節點用于各房間和培菜架的數據和命令的收發。

圖2 人機交互界面Fig.2 Human-computer interaction interface

圖3 無線傳輸網絡模塊Fig.3 Wireless transmission network module

3.1 CC2530單片機

CC2530單片機是一款完全兼容8051內核,同時支持IEEE 802.15.4協議的無線射頻單片機,我們采用CC2530單片機來搭建無線傳感器網絡。

3.2 ZigBee網絡中的設備

ZigBee網絡中的設備分為3種:1)協調器,主要負責無線網絡的建立與維護;2)路由器,主要負責無線網絡數據的路由轉發;3)終端節點,主要負責無線網絡數據的采集。ZigBee無線傳感器網絡中的三種設備類型是由ZigBee協議棧不同的編譯選項來選擇的,它們的硬件部分其實都是一樣的,就是協調器多了一個串口,用于和上位機之間的通信。

3.2.1 協調器

協調器流程圖如圖4所示,協調器上電后,會按照編譯時給定的參數,選擇合適的信道、合適的網絡號,建立ZigBee無線網絡。然后,等待路由節點和終端節點加入網絡后,上位機通過串口給協調器發送命令,協調器將接收到的命令發送給路由節點和終端節點后,等待和接收返回的數據,判斷返回數據的類型并執行相應的操作,如果返回的是地址回復幀,則更新地址列表,如果返回的是確認幀或采集到的數據,則將其通過串口發送給上位機。

3.2.2 路由器

在ZigBee無線網絡中,路由器是非常重要的節點設備,它不僅完成路由的功能,更重要的是,它在數據的的傳輸過程中起了“接力棒”的作用,大大地拓展了數據傳輸的距離[6]。路由節點上電后,先進行硬件電路的初始化,然后搜索是否有ZigBee無線網絡,如果有則自動加入,然后等待接收數據,接收到數據后對其進行轉發。路由對于應用層來說是完全透明的。Z-Stack提供了比較完善的路由算法,應用程序只需將數據下發到協議棧中,協議棧會自己負責尋找路徑,通過多跳的方式將數據傳送到目的地址。

3.2.3 終端節點

終端節點流程圖如圖4所示。終端節點上電后,先進行硬件電路的初始化,然后搜索是否有ZigBee無線網絡,如果有則自動加入,然后等待接收無線數據,解析接收到的無線數據后,向通過485總線連接的STC12LE5204AD單片機發送相應的命令,等待接收單片機采集的數據,接收到數據后將其發送給其父節點。另外,在蔬菜工廠監控系統中,利用每個培菜架節點的串口1連接的串口攝像頭來采集圖像數據,利用房間節點的串口1連接的二氧化碳傳感器來采集二氧化碳濃度,采集到的數據經協調器發送到上位機。

圖4 ZigBee設備流程圖Fig.4 Flow chart of the ZigBee device

3.2.4 節點之間的數據發送與接收

在發送數據前需要按照通信協議中定義的數據幀格式來構建數據幀,數據幀包括起始字節、幀控制、序列號、目的地址、數據長度、數據載荷以及校驗和等信息。數據幀采用如下的結構體來定義:

typedef struct{

uint8 start;

uint8 reserved;

uint16 frameControl;

uint16 serialNumber;

uint16 dstAddr;

uint16 dataLen;

uint8 data[500];

uint16 checkSum;

}DataFrame;

對于數據幀DataFrame,起始字節start定義為0x55,保留字節reserved暫定義為0x00,為以后擴展所用,幀控制域frameControl用于表示數據包類型、幀類型以及幀屬性,序列號serialNumber從0x0001開始,每發送一個數據包,序列號加1,目的地址dstSddr表示發送數據包的目的地址,數據長度dataLen表示整個數據包的長度,包括數據域和其他域,數據域data[500]用于存放有效載荷數據,校驗和checkSum是將數據包除了checkSum外所有字節的數據相加,然后對256×256取余,校驗和用于遠距離通信中保證數據的準確性與完整性。

當需要進行節點之間的數據發送時,可以定義一個事件,在事件處理函數里實現數據的發送。

定義一個事件的方法如下:

#define SEND_DATA_EVENT 0x01;

然后在任務事件處理函數中對該事件作出響應,可以使用如下代碼實現:

if(events&SEND_DATA_EVENT)

{

//在此添加相應的數據發送工作即可

return (events^SEND_DATA_EVENT);

}

數據發送時,只需調用數據發送函數AF_DataRequest()即可,該函數會調用協議棧里與硬件相關的函數最終將數據通過天線發送出去,這里面涉及對射頻模塊的操作,比如打開發射機、調整發射機的發送功率等,這些協議棧已經實現了,不需要自己去寫代碼實現,只需知道 AF_DataRequest()函數的使用方法即可,發送數據可以使用如下的代碼實現(下面例子是以向協調器發送單播數據為例):

afAddrType_t my_DstAAddr;

my_DstAddr.addrMode= (afAddrMode_t)Addr16Bit; //發送模式

my_DstAddr.endPoint=GENERICAPP_ENDPOINT; //目的端口號

my_DstAddr.addr.shortAddr=0x0000; //目的節點的網絡地址

AF_DataRequest( &my_DstAddr, &GenericApp_epDesc,

GENERICAPP_CLUSTERID,//簇號

11, //發送數據的長度

(uint8*)buf, //發送數據緩沖區

&GenericApp_TransID, //發送序列號

AF_DISCV_ROUTE,

AF_DEFAULT_RADIUS);

當接收到數據后,操作系統會將該數據封裝成一個消息,然后放入消息隊列中,每個消息都有自己的消息ID,標識接收到新數據的消息的ID是AF_INCOMING_MSG_CMD,在ZigBee協議棧中AF_INCOMING_MSG_CMD宏的定義如下:

#define AF_INCOMING_MSG_CMD 0x1A

在路由器代碼中有如下代碼段:

MSGpkt= (afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);

while(MSGpkt)

{

switch(MSGpkt->hdr.event)

{

case AF_INCOMING_MSG_CMD:

GenericApp_MessageMSGCB( MSGpkt);

break;

……

當路由器接收到協調器或終端節點發送來的數據后,首先使用osal_msg_receive函數從消息隊列中接收一個消息,然后使用switch-case語句對消息類型進行判斷 (判斷消息ID),如果消息ID是AF_INCOMING_MSG_CMD,調用處理函數 GenericApp_MessageMSGCB(),在該函數中,對接收到的數據進行處理。

4 STC12LE5204AD單片機控制和數據采集模塊

在蔬菜工廠監控系統中,采用STC12LE5204AD單片機作為控制和數據采集模塊。單片機控制和數據采集模塊為一485主從機模型,主機為培菜架上的ZigBee無線網絡的終端節點,從機為STC12LE5204AD單片機,主機會依次給STC12LE5204AD單片機發送控制命令或數據采集命令,STC12LE5204AD單片機接收到命令后執行相應操作并返回數據給主機。在培菜架的每層配置一個STC12LE5204AD單片機,負責該層的數據采集和執行控制命令。

4.1 STC12LE5204AD單片機

STC12LE5204AD單片機采用增強型8051CPU,片上集成4K字節用戶應用程序空間和256字節RAM、15個通用I/O口、4個16位定時器、2路PWM、高速A/D轉換、通用全雙工異步串行口等。

4.2 STC12LE5204AD單片機模塊

在蔬菜工廠監控系統中,利用STC12LE5204AD單片機的P3_5和P3_7兩路8位PWM來控制培菜架LED燈板的白燈和紅燈的亮暗程度。通過P1_3口控制營養液循環泵的開關,來控制營養液循環系統。通過P1_2口控制電磁閥的開關,來控制排水系統。通過P1_6口連接的溫濕度傳感器來采集溫濕度。

5 實驗結果

將協調器、路由器、終端節點和培菜架依次上電,上位機通過串口調試軟件向協調器發送控制LED燈命令,可以觀察到培菜架上燈板的紅燈和白燈的亮度發生變化,并且上位機收到一個確認幀 “55 00 09 00 01 00 01 04 0C 00 70 00”。上位機通過串口調試軟件向協調器發送采集溫濕度命令,會收到采集到的溫濕度數據 “55 00 05 80 01 00 01 04 18 00 01 15 24 02 13 25 03 13 2E 04 12 2F F5 01”,“01 04” 表示04號房間的培菜架1,“01 15 24”表示培菜架第一層的溫濕度,“02 13 25”表示培菜架第二層的溫濕度。通過串口調試軟件定時每500ms發送一次采集溫濕度命令,可以觀察到數據傳輸過程中沒有出現丟包現象,而且采集到的數據值準確。此外上位機還能發送相應命令來采集二氧化碳濃度、圖片數據和控制二氧化碳發生器、營養液循環泵和電磁閥的開關。

6 結束語

蔬菜工廠監控系統基于ZigBee無線傳感器網絡,以CC2530單片機和STC12LE5204AD單片機為硬件平臺,基于ZigBee 2007協議棧,在IAR開發環境下進行軟件開發。實驗結果表明該系統具有良好的可靠性和穩定性,能夠實現對蔬菜生長環境的實時監控,達到了預期的設計要求。

[1]包長春,石瑞珍,馬玉泉,等.基于ZigBee技術的農業設施測控系統的設計[J].農業工程學報,2007,23(8):160-164.BAO Chang-chun,SHI Rui-zhen,MA Yu-quan,et al.Design and realization of measuring and controlling system based on Zigbee technology in agriculture facilities[J].Transaction of the CSAE,2007,23(8):160-164.

[2]周怡,凌志浩,吳勤勤.ZigBee無線通信技術及其應用探討[J].自動化儀表,2005,26(6):5-9.ZHOU Yi,LING Zhi-hao,WU Qin-qin.ZigBee wireless communication technology and investigation on its application[J].Process Automation Instrumentation,2005,26(6):5-9.

[3]王風.基于CC2530的ZigBee無線傳感器網絡的設計與實現[D].西安:西安電子科技大學,2012.

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

[5]蔡利婷,陳平華,羅彬,等.基于CC2530的ZigBee數據采集系統設計[J].計算機技術與發展,2012,22(11):197-200.CAI Li-ting,CHEN Ping-hua,LUO Bin,et al.Design of data acquisition system for ZigBee based on chip CC2530[J].Computer Technology and Development,2012,22(11):197-200.

[6]高守瑋,吳燦陽,主編.ZigBee技術實踐教程[M].北京:北京航空航天大學出版社,2009.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲国产精品久久久久秋霞影院 | 亚洲AV无码乱码在线观看裸奔 | 国产视频你懂得| 国产99视频免费精品是看6| 国产导航在线| 日韩最新中文字幕| 欧美怡红院视频一区二区三区| 欧美亚洲国产视频| 亚洲首页国产精品丝袜| 免费一级成人毛片| v天堂中文在线| 亚洲综合色吧| 色成人亚洲| 精品国产欧美精品v| 中文无码日韩精品| 亚洲第一成网站| 免费人成黄页在线观看国产| 欧美影院久久| 免费毛片全部不收费的| 亚洲男人天堂2018| 国产精品午夜福利麻豆| 成年人视频一区二区| 亚洲狼网站狼狼鲁亚洲下载| 中文无码精品A∨在线观看不卡| 国产视频 第一页| 色妞www精品视频一级下载| 999国产精品永久免费视频精品久久| 亚洲大尺码专区影院| 欧美日韩北条麻妃一区二区| 亚洲欧美人成人让影院| 丁香婷婷激情网| 国产乱子伦精品视频| 91麻豆精品国产高清在线| 一级毛片基地| 一级成人a毛片免费播放| 国产精品熟女亚洲AV麻豆| 亚洲精品男人天堂| 视频国产精品丝袜第一页| 最新日韩AV网址在线观看| 国产精品私拍在线爆乳| 欧美色综合久久| 国产精品漂亮美女在线观看| 全部毛片免费看| 亚洲视频在线青青| 51国产偷自视频区视频手机观看 | 国产日本视频91| 无码中文字幕精品推荐| 亚洲欧洲日韩久久狠狠爱| 国产性生大片免费观看性欧美| 97se亚洲| 免费播放毛片| 久久中文字幕av不卡一区二区| 尤物视频一区| 日本一本正道综合久久dvd| 亚洲国产成人久久77| 精久久久久无码区中文字幕| 久久综合丝袜长腿丝袜| 国产一区二区网站| 久久国产亚洲欧美日韩精品| 国产在线高清一级毛片| 99久久99这里只有免费的精品| 成人综合在线观看| 一级毛片免费不卡在线视频| 免费无码AV片在线观看国产| 欧美日韩一区二区在线免费观看| 国产成人精品日本亚洲| 手机成人午夜在线视频| 国产99免费视频| 亚洲天堂网在线观看视频| 青青草原国产av福利网站| 国产高清又黄又嫩的免费视频网站| 亚洲欧美日韩另类| 国产亚洲欧美在线人成aaaa| 五月婷婷欧美| 40岁成熟女人牲交片免费| 国内精品伊人久久久久7777人| 欧美区一区二区三| 久久精品人人做人人综合试看| 成人在线不卡视频| 亚洲精品动漫| 成人免费网站在线观看| 国产精品免费p区|