基于ZigBee和GSM網(wǎng)絡(luò)的倉(cāng)庫(kù)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
我國(guó)不僅是一個(gè)農(nóng)業(yè)大國(guó),更是工業(yè)大國(guó),倉(cāng)庫(kù)成為了眾多企業(yè)和公司不可缺少的一部分。糧食、工業(yè)產(chǎn)品在儲(chǔ)存過(guò)程中易受溫濕度等因素的影響,可能會(huì)霉變、生銹甚至引起火災(zāi)等,而無(wú)人看管的倉(cāng)庫(kù)則會(huì)出現(xiàn)無(wú)關(guān)人員隨意進(jìn)入、偷盜等情況[1]。企業(yè)和公司的傳統(tǒng)做法是安裝有線監(jiān)控或者采用人工值守等方式,但有線監(jiān)控在多個(gè)監(jiān)測(cè)點(diǎn)或者布線困難的情況下顯得繁瑣,且成本高,不靈活;而人工值守的方式不僅費(fèi)時(shí)、費(fèi)力且隨機(jī)性大,數(shù)據(jù)測(cè)量不準(zhǔn)確。針對(duì)這些問(wèn)題,本文基于ZigBee 和GSM 網(wǎng)絡(luò)設(shè)計(jì)了一種以 STM32F103ZET6 為主控芯片,成本低,靈活性好,可靠程度高的倉(cāng)庫(kù)環(huán)境監(jiān)控系統(tǒng) [2]。
1 系統(tǒng)總體設(shè)計(jì)
該系統(tǒng)主要由ZigBee 模塊、主控芯片、GPRS 無(wú)線發(fā)射模塊組成。
ZigBee 模塊分為終端和協(xié)調(diào)器兩部分,終端負(fù)責(zé)接收并處理傳感器采集的溫濕度、煙霧等倉(cāng)庫(kù)環(huán)境數(shù)據(jù),并將處理好的數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給協(xié)調(diào)器。
協(xié)調(diào)器負(fù)責(zé)接收終端發(fā)送的數(shù)據(jù),然后通過(guò)串口將數(shù)據(jù)發(fā)送給主控芯片。
主控芯片負(fù)責(zé)接收協(xié)調(diào)器發(fā)送的數(shù)據(jù)??刂埔壕溜@示溫濕度信息,并等待用戶以短信形式發(fā)送指令,當(dāng)接收到查詢指令時(shí),主控芯片通過(guò) GPRS 無(wú)線發(fā)射模塊及時(shí)將倉(cāng)庫(kù)的溫濕度信息發(fā)送給用戶;接收到命令指令后,主控芯片將命令發(fā)送給協(xié)調(diào)器,進(jìn)而控制各個(gè)終端,終端依照接收的指令控制繼電器的開(kāi)閉,最終實(shí)現(xiàn)打開(kāi)或關(guān)閉通風(fēng)窗口和除濕設(shè)備的目的。系統(tǒng)總體設(shè)計(jì)框圖如圖 1 所示。
2 系統(tǒng)硬件選型與設(shè)計(jì)
系統(tǒng)終端和協(xié)調(diào)器均采用TI公司生產(chǎn)的 ZigBeeSOC CC2530F256芯片,該芯片基于 IEEE 802.15.4規(guī)范標(biāo)準(zhǔn)[3],能夠以非常低的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)[4]。CC2530芯片集成了RF收發(fā)器、增強(qiáng)工業(yè)標(biāo)準(zhǔn)的 8051MCU、可編程 Flash 存儲(chǔ)器、8KBRAM和許多其他強(qiáng)大功能[5]。此外,ZigBee 模塊安裝了 3dB的 2.4GHz 膠棒天線,使得輸出功率達(dá)到22dBm,終端與協(xié)調(diào)器之間的有效傳輸距離長(zhǎng)達(dá) 500m,可滿足大型倉(cāng)庫(kù)的通信要求。
主控芯片采用STM32F103ZET6 處理器。該處理器不僅功耗低,還帶有 512 KB Flash 和 64 KB SRAM 存儲(chǔ)器[6]。工作電壓范圍為 2.0 ~3.6 V,具有多種省電模式,可完全滿足低功耗的要求。無(wú)線發(fā)射模塊采用具有緊湊型、高可靠性特點(diǎn)的無(wú)線模塊 SIM900A,它采用SMT 封裝的雙頻GSM/GPRS 模塊解決方案,擁有強(qiáng)大功能的處理器ARM9216EJ-S 內(nèi)核, 能夠滿足低成本,緊湊尺寸的要求。
2.1 終端節(jié)點(diǎn)設(shè)計(jì)
系統(tǒng)由四個(gè)終端組成,其中兩個(gè)終端分別監(jiān)測(cè)倉(cāng)庫(kù)中的溫濕度和氣味濃度,另外兩個(gè)負(fù)責(zé)紅外報(bào)警和繼電器控制。采用DHT11 溫濕度傳感器監(jiān)測(cè)倉(cāng)庫(kù)中的溫濕度,該傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器 [7],具有極高的可靠性和優(yōu)秀的穩(wěn)定性,適合長(zhǎng)期監(jiān)測(cè)環(huán)境的溫濕度。采用MQ2 煙霧傳感器監(jiān)測(cè)氣味濃度,該傳感器對(duì)可燃性氣體有較高的靈敏度,完全契合倉(cāng)庫(kù)預(yù)防火災(zāi)的要求。該終端采用紅外熱釋電傳感器HC-SR501 進(jìn)行紅外報(bào)警,是一款基于紅外技術(shù)的自動(dòng)控制產(chǎn)品,具有靈敏度高,可靠性好,超低功耗等優(yōu)點(diǎn),能夠在超低電壓下工作,采用一款 5 V 或兼容 3.3 V 的繼電器連接到ZigBee 終端模塊即可。圖 2 中從左到右依次是溫濕度傳感器、煙霧傳感器和紅外傳感器。
圖 2 傳感器實(shí)物
2.2 協(xié)調(diào)器設(shè)計(jì)
協(xié)調(diào)器主要負(fù)責(zé)啟動(dòng)、配置網(wǎng)絡(luò)和收發(fā)數(shù)據(jù),無(wú)需連接任何傳感器和繼電器。協(xié)調(diào)器通過(guò)串口與主控芯片連接,可實(shí)現(xiàn)串口通信。因ZigBee 模塊、主控芯片和無(wú)線發(fā)射模塊擁有相同的通信協(xié)議,因此僅需注意各模塊串口的正確連接即可。通訊協(xié)議的格式見(jiàn)表 1 所列。
2.3 主控電路設(shè)計(jì)
主控電路芯片采用 STM32F103ZET6 處理器,由主控芯 片作為系統(tǒng)中樞,起到承上啟下的作用。主控芯片通過(guò)串口 連接 SIM900A 模塊、液晶顯示模塊和協(xié)調(diào)器。各模塊連接 方式如圖 3 所示。圖中從左到右依次是協(xié)調(diào)器、主控電路、 SIM900A 無(wú)線發(fā)射模塊,主控電路連接電源,為協(xié)調(diào)器和無(wú) 線發(fā)射模塊供電。
圖 3 模塊連接圖
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件由主控芯片的系統(tǒng)軟件和 ZigBee 模塊部分的系 統(tǒng)軟件組成。
3.1 主控芯片的系統(tǒng)軟件
主控芯片既要負(fù)責(zé)接收各種傳感器發(fā)送的數(shù)據(jù),又要接 收用戶發(fā)送的指令,經(jīng)常需要處理多個(gè)任務(wù),因此在主控芯 片中植入一個(gè)實(shí)時(shí)多任務(wù)的操作系統(tǒng)很有必要。系統(tǒng)采用μC/ OS-II 操作系統(tǒng),該系統(tǒng)可基于 ROM 運(yùn)行,可裁剪,含實(shí)時(shí) 多任務(wù)內(nèi)核,具有高度的可移植性,適用于微處理器和控制 器 [8]。待操作系統(tǒng)移植好后,根據(jù)需要確定各任務(wù)的優(yōu)先級(jí), 安排各任務(wù)的執(zhí)行順序并設(shè)計(jì)相應(yīng)的程序。將設(shè)計(jì)好的程序 燒到主控芯片,使芯片具有運(yùn)行協(xié)調(diào)任務(wù)的能力,從而確保任 務(wù)之間可無(wú)沖突、流暢地同步運(yùn)行。
3.2 ZigBee 模塊的系統(tǒng)軟件
為了讓用戶更方便地使用 ZigBee 技術(shù),TI 公司向用戶免 費(fèi)提供了 Z-Stack,即 CC2530 開(kāi)發(fā)板的配套程序。Z-Stack 包 含了協(xié)調(diào)器和終端程序設(shè)計(jì)的例程,用戶可根據(jù)自身需要在相 應(yīng)的例程基礎(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)用層和與 硬件部分相關(guān)的程序。本文所設(shè)計(jì)的系統(tǒng)中,系統(tǒng)協(xié)調(diào)器和終 端程序設(shè)計(jì)都通過(guò)在 IAR Embedded Workbench for 8051 開(kāi)發(fā) 環(huán)境下修改 Z-Stack-CC230-2.5.1 的 SampleApp 例程來(lái)完成。
3.3 系統(tǒng)軟件執(zhí)行過(guò)程
操作系統(tǒng)啟動(dòng)后首先初始化硬件設(shè)備,從配置文件中讀 取相關(guān)配置信息,之后初始化串口,接收協(xié)調(diào)器從串口發(fā)送的 數(shù)據(jù),等待用戶發(fā)送命令指令,如果接收到指令則發(fā)送實(shí)時(shí)數(shù) 據(jù)給用戶,或者將用戶的指令發(fā)送給協(xié)調(diào)器。ZigBee 內(nèi)網(wǎng)的建 立和維護(hù)由 ZigBee 協(xié)調(diào)器承擔(dān),接收主控芯片傳送的控制指 令并轉(zhuǎn)發(fā)到各個(gè)終端 [9]。在本系統(tǒng)采用星形網(wǎng)絡(luò),星形網(wǎng)絡(luò)是 數(shù)據(jù)和網(wǎng)絡(luò)命令都通過(guò)中心節(jié)點(diǎn)傳輸?shù)囊粋€(gè)輻射狀系統(tǒng),具有 結(jié)構(gòu)簡(jiǎn)單,設(shè)備成本低等優(yōu)點(diǎn)。網(wǎng)絡(luò)組建主要包括系統(tǒng)初始化、 網(wǎng)絡(luò)拓?fù)涓潞凸?jié)點(diǎn)通信幾方面 [10]。協(xié)調(diào)器網(wǎng)絡(luò)通信流程如 圖 4 所示。
4 系統(tǒng)測(cè)試
本系統(tǒng)設(shè)計(jì)的模塊包括傳感器終端模塊、主控電路模塊,與主控電路連接的協(xié)調(diào)器模塊以及 GPRS 無(wú)線發(fā)射模塊。系 統(tǒng)連接如圖 5 所示。
將制作好的系統(tǒng)終端節(jié)點(diǎn)模塊和主控電路等模塊放在模 擬倉(cāng)庫(kù)中進(jìn)行測(cè)試,將不同類(lèi)別的傳感器模塊等間隔放置在 倉(cāng)庫(kù)內(nèi)的不同位置。系統(tǒng)上電后,液晶屏開(kāi)始顯示倉(cāng)庫(kù)的溫濕 度。當(dāng)用戶手機(jī)發(fā)送短信查詢倉(cāng)庫(kù)環(huán)境信息時(shí),可以收到系 統(tǒng)發(fā)送的倉(cāng)庫(kù)溫濕度數(shù)據(jù)信息。當(dāng)紅外傳感器檢測(cè)到有人時(shí), 系統(tǒng)主動(dòng)將報(bào)警信息以短信形式發(fā)送到手機(jī)。用打火機(jī)在煙 霧傳感器周?chē)尫趴扇細(xì)怏w,當(dāng)可燃?xì)怏w濃度超過(guò)程序中預(yù)設(shè) 的上限時(shí),系統(tǒng)會(huì)主動(dòng)發(fā)送報(bào)警信息給手機(jī),如圖 6 所示。
經(jīng)測(cè)試,該系統(tǒng)對(duì)溫度的檢測(cè)誤差為 0.1℃,濕度誤差為 1%RH,煙霧濃度分辨率為 0.3,可滿足對(duì)倉(cāng)庫(kù)環(huán)境參數(shù)的檢 測(cè)精度要求。該系統(tǒng)對(duì)可燃性氣體反應(yīng)靈敏,當(dāng)檢測(cè)到可燃性 氣體時(shí)會(huì)迅速向用戶發(fā)送報(bào)警短信,并準(zhǔn)確控制繼電器的開(kāi)閉。
5 結(jié) 語(yǔ)
本文所設(shè)計(jì)的倉(cāng)庫(kù)環(huán)境監(jiān)控系統(tǒng)采用 ZigBee 無(wú)線通信 方式,用戶無(wú)需布線,只需將終端設(shè)備放置到需要監(jiān)測(cè)的位置 即可,便于安裝。系統(tǒng)使用的主控芯片功能強(qiáng)大,具有良好的 擴(kuò)展性,可以根據(jù)客戶的不同需要在原來(lái)的基礎(chǔ)上增加新的 功能。用戶可以短信方式查詢倉(cāng)庫(kù)環(huán)境信息并控制倉(cāng)庫(kù)通風(fēng)窗 口,非常人性化。本文設(shè)計(jì)的系統(tǒng)具有耗能少,成本低,穩(wěn)定 性好等特點(diǎn),具有一定的推廣價(jià)值。