黃光華 王俊淵
摘 要 本文利用ZigBee協(xié)議建立一個(gè)簡易的ZigBee網(wǎng)絡(luò),實(shí)現(xiàn)兩點(diǎn)之間無線傳輸,DHT11高精度數(shù)字傳感器對溫濕度進(jìn)行采集,以O(shè)LED作為數(shù)據(jù)圖像顯示。再加上溫濕度超標(biāo)報(bào)警模塊,形成了一個(gè)簡單的點(diǎn)對點(diǎn)無線傳輸?shù)膶?shí)時(shí)監(jiān)控系統(tǒng)。
【關(guān)鍵詞】ZigBee協(xié)議棧;數(shù)字溫濕度傳感器;OLED液晶屏
1 前言
藥品、糧食以及某些食物存放在倉庫中,保存是對其環(huán)境的要求嚴(yán)格,它們都要求溫濕度在一定的范圍內(nèi),這樣才能保證不會(huì)出現(xiàn)物品變質(zhì)。本設(shè)計(jì)無線通信網(wǎng)絡(luò)由ZigBee協(xié)議構(gòu)建,以此傳輸倉庫中數(shù)據(jù)。ZigBee網(wǎng)絡(luò)傳輸速度快,覆蓋范圍廣,構(gòu)建的節(jié)點(diǎn)數(shù)目多,成本低,操作簡單,適合各類倉庫檢測。
2 系統(tǒng)方案設(shè)計(jì)
在本設(shè)計(jì)采用點(diǎn)對點(diǎn)的方式數(shù)據(jù)傳輸,一個(gè)節(jié)點(diǎn)作為從機(jī)設(shè)備發(fā)送信號,另一節(jié)點(diǎn)作為主機(jī)進(jìn)行接收。在電源模塊,晶振模塊,RF模塊等一些基礎(chǔ)模塊主要是形成一個(gè)有效的無線收發(fā)信號系統(tǒng),因此兩個(gè)節(jié)點(diǎn)都需要加入這些基本模塊。從機(jī)模塊由溫濕度采集模塊采集數(shù)據(jù), CC2530主芯片數(shù)據(jù)處理,再由RF模塊將8字節(jié)數(shù)據(jù)包發(fā)送出去。主機(jī)數(shù)據(jù)接收由CC2530構(gòu)成的核心電路完成,經(jīng)處理后發(fā)送到OLED上顯示。采集到的溫濕度超過超出設(shè)定值后啟動(dòng)報(bào)警模塊。
3 系統(tǒng)硬件設(shè)計(jì)
3.1 Zigbee 最小系統(tǒng)設(shè)計(jì)
ZigBee最小系統(tǒng)主要是以CC2530芯片為核心,由32.768KHz晶振構(gòu)成的基準(zhǔn)時(shí)鐘,以32M晶振設(shè)計(jì)作為震蕩時(shí)鐘,加上RF射頻電路形成一個(gè)穩(wěn)定的無線傳輸系統(tǒng)。電路中電容和電感組成濾波電路防止高頻干擾。
3.2 電源穩(wěn)壓模塊設(shè)計(jì)
由于CC2530芯片工作電壓為3.3V,選用一款高效的線性穩(wěn)壓器AMS1117,可高效地將5V電壓轉(zhuǎn)換成3.3V輸出。
3.3 溫濕度采集模塊
溫濕度模塊采用數(shù)字傳感器DHT11為核心,DHT11傳感器內(nèi)部包含了一個(gè)精密的電阻式測濕度元器件和一個(gè)精密NTC測溫度元器件,如圖1。 在外部電路設(shè)計(jì)上,由于DATA數(shù)據(jù)引腳采用CMOS漏極開路,本身不具備驅(qū)動(dòng)能力,因此需要上拉一個(gè)電阻R3;保證時(shí)序的穩(wěn)定性。
3.4 顯示模塊
顯示模塊主要是采用0.98寸OLED液晶屏作為顯示數(shù)據(jù)的屏幕,該液晶屏雖然只有0.98寸,但分辨率是128*64,因此可以清晰的顯示出設(shè)計(jì)的數(shù)據(jù);且該液晶屏采用串口輸入數(shù)據(jù),大大減少了I/O的使用,如圖2。
3.5 RF射頻模塊
在無線網(wǎng)絡(luò)構(gòu)建中,天線和巴倫配置電路的設(shè)計(jì)是至關(guān)重要,這涉及到射頻信號傳輸能否達(dá)到設(shè)計(jì)標(biāo)準(zhǔn),對通訊距離、系統(tǒng)作用都有很大的影響。天線的選擇可以是PCB天線這一類,例如倒F形天線,螺旋形天線等。還可以使用SMA接口這一類的長桿形狀天線。根據(jù)個(gè)人的需求可以選擇而定,這里選擇的是長桿狀天線。巴倫配置電路設(shè)計(jì)如圖3。
3.6 震蕩電路設(shè)計(jì)
CC2530核心電路有2個(gè)晶振電路,32MHz晶振電路可以為整個(gè)系統(tǒng)運(yùn)行時(shí)提供高頻率的時(shí)鐘提升運(yùn)行速度,而32.768KHz晶振電路則是給芯片內(nèi)部提供一個(gè)Base_time,可用于時(shí)序的穩(wěn)定。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 Z-Stack體系架構(gòu)及工作流程
Z-Stack協(xié)議棧是Zigbee無線通訊協(xié)議,它的體系架構(gòu)如下。
①Z-Stack軟件架構(gòu)。
在整個(gè)程序運(yùn)行中,首先從main()主函數(shù)開始,在函數(shù)中,首先要做的是對整個(gè)電路實(shí)現(xiàn)初始化,之后進(jìn)入OSAL操作系統(tǒng),按照設(shè)定事件的順序開始運(yùn)行整個(gè)系統(tǒng)。
②Z-Stack操作系統(tǒng)初始化。
當(dāng)程序中的基本配置初始化完成后,進(jìn)入操作系統(tǒng),開始對系統(tǒng)進(jìn)行初始化,其中OSAL_Init_System()包含系統(tǒng)上電啟動(dòng)后的各個(gè)模式的初始化,當(dāng)初始化完成整個(gè)系統(tǒng)才開始進(jìn)行工作。
③執(zhí)行操作系統(tǒng)。
當(dāng)系統(tǒng)正式進(jìn)入工作后,需要將要執(zhí)行的事件的ID發(fā)送到主機(jī),然后以輪番查詢的方式進(jìn)行事件處理,其中SampleApp_ProcessEvent()函數(shù)是主要的事件處理函數(shù),將一個(gè)個(gè)的事件按照taskevent[id]這個(gè)序列號的順序進(jìn)行處理。
4.2 網(wǎng)絡(luò)通信過程
當(dāng)終端模塊上電后查詢到周圍存在ZigBee的協(xié)調(diào)器時(shí),將自動(dòng)與之組網(wǎng),兩端都確定了ID后,終端將向協(xié)調(diào)器連續(xù)發(fā)送數(shù)據(jù),直到復(fù)位,或者一方斷電才停止,實(shí)現(xiàn)節(jié)點(diǎn)初始化,協(xié)調(diào)器建網(wǎng),終端設(shè)備入網(wǎng)。
4.3 溫濕度測量和數(shù)據(jù)傳輸
溫濕度采集程序在主要是根據(jù)DHT11的時(shí)序進(jìn)行設(shè)置處理,最后取出數(shù)據(jù)進(jìn)行處理,提取出所需要的溫濕度數(shù)據(jù)后,將數(shù)據(jù)發(fā)送到終端顯示,再有終端發(fā)送到協(xié)調(diào)器,從而實(shí)現(xiàn)了數(shù)據(jù)的提取到無線傳輸?shù)囊粋€(gè)過程。
5 測試結(jié)果
溫濕度的測量在相對密閉的環(huán)境測量,因此受到外部的干擾比較小,下表為測量結(jié)果的對照表。
6 結(jié)束語
本文主要介紹通過ZigBee無線傳輸技術(shù)實(shí)現(xiàn)遙控方式采集和處理溫濕度數(shù)據(jù),它的優(yōu)點(diǎn)主要是實(shí)際消耗的能量非常低,對構(gòu)建的拓?fù)渚W(wǎng)絡(luò)中的端點(diǎn)具有高容量,信號傳輸延時(shí)短,所在的傳輸頻段免執(zhí)照等。
參考文獻(xiàn)
[1]劉慧,王鳴.基于CC2530的溫度監(jiān)測系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2012
[2]蔣佳君.淺談ZigBee技術(shù).wenku.baidu.com,2007(05).
[3]王鋒.FS_ZigBee協(xié)議棧實(shí)驗(yàn)指導(dǎo)書[Z].鋒碩電子科技有限公司,2010.
作者單位
贛南師范大學(xué)科技學(xué)院 江西省贛州市 341000