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