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的單片機控制系統的仿真設計
主站蜘蛛池模板: 人妻无码中文字幕第一区| 91无码人妻精品一区| 亚洲精品中文字幕无乱码| 尤物亚洲最大AV无码网站| 热久久这里是精品6免费观看| 精久久久久无码区中文字幕| 亚洲男女天堂| 天天色综网| 国产一区二区三区在线观看视频 | 国产大片喷水在线在线视频| 亚洲大尺码专区影院| 久久黄色毛片| 欧美色综合网站| 国产区在线看| 国产一区二区福利| 国产精品亚洲专区一区| 国产精品30p| 激情爆乳一区二区| 91尤物国产尤物福利在线| 青青青草国产| 久久精品这里只有国产中文精品 | 四虎成人精品在永久免费| 中文字幕首页系列人妻| 欧美成人精品一级在线观看| 尤物亚洲最大AV无码网站| 久久激情影院| 在线毛片免费| 麻豆精品视频在线原创| 日韩精品专区免费无码aⅴ| 小说区 亚洲 自拍 另类| 欧美福利在线观看| 欧美亚洲国产一区| 日本免费新一区视频| 亚洲精品你懂的| 红杏AV在线无码| 国产精品福利在线观看无码卡| 天天综合网色| 亚洲综合激情另类专区| 国产三级韩国三级理| 国产91在线|中文| 亚洲欧美日韩综合二区三区| 丁香六月激情婷婷| 亚洲精品黄| 欧美色图久久| 自拍偷拍欧美日韩| 激情爆乳一区二区| 婷婷六月综合网| 国产在线观看99| 91日本在线观看亚洲精品| 99性视频| 在线亚洲小视频| 91精品专区国产盗摄| 无码高潮喷水专区久久| 毛片在线看网站| 久久福利片| 亚洲高清中文字幕| 日本www在线视频| 无码精品福利一区二区三区| 亚洲精品无码专区在线观看| 国产黄在线免费观看| 欧美精品成人一区二区视频一| 亚洲成AV人手机在线观看网站| 亚洲高清在线天堂精品| 欧美精品亚洲精品日韩专区va| 国产女人在线观看| 国产网站免费观看| 视频二区欧美| 欧美一区精品| 无码福利视频| 国产小视频在线高清播放| 99热最新网址| 中文字幕日韩丝袜一区| 亚洲日韩AV无码精品| 亚洲无码精品在线播放| 无码精品国产dvd在线观看9久 | 免费a级毛片视频| 国产在线八区| 呦系列视频一区二区三区| 国产在线观看成人91| 亚洲综合色婷婷| 亚洲不卡av中文在线| 成人在线第一页|