文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.017
中文引用格式: 李建勇,,李洋,劉雪梅. 基于ZigBee的糧庫環(huán)境監(jiān)控系統(tǒng)設計[J].電子技術應用,,2016,,42(1):65-67,,71.
英文引用格式: Li Jianyong,Li Yang,,Liu Xuemei. Design of granary environmental monitoring system based on ZigBee[J].Application of Electronic Technique,,2016,42(1):65-67,,71.
0 引言
我國作為一個人口大國,,維持一定數(shù)量和品質(zhì)的糧食儲備是保障國家糧食安全和社會穩(wěn)定的重要措施。糧食在儲藏過程中易受溫度,、水分等因素影響,,使糧食發(fā)生霉變、蟲害滋生和火災等情況,,為了確保儲糧安全,,需準確掌握糧食儲藏過程中溫濕度的實時變化、氣味異常,、火災警情和能進行通風,、防潮除濕等措施[1-4]。傳統(tǒng)的糧庫監(jiān)控系統(tǒng)大都采用人工或有線監(jiān)控方式,,人工監(jiān)控不僅費時費力,、效率低,而且測量誤差大,,隨機性大,;而有線監(jiān)控,當監(jiān)控點較多情況下,,不僅布線繁瑣,、成本高,且維護困難,、靈活性差,。針對這些缺陷,,采用ZigBee無線傳感器網(wǎng)絡技術,設計了一種低功耗,、低成本,、精度高的糧庫環(huán)境監(jiān)控系統(tǒng)。
1 系統(tǒng)總體設計
糧庫環(huán)境監(jiān)控系統(tǒng)主要由ZigBee無線傳感網(wǎng)絡和上位機監(jiān)控軟件兩部分組成,,其結構框圖如圖1所示,。ZigBee無線傳感網(wǎng)絡遵循TI公司的ZigBee2007協(xié)議棧Z-Stack,采用樹狀拓撲結構,,由一個協(xié)調(diào)器,、多個路由器和多個傳感器節(jié)點(終端)等設備組成。傳感器節(jié)點首先加入由協(xié)調(diào)器發(fā)起的ZigBee網(wǎng)絡,,然后把測量各節(jié)點的溫度,、濕度、氣味濃度和火災警情等環(huán)境參數(shù)經(jīng)路由器或直接傳遞到協(xié)調(diào)器,,接著由協(xié)調(diào)器經(jīng)串口上傳到PC機,,最后用由VS2013制作的上位機監(jiān)控軟件來實時顯示溫濕度值、氣味濃度和火災警情,,對火災聲光報警和反向控制相應節(jié)點進行通風或除濕,,并記錄所有的數(shù)據(jù)和操作。
2 系統(tǒng)硬件設計
本系統(tǒng)中的協(xié)調(diào)器,、路由器和傳感器節(jié)點三種設備都是以TI公司的ZigBee SOC CC2530F256芯片為核心來進行設計的,。CC2530F256是2.4 GHz IEEE 802.15.4和ZigBee應用的片上系統(tǒng)解決方案,支持RemoTI,、SimpliciTI、TIMAC和Z-Stack協(xié)議棧,,內(nèi)部主要集成一個高性能2.4G RF收發(fā)器和一顆工業(yè)級小巧高效的8051控制器,,以及8 KB RAM和256 KB閃存等其他模塊,以滿足系統(tǒng)對低功耗,、低成本的要求[5],。由于協(xié)調(diào)器、路由器和傳感器節(jié)點功能不同,,所需硬件電路不同,,將分別進行設計。
2.1 傳感器節(jié)點設計
傳感器節(jié)點主要負責測量各節(jié)點的溫度,、濕度,、氣味濃度和火災警情等環(huán)境參數(shù)并傳遞到協(xié)調(diào)器,接收上位機控制軟件發(fā)回的命令來控制通風或除濕設備,,由電池供電,,其硬件結構圖如圖2所示,。測量溫度和濕度采用高精度的DHT22數(shù)字溫濕度傳感器,通過單總線直接與CC2530的P0.0引腳相連接,。由于當糧食發(fā)生霉變時會產(chǎn)生霉,、酸、腐臭等氣味,,通過測量這些氣味的濃度能預測糧食霉變的情況,,因此采用TGS2600氣味傳感器來測量氣味濃度,與CC2530的A/D轉(zhuǎn)換接口A6(P0.6)相連接,。采用JNHB1004遠紅外火焰?zhèn)鞲衅鱽頊y量火災警情,,通過一片電壓比價器LM393與CC2530的P0.7相連接,當JNHB1004傳感器檢測到火焰時,,立即通過上位機界面符號提示和聲光提示進行火災報警,。由于通風和除濕設備為大功率強電設備,采用SRD-05VDC-SL-C繼電器以完成對它們的控制及與節(jié)點進行隔離,,其輸入端接CC2530的P0.1引腳,。這些對傳感器信號的采集、處理和對繼電器的控制都是由CC2530內(nèi)部集成的8051控制器完成的,,而與ZigBee網(wǎng)絡之間的信息交換由CC2530內(nèi)部集成的RF收發(fā)器完成,。
由于CC2530的有效通信距離為100 m,為增加節(jié)點與路由器和協(xié)調(diào)器的通信距離,,在CC2530后面都增添了高性能功率放大及低噪聲放大芯片RFX2401C,,外接SMA膠棒天線或小吸盤天線[6]。
2.2 路由器和協(xié)調(diào)器設計
路由器用來擴展網(wǎng)絡通信范圍,,協(xié)助傳感器節(jié)點和協(xié)調(diào)器之間的通信,,在樹狀網(wǎng)絡拓撲可周期性工作,因此采用電池供電,;而協(xié)調(diào)器負責啟動和配置網(wǎng)絡,,這些完成后就相當于路由器,協(xié)助網(wǎng)絡內(nèi)的傳感器節(jié)點和PC機相互通信,,必須采用PC機供電,。因為不需要傳感器和繼電器等電路,只需要RF收發(fā)電路和電源電路,,所以路由器和協(xié)調(diào)器的設計幾乎相同,,區(qū)別在于協(xié)調(diào)器多了串口通信電路。協(xié)調(diào)器電路圖如圖3所示,,串口電路采用USB轉(zhuǎn)串口芯片CH340進行設計,,直接與CC2530的UART0相關引腳相連接。
3 系統(tǒng)軟件設計
系統(tǒng)軟件設計主要包括ZigBee網(wǎng)絡中各種設備軟件和上位機監(jiān)控軟件的設計兩部分,。
3.1 ZigBee網(wǎng)絡中各種設備軟件
為便于用戶開發(fā)ZigBee系統(tǒng),,TI公司在推出其CC2530的同時,,向用戶提供了自己的ZigBee協(xié)議棧Z-Stack,它實質(zhì)就是一套ZigBee系統(tǒng)程序,,為TI自己的開發(fā)板量身定做的,,提供了符合ZigBee2007協(xié)議棧體系結構所要求每層操作相關的各種事件處理函數(shù)和一個名為操作系統(tǒng)抽象層OSAL 的協(xié)議棧調(diào)度程序[5],以及包含協(xié)調(diào)器,、路由器和終端程序設計的例程,。因此本系統(tǒng)ZigBee網(wǎng)絡中各種設備程序就是在其集成開發(fā)環(huán)境IAR Embedded Workbench for 8051下修改 Z-Stack-CC2530-2.5.1的SampleApp例程來完成設計的。
協(xié)調(diào)器和路由器的程序只需在例程基礎上修改協(xié)議棧規(guī)范,、網(wǎng)絡拓撲結構,、PANID、信道和數(shù)據(jù)收發(fā)函數(shù)等網(wǎng)絡參數(shù)以及和系統(tǒng)工程有關的應用層即可,,而傳感器節(jié)點程序不僅同樣需要修改這些方面,,還要根據(jù)系統(tǒng)硬件來修改Z-Stack例程各層目錄中所有與硬件有關部分的程序。傳感器節(jié)點程序流程圖如圖4所示,。由于OSAL只采用了輪詢?nèi)蝿照{(diào)度隊列的方法來進行任務調(diào)度管理,,在系統(tǒng)初始化之后就進入輪轉(zhuǎn)查詢式操作系統(tǒng),對發(fā)生的任何事件就調(diào)用協(xié)議棧相應層的事件處理函數(shù)進行處理,,因此在硬件層中設置對JNHB1004火焰?zhèn)鞲衅鞑捎弥袛嗵幚淼氖录?,對DHT22溫濕度傳感器、TGS2600氣味傳感器和繼電器控制采用輪詢處理的事件等修改以完成系統(tǒng)的開發(fā),。
3.2 上位機監(jiān)控軟件
上位機監(jiān)控軟件采用VS2013進行設計,,主要由傳感器節(jié)點狀態(tài)區(qū)域、實時顯示趨勢圖和通信設置區(qū)域等組成,。傳感器節(jié)點狀態(tài)區(qū)域按照安排好的節(jié)點順序,,不僅能實時顯示每個節(jié)點的溫度值、濕度值,、氣味濃度和火災警情等狀態(tài),,當發(fā)生火災時進行界面報警燈符號閃亮提示和通過外部聲光設備發(fā)出火災警報,同時還有每個節(jié)點對應的按鈕用來控制按照一定順序分配的通風和除濕設備,。實時顯示趨勢圖不僅按時間可以直接顯示每個節(jié)點的溫度值、濕度值和氣味濃度,,還能以文本格式存儲溫濕度值,、煙霧異常、火災報警和除濕按鈕等所有狀態(tài)變化并能隨機查看,。通信設置區(qū)域主要進行串行和網(wǎng)絡通信的設置,,串口設置如端口選擇、打開串口,、關閉串口,、手動刷新和自動刷新等操作,,網(wǎng)絡通信設置如IP設置、啟動和關閉網(wǎng)絡等操作,。上位機與各個傳感器節(jié)點通信采用主從查詢式,,按照約定好的編碼和通信協(xié)議,由上位機發(fā)起查詢?nèi)缓髠鞲衅鞴?jié)點進行應答,,一問一答,,非問莫答,避免各傳感器節(jié)點同時發(fā)送數(shù)據(jù)產(chǎn)生沖突,。
4 系統(tǒng)測試
本系統(tǒng)利用制作好的4個傳感器節(jié)點,、1個路由器和1個協(xié)調(diào)器,在用戶方的1個大平房倉型糧庫中進行測試,。該糧庫長100 m,,跨度24 m,高7 m,,其裝糧高度為6 m,,因此在糧庫按25 m間隔和6.1 m高來放置傳感器節(jié)點以及按不同距離放置路由器和協(xié)調(diào)器進行測試,節(jié)點1實時溫度趨勢圖如圖5所示,。測試結果表明,,其平均溫度誤差為0.2 ℃,濕度誤差為2% RH,,氣味濃度分辨率為0.5,,滿足精度要求,同時對火焰反應比較敏感,,預報火警迅速,,對通風和除濕設備控制比較準確,而且上位機監(jiān)控軟件操作簡單,。此外本系統(tǒng)采用3 dB的2.4 GHz膠棒天線進行測試,,無線模塊輸出功率可達22 dBm,在空曠地帶兩個模塊有效傳輸距離可達1 500 m,,滿足通信距離的需要,。
5 結束語
測試表明,該系統(tǒng)不僅達到了設計要求,,還具有測量精度高,、功耗低、成本低,、組網(wǎng)靈活,、人機界面簡單直觀、實用性強和穩(wěn)定性高等諸多優(yōu)點,同時還能用于其他需求相近的領域,。
參考文獻
[1] 梁絨香.基于無線傳輸?shù)募Z倉多參數(shù)綜合監(jiān)測系統(tǒng)設計[J].自動化技術與應用,,2014,33(8):43-47.
[2] 徐艷玲.基于物聯(lián)網(wǎng)的遠程糧倉環(huán)境監(jiān)控系統(tǒng)設計[J].軟件工程師,,2015,,18(2):22-23.
[3] 董靜薇,李會樂,,郭艷雯,,等.基于Zigbee的糧倉溫濕度監(jiān)測系統(tǒng)設計[J].哈爾濱理工大學學報,2014,,19(2):120-124.
[4] 李家金.基于ZigBee的糧倉環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)[D].大連:大連海事學院,,2012.
[5] 姜仲,劉丹.ZigBee技術與實訓教程——基于CC2530的無線傳感網(wǎng)絡技術[M].北京:清華大學出版社,,2014.
[6] 李建勇,,劉雪梅,李洋.基于SimpliciTI的大棚溫濕度無線監(jiān)測系統(tǒng)設計[J].電子設計工程,,2015,,23(18):173-179.