<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一款基于Zigbee的溫度濕度監測系統設計

一款基于Zigbee的溫度濕度監測系統設計

作者: 時(shí)間:2014-04-04 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:根據一些環(huán)境溫度濕度實(shí)時(shí)監測的需要,采用首個(gè)符合標準的射頻芯片,以SHT10為溫濕度傳感器來(lái)設計實(shí)現溫度濕度的數據采集與傳輸。利用TI公司的Z—Stack協(xié)議棧在IAB開(kāi)發(fā)環(huán)境下,建立一個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )。網(wǎng)絡(luò )協(xié)調器通過(guò)RS232串口與PC通信,實(shí)現對溫度濕度的無(wú)線(xiàn)智能監測。

本文引用地址:http://dyxdggzs.com/article/235929.htm

關(guān)鍵詞:;無(wú)線(xiàn)網(wǎng)絡(luò );;溫度濕度監測

在生命科學(xué)設施、計量校準實(shí)驗室和電子制造環(huán)境,溫度和濕度往往需要監測和報警顯示,以保障產(chǎn)品和工藝;在農業(yè)種植、環(huán)境監測和我們的日常生活中,要時(shí)刻關(guān)心環(huán)境變化,只有在適宜的溫度和濕度下,才能獲得更大的效益。以往的測溫測濕系統都是通過(guò)CAN或RS485等有線(xiàn)方式傳送數據,線(xiàn)路復雜布線(xiàn)困難,成本高,老化、容易受雷擊等問(wèn)題影響了其可靠性。另外,像溫度、濕度傳感器這樣的設備并不需要很大的功耗和數據傳輸速率。技術(shù)彌補了低成本、低功耗和低速率無(wú)線(xiàn)通信市場(chǎng)的空缺,其成功的關(guān)鍵在于豐富而便捷的應用。

Zigbee技術(shù)有自己的無(wú)線(xiàn)電標準,在數千個(gè)微小的傳感器之間相互協(xié)調實(shí)現網(wǎng)絡(luò )通信。這些傳感器只需要很低的功耗,以接力的方式通過(guò)無(wú)線(xiàn)電波將數據從一個(gè)傳感器傳到另一個(gè)傳感器,它們的通信效率非常高。無(wú)需布線(xiàn),可以按照需要增減溫度濕度采集節點(diǎn),自組織網(wǎng)絡(luò ),并且節點(diǎn)功耗低,生命周期長(cháng),使用靈活方便。因此,采用Zigbee技術(shù)來(lái)設計溫度濕度監測系統,具有明顯的實(shí)用價(jià)值和現實(shí)意義。

1 Zigbee技術(shù)及協(xié)議棧

Zigbee是一種新興的短距離、低速率、低成本無(wú)線(xiàn)網(wǎng)絡(luò )技術(shù),是一個(gè)由可多到65000個(gè)無(wú)線(xiàn)數傳模塊組成的一個(gè)無(wú)線(xiàn)數傳網(wǎng)絡(luò )平臺。Zigb ee協(xié)議棧對那些涉及Zigbee的層予以定義。IEEE 802.15.4標準定義了最下面的兩層:物理層(PHY)和介質(zhì)接入控制子層(MAC)。Zigbee聯(lián)盟提供了網(wǎng)絡(luò )層和應用層框架的設計,其中應用層的框架包括了應用支持子層(APs)、設備對象層(ZDO)和由制造商制訂的應用對象。Zigbee支持的設備類(lèi)型包括FFD(全功能設備)和RFD(半功能設備)。FFD可以和FFD和RFD通信,可以為PAN協(xié)調器,路由器和終端設備。RFD只能和FFD通信,只能作為終端設備。在IEEE802.15.4物理層和MAC層基礎上,Zigbee網(wǎng)絡(luò )層提供了一些功能,比如動(dòng)態(tài)網(wǎng)絡(luò )的建立、地址、路由和發(fā)現

一跳的鄰居節點(diǎn)等。

2 系統的組成

該監測系統由Zigbee協(xié)調器、Zigbee路由器、若干個(gè)SHT10溫濕度傳感器組成的樹(shù)狀網(wǎng)絡(luò )結構圖。其中,傳感器節點(diǎn)分布于需要監測的區域,負責對數據的感知和處理,并通過(guò)無(wú)線(xiàn)射頻信號發(fā)射給路由器,再通過(guò)路由器的轉發(fā)將數據傳給協(xié)調器,最終通過(guò)RS232串口將數據送入監控主機,監控主機放在監控室,負責數據存儲和對數據的進(jìn)一步處理。Zigbee網(wǎng)絡(luò )中,每個(gè)設備擁有兩個(gè)地址:一個(gè)是64位IEEE物理地址,每個(gè)節點(diǎn)擁有全球唯一的MAC地址,另一個(gè)是所在PAN里獨有16位網(wǎng)絡(luò )地址,也稱(chēng)短地址。網(wǎng)絡(luò )地址是在節點(diǎn)加入網(wǎng)絡(luò )時(shí),由其父節點(diǎn)分配給它的。協(xié)調器在建立網(wǎng)絡(luò )后使用0x000作為自己的短地址。路由器和終端加入網(wǎng)絡(luò )后,使用父設備給它分配的短地址來(lái)通訊。工作人員無(wú)需到現場(chǎng),通過(guò)查看網(wǎng)絡(luò )地址即可知道哪一點(diǎn)傳來(lái)的數據,這樣既方便快速又可集中查詢(xún)、管理數據。

3 硬件設計

為了便于系統功能擴展,節點(diǎn)采用模塊化設計,分為核心板、底板、傳感器模塊3個(gè)部分。核心板負責傳感器的驅動(dòng)以及數據的傳輸工作。它的主控芯片是[4],是一款真正符合IEEE802.15.4標準的片上Zigbee產(chǎn)品,具有超低功耗、高靈敏度、出眾的噪聲及抗干擾能力。核心板即為單片機的最小系統板,它將CC2430單片機的P0口、P1口和P2_0-P2_2全部引出,滿(mǎn)足模塊化設計的需求。由于CC2430在單個(gè)芯片上整合了ZigBee射頻(RF)前端、內存和微控制器。內部集成了大量必要的電路,因此采用較少的外圍電路即實(shí)現信號的收發(fā)功能,如圖1所示。

 

 

底板一方面連接核心板與傳感器模塊,在傳感器與芯片之間進(jìn)行數據傳輸,另一方面為整個(gè)模塊供電和節點(diǎn)與PC機之間通信的接口,主要由電源電路、單片機接口電路、復位電路等組成。系統中CC2430芯片需要的電源是3.3 V直流穩壓電源,而我們常用的電源電壓是5 V,所以需要用DC—DC直流轉換器1117—3.3將5 V直流電轉換為3.3 V直流電,以供系統正常工作需求。電源模塊電路如圖2所示。

 

 

傳感器模塊采用溫濕度傳感器SHT10,負責采集溫度、濕度數據,其工作電壓為2.4~5.5 V,測濕精度為±4.5%RH,25℃時(shí)測溫精度為±0.5℃。由于傳感器SHT10既可以采集溫度數據也可以采集濕度數據。它用兩條串行線(xiàn)與處理器進(jìn)行數據通信,SCK數據線(xiàn)負責處理器和SHT10的通訊同步;DATA三態(tài)門(mén)用于數據的讀寫(xiě)。將模擬量轉換為數字量輸出,所以用戶(hù)只需按照它提供的接口將溫濕度數據讀取出來(lái)即可。數據采集完成后Zigbee無(wú)線(xiàn)通信芯片將數據經(jīng)路由器傳輸到協(xié)調器,這樣溫濕度采集節點(diǎn)便完成了一次工作周期。本設計中CC2430的引腳P0_0用于連接SCK,P0_4用于連接DATA。

4 系統軟件設計

本系統軟件設計基于TI公司推出的CC2430芯片配套的Z—Stack協(xié)議棧和IAR集成開(kāi)發(fā)環(huán)境。在TI免費協(xié)議棧的基礎上,通過(guò)修改其應用層來(lái)實(shí)現不同的功能。一般情況下,我們只需要添加三個(gè)文件就可以完成一個(gè)項目,一個(gè)是主文件,存放具體的任務(wù)處理函數,一個(gè)是這個(gè)主文件的頭文件,另一個(gè)是操作系統接口文件,專(zhuān)門(mén)存放任務(wù)處理函數數組tasksArr[]的文件。無(wú)需改動(dòng)Z—Stack核心代碼,大大增加了項目的通用性和易移植性。我們把Coordinator、Router和End Device這三種設備一起添加到項目中,在“project==>edit configurations”中,分別建立“Coordinator”“Router”及“EndDevice”三種設備的項目設置。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )代碼包括協(xié)調器代碼、路由器代碼、傳感器節點(diǎn)代碼。這些代碼都在同一個(gè)工程文件中,通過(guò)條件編譯的方式將代碼分成不同的功能。

4.1 協(xié)調器節點(diǎn)設計

在一個(gè)Zigbee無(wú)線(xiàn)網(wǎng)絡(luò )中,協(xié)調器作為網(wǎng)絡(luò )的中心節點(diǎn)最先啟動(dòng)。復位上電以后,首先進(jìn)行系統初始化。完成之后,就會(huì )掃描DEFAULT_ CHANLIST指定的信道,最后選擇一個(gè)合適的信道建立網(wǎng)絡(luò ),等待有子節點(diǎn)加入時(shí),就會(huì )發(fā)出入網(wǎng)響應。子節點(diǎn)加入網(wǎng)絡(luò )成功后,協(xié)調器接收到傳來(lái)的數據包,解析出數據源的短地址、溫度和濕度值并將其傳送給PC顯示出來(lái)。其流程圖如圖3所示。

 

 

4.2 子節點(diǎn)設計

路由器和終端設備啟動(dòng)后,將掃描DEFAULT_CHANLIST指定的頻道。首先進(jìn)行初始化,然后申請加入網(wǎng)絡(luò )成功之后,通過(guò)JionAsRouter= TRUE?判斷是否為路由器。如果是,則等待終端設備傳來(lái)的溫濕度數據,接收后再轉發(fā)給協(xié)調器。如果是終端設備,傳感器節點(diǎn)在不同工作模式下功耗大不一樣,為了降低功耗,它平時(shí)應該處于休眠模式,被喚醒后才將數據發(fā)給父節點(diǎn),發(fā)送完后再次進(jìn)入休眠模式。通信協(xié)議應該簡(jiǎn)單有效,發(fā)送節點(diǎn)信息時(shí)使用短地址發(fā)送,使得節點(diǎn)的運算開(kāi)銷(xiāo)盡量小,這樣可大大延長(cháng)節點(diǎn)的壽命。子節點(diǎn)通信流程如圖4所示。

 

 

傳感器節點(diǎn)每隔一段時(shí)間采集一次溫度、濕度值,然后把數據打包傳輸給父節點(diǎn),如果傳輸成功,節點(diǎn)進(jìn)入休眠狀態(tài);如果傳輸不成功,就再重新采集數據傳輸數據,直到成功為止。溫濕度傳感器燒寫(xiě)步驟:在項目的應用層(APP)中添加Humidity.c和Humidity.h文件,然后在操作系統接口文件OSAL_SampleApp.c中的任務(wù)數組tasksArr[]添加任務(wù)函數osalTaskAdd(Humidity_Init,Humidity_ProcessEvent,OSAL TASK_PRIORITY_LOW),最后運行程序沒(méi)有錯誤后,把程序燒寫(xiě)到傳感器節點(diǎn)即可。

4.3 低功耗設計

為了使節點(diǎn)有更長(cháng)的生存時(shí)間,對傳感器節點(diǎn)進(jìn)行休眠設置。CC2430芯片采用0.18 μm CMOS工藝生產(chǎn),工作時(shí)的電流損耗為27 mA;在接收和發(fā)射模式下,電流損耗分別低于27 mA和25 mA。CC2430的休眠模式和轉換到主動(dòng)模式時(shí)間超短,不會(huì )產(chǎn)生很大的時(shí)間延遲。Z—Stack提供了兩種sleep模式,LITE和DEEP(PM2/PM3)。PM2模式比較省功耗而且可以被定時(shí)喚醒;PM3模式最省電但是只能被外部中斷喚醒。系統在進(jìn)入低功耗模式前,必須保證沒(méi)有需要處理的消息或其他事件。當系統需要周期性地喚醒執行一些事件時(shí)使用PM2模式,如果當前沒(méi)有任務(wù)那么將進(jìn)入PM3模式。開(kāi)啟休眠模式如下:首先確認在配置文件f8wConflg.cfg中的DRFD_RCVC_ALWAYS_ON定義為FALSE;第二步,在IAR的Optio ns->C/C++Compiler->Defined symbols中添加編譯選項POWER_SAVING;第三步,在Options->Linker->Linker command line里面把8w2430. xel改為f8w2430pm.xel;第四步,查看是否進(jìn)去低功耗模式,在osal.c文件中osal_start_system()中以下部分加斷點(diǎn),看是否進(jìn)入。

 

 

5 測試結果

采用一個(gè)協(xié)調器、一個(gè)路由器和3個(gè)溫濕度傳感器節點(diǎn)測試,各個(gè)節點(diǎn)與協(xié)調器相距大約50米。首先打開(kāi)電源,待協(xié)調器建立網(wǎng)絡(luò )之后,路由器和終端節點(diǎn)就開(kāi)始申請加入網(wǎng)絡(luò )。等待底板上的信號指示燈閃爍后,就表明有節點(diǎn)成功加入網(wǎng)絡(luò ),終端節點(diǎn)開(kāi)始周期性地采集周?chē)h(huán)境的溫度濕度值。采集一次數據后,指示燈熄滅,說(shuō)明此時(shí)終端節點(diǎn)進(jìn)入低功耗模式。協(xié)調器通過(guò)RS232與PC相連,通過(guò)串口調試助手顯示數據,設置波特率為115200b/s,無(wú)校驗位,8位數據位,1位停止位。某一時(shí)刻采集到各點(diǎn)的溫度濕度值如圖5所示(小端格式十六進(jìn)制顯示)。根據SHT10數據手冊,實(shí)際溫度=0.04x溫度值-39.6,實(shí)際濕度=-4++0.648x濕度值-7.2x10-4×濕度值2,經(jīng)計算實(shí)際溫度約為27.5℃,實(shí)際濕度約為51.6%RH。

 

 

6 結束語(yǔ)

文中以CC2430為核心實(shí)現了溫度濕度監測系統的設計,在傳感器SHT10的配合下,完成了對環(huán)境溫度濕度的無(wú)線(xiàn)監測。在硬件方面為模塊化設計,具有擴展性,加上相應的傳感器可以測其他因素如光照、氣體濃度等,可以監測更多的環(huán)境因素;軟件方面簡(jiǎn)化通信協(xié)議,并使終端休眠,降低了其功耗,延長(cháng)了節點(diǎn)使用壽命。在使用過(guò)程中可以通過(guò)在Zigbee協(xié)調器及路由器上添加TI公司的2.4 GHZ射頻前端CC2591來(lái)增加網(wǎng)絡(luò )的覆蓋范圍,或者增加GPRS模塊來(lái)進(jìn)行更遠程的無(wú)線(xiàn)監測。實(shí)用性高,可擴展性強,可廣泛應用在倉儲系統、中央空調系統、溫室大棚、精密儀器的實(shí)驗室和溫度濕度條件要求嚴格的環(huán)境中,市場(chǎng)前景廣闊。

c++相關(guān)文章:c++教程


路由器相關(guān)文章:路由器工作原理


路由器相關(guān)文章:路由器工作原理


土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
溫濕度控制器相關(guān)文章:溫濕度控制器原理


關(guān)鍵詞: Zigbee CC2430

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>