王志明 楊金鑫 丁忠昌



摘 要:文章以溫濕度和二氧化碳濃度作為監(jiān)測參數(shù),選擇CC2530作為系統(tǒng)節(jié)點的核心芯片,設(shè)計并實現(xiàn)了基于ZigBee技術(shù)的冷庫環(huán)境監(jiān)測系統(tǒng);進行了其他相關(guān)硬件電路的設(shè)計,完成了節(jié)點的硬件設(shè)計;在硬件的基礎(chǔ)上結(jié)合ZigBee協(xié)議棧對協(xié)調(diào)器、路由節(jié)點和終端節(jié)點的軟件以及傳感器采集數(shù)據(jù)程序進行了設(shè)計;最后對系統(tǒng)的上位機進行了設(shè)計與實現(xiàn)。
關(guān)鍵詞:ZigBee; 冷庫貯藏; 環(huán)境監(jiān)測系統(tǒng); 系統(tǒng)設(shè)計
0 引言
自從19世紀中葉制冷機出現(xiàn)后,將食品如水產(chǎn)品、肉類食品、乳制品、農(nóng)產(chǎn)品等放置于冷凍、冷藏設(shè)備中貯藏成為食品保質(zhì)保鮮的主要措施。隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,越來越多的新科技被應(yīng)用到冷凍、冷藏設(shè)備中進行環(huán)境(溫度、濕度等)監(jiān)測,例如設(shè)備向智能化、控制遠程化、參數(shù)多元化和操作的便捷簡易化方向發(fā)展。1987年加拿大安大略省園藝研究所Lauro等[1]對果蔬儲藏溫、濕度監(jiān)測設(shè)備增加了氣體濃度和其他相關(guān)參數(shù)的監(jiān)測功能。2004年韓國木浦國立大學(xué)Lim等[2]對冷庫環(huán)境進行遠程監(jiān)控,采用有線方式進行了冷庫溫度的監(jiān)測,開發(fā)了便捷簡易的操作軟件。2016年葡萄牙波爾圖大學(xué)Sousa等[3]設(shè)計的環(huán)境監(jiān)測系統(tǒng)對冷庫的溫度、相對濕度、用電功耗和冷庫門開關(guān)的狀態(tài)等進行監(jiān)測。2016年印度蒂魯吉拉伯利國立技術(shù)學(xué)院Kumar[4]利用無線通信方式對冷庫的溫濕度和氣體濃度以及其他參數(shù)進行監(jiān)測。2017年印度蒂魯吉拉伯利國立技術(shù)學(xué)院Sathish 等[5]運用ZigBee技術(shù)構(gòu)建了無線傳感器監(jiān)測系統(tǒng),除了監(jiān)測常規(guī)溫濕度之外,增加了光照強度監(jiān)測,并通過模糊邏輯控制器實現(xiàn)參數(shù)的控制。2017年印度班加羅爾工程學(xué)院Chandanashree等[6]運用物聯(lián)網(wǎng)技術(shù)、嵌入式操作系統(tǒng)進行組網(wǎng)和各節(jié)點終端的開發(fā)。在國內(nèi),2006年桂林工學(xué)院趙政春等[7-8]用CAN總線技術(shù)以及數(shù)字傳感器進行冷庫環(huán)境的監(jiān)測,同時對大范圍的冷庫區(qū)域通過布置多個節(jié)點來得到更精確的測量結(jié)果。2007年西北農(nóng)林科技大學(xué)的高寶平等[9]在監(jiān)測參數(shù)方面增加了氣體的監(jiān)測和互聯(lián)網(wǎng)的連接,進而能夠?qū)崿F(xiàn)更大范圍的冷庫監(jiān)測。2013年山西大學(xué)的張軍等[10-11]在冷庫監(jiān)測中增加了GSM報警功能,實現(xiàn)了對監(jiān)測參數(shù)的遠程預(yù)警。
目前國內(nèi)冷庫、冷藏貨架的監(jiān)測設(shè)備存在環(huán)境參數(shù)單一、數(shù)據(jù)傳輸方式不靈活、數(shù)據(jù)處理方式的抗干擾能力差等問題,而食品儲藏環(huán)境冷庫、冷藏貨架設(shè)備的網(wǎng)絡(luò)化、智能化和安全化是未來若干年的發(fā)展方向,其中比較適合使用的就是ZigBee無線通信技術(shù),使用無線數(shù)據(jù)傳輸方式逐步取代有線的傳輸方式。本文將無線傳感器技術(shù)應(yīng)用在冷庫的監(jiān)測中,通過對冷庫環(huán)境、ZigBee技術(shù)以及數(shù)據(jù)融合算法的研究,設(shè)計并實現(xiàn)了基于ZigBee技術(shù)的冷庫環(huán)境監(jiān)測系統(tǒng)。
1 硬件設(shè)計
ZigBee名稱的命名來源于蜜蜂采蜜時相互之間的交流方式。當蜜蜂發(fā)現(xiàn)花粉源,會通過跳“之”字形舞蹈(英文名稱為Zigzag)通知其他蜜蜂花粉源的信息,如距離、方位、多少和其他與位置相關(guān)的信息,實現(xiàn)信息共享。蜜蜂這種傳遞信息的方式具有體積小、距離近、能耗少和全向性等特點,這跟無線數(shù)據(jù)傳輸技術(shù)的體積小、能耗低和近距離傳輸?shù)忍攸c非常類似。因此,人們將ZigBee代表這種新興的短距離無線通信技術(shù)。在此之前,ZigBee也被稱為“HomeRF Lite”“RF- EasyLink”或“fireFly”無線電技術(shù),從這些字面上也可以理解這種技術(shù)的特點。
ZigBee的物理層工作在868 MHz,915 MHz和2.4 GHz這3個頻段上,868 MHz和915 MHz是歐洲和美國專有,? 2.4 GHz在全球范圍內(nèi)都可以使用。因此,國內(nèi)的ZigBee設(shè)備一般都使用2.4 GHz的頻段,其速率也最高。
隨著ZigBee技術(shù)的飛速發(fā)展,很多大的半導(dǎo)體公司都推出了能夠支持IEEE 802.15.4標準即ZigBee技術(shù)的射頻芯片,CC2530是TI公司推出的用于2.4 GHz的IEEE 802.15.4/RF4CE/ZigBee的第二代芯片的片上系統(tǒng),具備低功耗、射頻功能強大、增強型內(nèi)核、多種獨有資源和功能的特點。針對ZigBee協(xié)議內(nèi)置了特有的一些資源和功能,如4個定時器中T2定時器為MAC層定時器,硬件具有AES安全協(xié)處理器并支持可靠性更高的CSMA/CA,能夠?qū)SSI等鏈路質(zhì)量數(shù)字化,還配備有內(nèi)置的8通道12位可配置分辨率的ADC。由于CC2530具有如此多樣的功能特性,且其基于8051的內(nèi)核以及較廣的應(yīng)用,成本也較低,因此本系統(tǒng)采用的射頻芯片為CC2530芯片。
本文所做的冷庫環(huán)境監(jiān)測系統(tǒng)選用SHT10數(shù)字溫濕度傳感器,它由一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件和信號處理電路集成在一塊芯片上,通過IIC協(xié)議進行通信,輸出經(jīng)過標定的數(shù)字信號,具有體積小、功耗低、抗干擾性能強、響應(yīng)速度快、性價比較高等優(yōu)點。部分食品保鮮制冷設(shè)備采用氣調(diào)冷庫形式,因此需要實時監(jiān)測冷庫中的二氧化碳濃度。本系統(tǒng)選用了能夠在-40 ℃低溫下工作的SGP30數(shù)字二氧化碳傳感器,它是一種金屬氧化物氣體傳感器,芯片上集成了多個傳感元件,有較強的抗干擾和低漂移特性,具有溫度補償功能,可以對CO2濃度進行測量。二氧化碳傳感器與溫濕度傳感器的通信方式一樣,也是支持IIC通信協(xié)議的IIC器件,與主控連接后需要通過I/O口模擬IIC總線測量氣體。在ZigBee技術(shù)的應(yīng)用中,需用大量的代碼進行ZigBee協(xié)議的實現(xiàn),而這些代碼是要在無線芯片(例如本文中的CC2530)上運行,因此,需要一種適合該硬件場景的編譯器(Embedded Workbench)進行軟件的開發(fā)。本文選擇TI官方推薦的瑞典軟件公司IAR的產(chǎn)品IAR集成編譯器進行軟件功能開發(fā)。IAR是專門為嵌入式軟件開發(fā)設(shè)計的一種交叉編譯器,它支持多種8位、16位、32位處理器的開發(fā),其中就包括本文所用的基于8051內(nèi)核的CC2530芯片。IAR能夠?qū)崿F(xiàn)C/C++語言程序的編譯,從仿真器還可以進行程序的下載、仿真和在線調(diào)試;它可以輸出多種格式的目標文件,方便第三方軟件進行其他功能應(yīng)用和接口使用。由于在ZigBee的開發(fā)中需要Z-Stack協(xié)議棧與IAR配合,因此它們的版本要兼容,否則會導(dǎo)致無法編譯。在本系統(tǒng)中,Z-Stack協(xié)議棧使用的版本是ZStack-2.5.1a,IAR的版本是IAR EW8051-8.1,是兼容的。
硬件功能模塊由4個模塊組成(見圖1)。
(1)采集模塊。
采集模塊主要是利用傳感器將需要采集的環(huán)境信息進行較為準確的測量。目前的傳感器一般可分為數(shù)字傳感器和模擬傳感器,對于本系統(tǒng)而言,出于系統(tǒng)的便利性考慮,使用的傳感器都是數(shù)字傳感器。數(shù)字傳感器只需要連接相應(yīng)的I/O口,然后利用軟件讀出測量的數(shù)據(jù)即可完成測量。
(2)控制器模塊。
控制器模塊主要是單片機最小系統(tǒng)的構(gòu)建,在本系統(tǒng)中使用無線芯片,主要是保證芯片能夠正常運行。
(3)通信模塊。
本系統(tǒng)的通信主要分為兩個部分:與PC間的通信和各節(jié)點之間的通信。與PC的通信一般是使用串口(USART)通信,由于PC常用USB通信方式,因此需要進行USART-USB的轉(zhuǎn)換。無線通信部分則是保證無線數(shù)據(jù)的收發(fā)正常,一般是使用天線進行收發(fā)。
(4)電源模塊。
目前的無線芯片和多數(shù)傳感器都使用3.3V電壓供電,本系統(tǒng)也使用3.3V供電,但為了系統(tǒng)的拓展性和電壓的穩(wěn)定性,總的供電電壓選擇5V,同時預(yù)留5V的輸出接口,3.3V電壓則使用穩(wěn)壓器進行3.3V電壓輸出。考慮到便攜性,除協(xié)調(diào)器外的無線節(jié)點不僅可以采用直接電源供電,還可選用5V電池供電。
2 軟件設(shè)計
系統(tǒng)軟件設(shè)計主要包括各節(jié)點上的軟件設(shè)計和上位機端的軟件設(shè)計兩大部分。由于各類節(jié)點的功能不同,所以各節(jié)點的軟件部分設(shè)計也各有不同,如終端節(jié)點需要進行數(shù)據(jù)采集,路由節(jié)點側(cè)重于數(shù)據(jù)轉(zhuǎn)發(fā),協(xié)調(diào)器需要與上位機通信等。上位機的軟件設(shè)計主要側(cè)重對采集到的最終數(shù)據(jù)的處理,能夠顯示處理結(jié)果和進行相應(yīng)的提示和預(yù)警(見圖2)。
數(shù)據(jù)終端采集節(jié)點主要控制相關(guān)傳感器進行物理量、化學(xué)量參數(shù)的采集,并周期性循環(huán)地將采集到的數(shù)據(jù)進行一級融合,然后將融合后的數(shù)據(jù)發(fā)送給母節(jié)點。數(shù)據(jù)采集節(jié)點的軟件流程如圖3所示。
本文在程序中將每個傳感器所測量的物理量、化學(xué)量參數(shù)代碼封裝成函數(shù)形式以方便調(diào)用。具體應(yīng)用中,可以直接利用這些函數(shù)進行數(shù)據(jù)的獲取和計算,并將融合值發(fā)送出去。考慮到冷庫環(huán)境監(jiān)測系統(tǒng)的能源消耗和各種環(huán)境參數(shù)變化較為緩慢,可以將數(shù)據(jù)周期性地發(fā)送出去,這在整個程序流程中加入延時程序即可以實現(xiàn)。
本文所涉及的硬件系統(tǒng)有兩種傳感器,即溫濕度傳感器和二氧化碳傳感器,它們都是通過I/O口模擬IIC協(xié)議進行測量。本文對這兩種傳感器的測量程序進行了設(shè)計。
(1)溫濕度傳感器。
溫濕度傳感器的測量主要是利用IIC總線進行命令的發(fā)送和數(shù)據(jù)的接收,SHT10主要的命令集如表1所示。
溫濕度測量的程序流程如圖4所示。
首先通過復(fù)位時序進行IIC總線的復(fù)位,然后發(fā)送啟動時序進行數(shù)據(jù)傳送的初始化,將命令集中的相應(yīng)命令指令寫進傳感器即可讀取測量數(shù)據(jù),讀取出的數(shù)值再經(jīng)過公式計算就可以完成冷庫環(huán)境溫濕度物理量的測量。在I/O口模擬IIC通信的過程中最重要的是時序的模擬,利用與時鐘和數(shù)據(jù)總線相連的I/O口進行高、低電平的切換和延時即可實現(xiàn)特定的時序。下面是部分通過I/O口模擬IIC協(xié)議的代碼:
#define SCK1 P0_5
#define DATA P0_7
P0DIR |= 0xA0;
DATA = 1; SCK1 = 0;
_nop_();
SCK1 = 1;
_nop_();
DATA = 0;
……
本系統(tǒng)中的溫濕度傳感器將P05和P07兩個I/O口分別作為時鐘線DATA和數(shù)據(jù)線SCK,SCK一直是由主控輸出,而DATA在寫和讀時分別作為輸出和輸入,因此在不同的操作中要進行相應(yīng)的引腳配置。
(2)二氧化碳傳感器。
本系統(tǒng)中的二氧化碳傳感器和溫濕度傳感器一樣,利用I/O口模擬IIC協(xié)議進行測量,其程序流程如圖5所示。
SGP30的測量流程與SHT10的測量流程類似,SGP30嚴格按照IIC協(xié)議的時序進行傳輸,沒有特定的復(fù)位和啟動傳輸時序,所有的功能都是通過寫具體的命令來實現(xiàn)的。SHT10沒有IIC地址,SGP30的地址為0x58。
SGP30的部分命令集如表2所示。
上位機開發(fā)使用C#語言進行程序的實現(xiàn),C#是由C語言和C++語言衍生出的一種面向?qū)ο蟮某绦蛟O(shè)計語言,它兼有C和C++的強大功能,但使用起來比這兩種語言要簡單,易于上手。此外C#還具有VB的可視化操作,可以直接面向組件編程。上位機的開發(fā)環(huán)境選擇Visual Studio 2015,該開發(fā)環(huán)境可以支持多種語言的編譯,如C/C++/C#等主流編程語言,同時具有界面開發(fā)和其他功能相關(guān)的控件,能夠很好地進行上位機界面的開發(fā)。
上位機的主要功能是進行冷庫環(huán)境信息物理量、化學(xué)量參數(shù)的接收、存儲、處理、顯示、預(yù)警等,同時為了確保安全性,也需要具有密碼登錄等功能。上位機各功能的構(gòu)成如圖6所示。
上位機的主要流程如圖7所示。打開上位機軟件后,首先進入登錄模塊,登錄模塊是為了確保整個上位機的安全,防止無關(guān)人員使用該軟件。如果輸入數(shù)據(jù)庫中儲存的正確的工號和密碼,就可以進入上位機監(jiān)測界面,而如果輸入的信息與預(yù)設(shè)的不符,就會提醒重新輸入。
登錄成功后的上位機的界面設(shè)計如圖8所示。考慮到使用串口通信,左側(cè)界面設(shè)置了串口開關(guān)以及波特率和串口的選擇,右側(cè)界面設(shè)置為冷庫環(huán)境監(jiān)測界面,ZigBee協(xié)調(diào)器發(fā)來處理后的環(huán)境參數(shù)信息都是在這里顯示。本文監(jiān)測系統(tǒng)和軟件兼?zhèn)漕A(yù)警的功能,可以針對具體的儲藏物品的最適宜環(huán)境進行各種參數(shù)的上下限區(qū)間設(shè)置,如果某一節(jié)點經(jīng)過一級融合后的某參數(shù)超過了該參數(shù)設(shè)置的區(qū)間,會彈出具體異常情況的預(yù)警框,同時會在提示信息框提示某節(jié)點顯示異常,提示工作人員進行核對查看。如果經(jīng)過二級融合后參數(shù)仍然異常,說明問題比較嚴重,系統(tǒng)就會直接彈出預(yù)警框告知存在某種參數(shù)異常,并在提示框進行提示。系統(tǒng)在接收到數(shù)據(jù)后即自動存儲,此外系統(tǒng)也對預(yù)警信息進行存儲,為了方便查看,這些信息直接存儲在上位機中。
3 結(jié)語
本文針對目前冷庫所監(jiān)測的環(huán)境參數(shù)單一、數(shù)據(jù)傳輸方式不靈活、數(shù)據(jù)處理方式的抗干擾能力差等問題,以ZigBee技術(shù)作為系統(tǒng)的通信方式,進行了冷庫環(huán)境溫濕度、二氧化碳濃度監(jiān)測系統(tǒng)的設(shè)計。選擇CC2530作為系統(tǒng)的無線芯片,設(shè)計了相關(guān)硬件電路,并完成傳感器的選型;軟件方面,基于ZigBee協(xié)議棧設(shè)計了節(jié)點的程序,對協(xié)調(diào)器、路由器和終端節(jié)點進行具體的軟件設(shè)計,以及在終端節(jié)點的軟件設(shè)計中包括傳感器數(shù)據(jù)采集的程序設(shè)計;基于C#語言的上位機的軟件設(shè)計,開發(fā)設(shè)計了上位機的具體界面。
[參考文獻]
[1]LAURO E M. Temperature monitor and alarm system for cold storage rooms [J].International Journal of Refrigeration,1987(2):106-107.
[2]LIM D Y,RYOO Y J. Development of remote monitoring system for cold-storage [C].Conference of the IEEE Industrial Electronics Society,IEEE,2004.
[3]SOUSA P J,QUINTAS M,ABREU P. Monitoring system for cold storages [C].2015 3rd Experiment International Conference(exp.at15). IEEE,2015.
[4]KUMAR A S,SUDHA S. Design of wireless sensor network based fuzzy logic controller for a cold storage system[C].IEEE Power India International Conference,IEEE,2016.
[5]SATHISH K A,SUDHA S. Hardware realization of fuzzy logic driven PWM controller for a cold storage system[C].2017 2nd IEEE International Conference on Recent Trends in Electronics,Information & Communication Technology(RTEICT),Bangalore,2017.
[6]CHANDANASHREE V C,BHAT U P,KANADE P,et al. Tinyos based WSN design for monitoring of cold storage warehouses using internet of things[C].International Conference on Microelectronic Devices,Circuits and Systems,2017.
[7]趙政春,陸綺榮,孫秀桂. CAN總線的冷庫控制系統(tǒng) [J].計算機測量與控制,2006(10):1334-1337.
[8]曾斌.基于CAN總線的冷庫監(jiān)控系統(tǒng)設(shè)計[D].長沙:湖南大學(xué),2009.
[9]高寶平.基于LabVIEW的冷庫檢測與控制系統(tǒng)的設(shè)計[D].楊凌:西北農(nóng)林科技大學(xué),2007.
[10]張軍.冷庫溫度監(jiān)測與信息管理系統(tǒng)設(shè)計[D].太原:山西大學(xué),2013.
[11]楊金鑫,王志明.基于多無線傳感器的改進數(shù)據(jù)融合算法[J].儀表技術(shù)與傳感器,2020(8):118-121.
(編輯 王雪芬)