陳子楊+劉艷艷+李媛媛
摘 要:不管是工業(yè)、農(nóng)業(yè)、軍事及氣象領(lǐng)域,還是人類(lèi)生活的環(huán)境,都需要對(duì)溫度和濕度進(jìn)行測(cè)量和控制。因而,研制可靠且實(shí)用的溫濕度測(cè)量裝置顯得非常重要。尤其是要實(shí)現(xiàn)大環(huán)境中的溫濕度測(cè)量和自動(dòng)控制,采用有線(xiàn)網(wǎng)絡(luò)的方案難以實(shí)現(xiàn)。本文提出采用基于ZigBee技術(shù)的無(wú)線(xiàn)溫濕度測(cè)量與傳輸?shù)姆桨?,在上位機(jī)中采用C#構(gòu)成多點(diǎn)無(wú)線(xiàn)溫濕度采集系統(tǒng),實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)采集的數(shù)據(jù)統(tǒng)一管理和分析。該系統(tǒng)具有快速展開(kāi)、穩(wěn)定可靠、可維護(hù)性好等特點(diǎn)。
關(guān)鍵詞:溫度采集;ZigBee;C#;多點(diǎn)通信
1、系統(tǒng)的整體概述
該系統(tǒng)通過(guò)具有單總線(xiàn)總線(xiàn)接口的溫度傳感器DS18B20實(shí)現(xiàn)對(duì)溫度的采集,將信號(hào)送至ZigBee無(wú)線(xiàn)節(jié)點(diǎn),采用ZigBee技術(shù)的星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),建立了一個(gè)主節(jié)點(diǎn),多個(gè)從節(jié)點(diǎn)的無(wú)線(xiàn)網(wǎng)絡(luò),從節(jié)點(diǎn)采集溫濕度數(shù)據(jù)每隔一定的時(shí)間輪流向主節(jié)點(diǎn)發(fā)送,主節(jié)點(diǎn)收到數(shù)據(jù)之后通過(guò)串口將各節(jié)點(diǎn)的溫濕度數(shù)據(jù)傳給上位機(jī)監(jiān)控界面。本文選用C#作為開(kāi)發(fā)語(yǔ)言,進(jìn)行上位機(jī)的設(shè)計(jì)。
2、硬件系統(tǒng)設(shè)計(jì)
2.1、DS18B20 溫度傳感器
DS18B20數(shù)字溫度傳感器接線(xiàn)方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀(guān)。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域【1】。
2.2、CC2530主控芯片
CC2530是一顆真正的系統(tǒng)芯片(SoC)CMOS解決方案。這種解決方案能夠提高性能并滿(mǎn)足以ZigBee為基礎(chǔ)的2.4GHzISM波段應(yīng)用,及對(duì)低成本,低功耗的要求【2】。它結(jié)合一個(gè)高性能2.4GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和一顆工業(yè)級(jí)小巧高效的8051控制器。
CC2530包括了1個(gè)高性能的2.4 GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和1個(gè)8051控制器,它具有32/64/128 kB可選擇的編程閃存和8kB的RAM,還包括ADC、定時(shí)器、睡眠模式定時(shí)器、上電復(fù)位電路、掉電檢測(cè)電路和21個(gè)可編程I/O引腳,這樣很容易實(shí)現(xiàn)通信模塊的小型化。CC2530是一款功耗相當(dāng)?shù)偷膯纹瑱C(jī),功耗模式3下電流消耗僅0.2μA,在32 k晶體時(shí)鐘下運(yùn)行,電流消耗小于1μA【3】。
3、軟件系統(tǒng)設(shè)計(jì)
整個(gè)軟件系統(tǒng)可分為上位機(jī)軟件和下位機(jī)軟件。上位機(jī)相當(dāng)于一個(gè)軟件系統(tǒng),可以用于接收數(shù)據(jù)、控制數(shù)據(jù)。即可以對(duì)接收到的數(shù)據(jù)直接發(fā)送操控命令來(lái)操作數(shù)據(jù)。上位機(jī)可以接收下位機(jī)的信號(hào)。下位機(jī)是一個(gè)控制器,是直接控制設(shè)備獲取設(shè)備狀況的計(jì)算機(jī)。上位機(jī)發(fā)出的命令首先給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào)直接控制相應(yīng)設(shè)備。下位機(jī)不時(shí)讀取設(shè)備狀態(tài)數(shù)據(jù)(一般為模擬量),轉(zhuǎn)換成數(shù)字信號(hào)反饋給上位機(jī)。上位機(jī)不可以單獨(dú)使用,而下位機(jī)可以單獨(dú)使用【4】。
3.1 下位機(jī)軟件設(shè)計(jì)
ZigBee除IEEE802.15.4所包含的2層外,網(wǎng)絡(luò)層和應(yīng)用層需要由軟件來(lái)實(shí)現(xiàn)。IC的供應(yīng)商以庫(kù)文件的形式向用戶(hù)提供完整ZigBee協(xié)議棧,用戶(hù)僅僅完成應(yīng)用程序的設(shè)計(jì)便可。應(yīng)用程序包括各部分功能模塊的初始化,中斷處理和讀寫(xiě)DSl8820的溫度檢測(cè)程序。其中初始化程序包括系統(tǒng)主時(shí)鐘源設(shè)置、ADC初始化、串口(UART)初始化、時(shí)鐘模式初始化、AES(Advanced Encryption Standard)初始化、RF初始化、中斷初始化和DSl8820初始化等。由于文章篇幅限制,這里給出主程序的流程圖,如圖2所示。
3.2 上位機(jī)系統(tǒng)設(shè)計(jì)
上位機(jī)的功能主要為串口通信。串口是按位(bit)發(fā)送和接收字節(jié)。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通信的端口,這些參數(shù)必須匹配:
a,波特率:這是一個(gè)衡量符號(hào)傳輸速率的參數(shù)。
b,數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。
c,停止位:用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。
d,奇偶校驗(yàn)位:在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。
在進(jìn)行PC機(jī)和無(wú)線(xiàn)采集模塊串行通信前,首先要配置好串口,即串口初始化,使計(jì)算機(jī)串口的上述參數(shù)設(shè)置與無(wú)線(xiàn)收發(fā)模塊的串口參數(shù)保持一致,這樣才能夠正確的通信。在開(kāi)發(fā)過(guò)程中,主要用到SerialPort的類(lèi)。
4、結(jié)語(yǔ)
在本次項(xiàng)目中,采用DS18B20對(duì)溫度度的采集,實(shí)現(xiàn)了一種傳輸途徑基于ZigBee星型網(wǎng)絡(luò)、數(shù)據(jù)處理平臺(tái)基于C#的多點(diǎn)無(wú)線(xiàn)溫濕度采集系統(tǒng),并在C#平臺(tái)上進(jìn)行顯示。通過(guò)實(shí)驗(yàn)調(diào)試,該采集系統(tǒng)達(dá)到了設(shè)計(jì)要求,效果良好。最后要感謝西北民族大學(xué)電氣工程學(xué)院能給我這么一次學(xué)習(xí)的機(jī)會(huì),感謝我的楊雪松老師和張興莉老師在項(xiàng)目執(zhí)行過(guò)程中對(duì)我的幫助。
參考文獻(xiàn):
【1】邴春秋,鄭萍. 基于ZigBee的遠(yuǎn)程無(wú)線(xiàn)I/O模塊設(shè)計(jì)及應(yīng)用. 西華大學(xué),2008.
【2】倪康,徐曉光,崔晶. 基于C#和Zigbee的大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 洛陽(yáng)師范學(xué)院學(xué)報(bào),2015,(02):41-44.
【3】周怡颋,凌志浩,吳勤勤.ZigBee無(wú)線(xiàn)通信技術(shù)及其應(yīng)用探討.自動(dòng)化儀表,2005,26(6).
【4】李文仲,段朝玉.ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)入門(mén)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007:5-10,20-23.
作者簡(jiǎn)介:
陳子楊,男(漢族),湖北黃石人,西北民族大學(xué)電氣工程學(xué)院本科在讀生,研究方向:物聯(lián)網(wǎng)工程、嵌入式。