周茜 王艷敏 單承剛
摘要:物聯(lián)網(wǎng)網(wǎng)關(guān)在未來(lái)的物聯(lián)網(wǎng)時(shí)代將會(huì)扮演非常重要的角色,它將成為連接感知網(wǎng)絡(luò)與傳統(tǒng)通信網(wǎng)絡(luò)的紐帶。該系統(tǒng)基于STM32F107+uC/OS-2構(gòu)建物聯(lián)網(wǎng)網(wǎng)關(guān),通過(guò)串口與ZigBee協(xié)調(diào)器通信,獲取ZigBee終端節(jié)點(diǎn)采集的傳感數(shù)據(jù)并顯示在uC/GUI界面上。ZigBee終端節(jié)點(diǎn)基CC2530+OSAL構(gòu)建,采集外圍環(huán)境溫濕度、光照度及火焰數(shù)據(jù)匯聚于ZigBee協(xié)調(diào)器。上位機(jī)控制軟件通過(guò)串口與STM32網(wǎng)關(guān)通信,可實(shí)時(shí)顯示監(jiān)測(cè)環(huán)境信息,并可反向控制各終端節(jié)點(diǎn)。網(wǎng)關(guān)運(yùn)行良好,系統(tǒng)經(jīng)過(guò)測(cè)試,可以較為準(zhǔn)確穩(wěn)定的測(cè)定周圍環(huán)境信息,并可實(shí)現(xiàn)對(duì)火災(zāi)的預(yù)警和防控。
關(guān)鍵詞:ZigBee協(xié)調(diào)器;路由器;STM32F107;Cortex網(wǎng)關(guān)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)03-0284-02
物聯(lián)網(wǎng)目前的應(yīng)用已遍及智能交通、環(huán)境監(jiān)測(cè)、智能家居、智能醫(yī)療等多個(gè)領(lǐng)域,它的三項(xiàng)基本技術(shù)分別為傳感器技術(shù)、RFID技術(shù)以及嵌入式系統(tǒng)技術(shù)。隨著物聯(lián)網(wǎng)技術(shù)的普及,在互聯(lián)網(wǎng)+技術(shù)的推動(dòng)下,物聯(lián)網(wǎng)對(duì)環(huán)境監(jiān)測(cè)有了更加積極的作用。本文主要講述的是物聯(lián)網(wǎng)技術(shù)在環(huán)境監(jiān)測(cè)及火災(zāi)防控方面的作用,環(huán)境監(jiān)測(cè)系統(tǒng)是專門為森林環(huán)境監(jiān)測(cè)、糧倉(cāng)環(huán)境監(jiān)測(cè)、智能樓宇環(huán)境監(jiān)測(cè)等開發(fā)設(shè)計(jì)的智能控制系統(tǒng)。物聯(lián)網(wǎng)技術(shù)應(yīng)用到環(huán)境監(jiān)測(cè)以后,既可以有效減少資源損失也可以降低因?yàn)榛馂?zāi)引起的人員傷亡。
本文主要針對(duì)環(huán)境監(jiān)測(cè)系統(tǒng)的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)展開,從 STM32+uC/OS-2軟硬件平臺(tái)的搭建到uC/OS-2操作系統(tǒng)上應(yīng)用程序的設(shè)計(jì)等,旨在實(shí)現(xiàn)一個(gè)基于ZigBee無(wú)線傳輸技術(shù)的網(wǎng)關(guān)設(shè)計(jì),詳細(xì)分析ZigBee協(xié)調(diào)器與Cortex網(wǎng)關(guān)的串口通信實(shí)現(xiàn)、網(wǎng)關(guān)對(duì)ZigBee數(shù)據(jù)包的分解、uC/GUI界面設(shè)計(jì)、uC/OS-2操作系統(tǒng)多任務(wù)的實(shí)現(xiàn)及網(wǎng)關(guān)對(duì)ZigBee節(jié)點(diǎn)的反控過(guò)程。
1 系統(tǒng)硬件平臺(tái)
該環(huán)境監(jiān)測(cè)系統(tǒng)是基于STM32F107芯片構(gòu)建,運(yùn)行uC/OS-2嵌入式操作系統(tǒng)。利用ZigBee技術(shù)組建無(wú)線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)各個(gè)環(huán)境數(shù)據(jù)的監(jiān)測(cè)和采集,匯總各監(jiān)測(cè)節(jié)點(diǎn)的數(shù)據(jù)到協(xié)調(diào)器,經(jīng)處理后顯示在uC/GUI界面上,最后通過(guò)串口發(fā)送到上位機(jī)。
1.1 STM32F107微處理器
STM32F107芯片集成了各種高性能工業(yè)標(biāo)準(zhǔn)接口,且STM32不同型號(hào)產(chǎn)品在引腳和軟件上具有完美的兼容性,可以輕松適應(yīng)更多的應(yīng)用。STM32F107連接線系列采用高性能的ARM Cortex-M3 32位處理器,高速嵌入式儲(chǔ)器(快閃存儲(chǔ)多達(dá)256個(gè)字節(jié)與64字節(jié)),所有設(shè)備提供通用16位定時(shí)器,以及標(biāo)準(zhǔn)和先進(jìn)的通訊接口。
1.2 網(wǎng)關(guān)的硬件接口
1.2.1 網(wǎng)關(guān)與ZigBee協(xié)調(diào)器的硬件接口設(shè)計(jì)
Cortex-M3網(wǎng)關(guān)與ZigBee協(xié)調(diào)器模塊通過(guò)串口實(shí)現(xiàn)通信,ZigBee協(xié)調(diào)器的串口0通過(guò)擴(kuò)展插槽連接Cortex-M3網(wǎng)關(guān)的串口4。ZigBee協(xié)調(diào)器的硬件接口圖如圖2所示,CC2530的P0.2和P0.3是串口0的接收發(fā)送管腳。
1.2.2 LCD硬件接口設(shè)計(jì)
LCD采用128×64液晶顯示屏,CC2530之間通信時(shí)采用串行接口,進(jìn)行信息顯示時(shí)需要進(jìn)行LCD庫(kù)函數(shù)的移植,在應(yīng)用層調(diào)用庫(kù)函數(shù),以實(shí)現(xiàn)用戶需要顯示的信息。其中LCD_RS是Data與Command的切換信號(hào),對(duì)LCD的控制IC初始化。LCD_WR的作用是寫入數(shù)據(jù)。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件平臺(tái)基于uC/OS-2操作系統(tǒng),uC/OS-2是一個(gè)可以基于ROM運(yùn)行的、可裁剪的、搶占式、實(shí)時(shí)多任務(wù)內(nèi)核、具有高度可移植性的實(shí)時(shí)操作系統(tǒng)。uC/OS-2可以視為一個(gè)多任務(wù)調(diào)度器,具體實(shí)現(xiàn)系統(tǒng)啟動(dòng)任務(wù)、網(wǎng)關(guān)對(duì)ZigBee協(xié)調(diào)器數(shù)據(jù)包的分解任務(wù)、觸摸屏顯示任務(wù)和蜂鳴器報(bào)警任務(wù)。
2.1 ZigBee協(xié)調(diào)器數(shù)據(jù)處理過(guò)程
路由器監(jiān)測(cè)節(jié)點(diǎn)加入ZigBee網(wǎng)絡(luò)后,采集環(huán)境數(shù)據(jù)發(fā)送至協(xié)調(diào)器,協(xié)調(diào)器封裝監(jiān)測(cè)節(jié)點(diǎn)的數(shù)據(jù)依次串口傳輸至Cortex-M3網(wǎng)關(guān),同時(shí)協(xié)調(diào)器還可以接收網(wǎng)關(guān)發(fā)送的指令對(duì)監(jiān)測(cè)節(jié)點(diǎn)進(jìn)行反控。
2.2 網(wǎng)關(guān)對(duì)ZigBee協(xié)調(diào)器數(shù)據(jù)包的分解
網(wǎng)關(guān)對(duì)ZigBee協(xié)調(diào)器數(shù)據(jù)包接收通過(guò)UART4中斷服務(wù)函數(shù)實(shí)現(xiàn),在中斷的處理函數(shù)中,把接收到的數(shù)據(jù)依次發(fā)送至上位機(jī),同時(shí)每接收一個(gè)節(jié)點(diǎn)的10字節(jié)的數(shù)據(jù)就拋出消息郵箱。網(wǎng)關(guān)主程序端通過(guò)申請(qǐng)接收消息郵箱獲取每個(gè)節(jié)點(diǎn)的環(huán)境數(shù)據(jù),并顯示在uC/GUI界面上。
2.3 網(wǎng)關(guān)主程序設(shè)計(jì)
網(wǎng)關(guān)主程序的設(shè)計(jì)圍繞著系統(tǒng)硬件的初始化、GUI庫(kù)的初始化、uC/GUI界面的顯示、uC/OS-2多任務(wù)的處理來(lái)設(shè)計(jì)。網(wǎng)關(guān)uC/GUI界面能夠顯示每個(gè)監(jiān)測(cè)節(jié)點(diǎn)的溫濕度,火焰,光照等數(shù)據(jù)。超過(guò)設(shè)定溫度報(bào)警數(shù)值,蜂鳴器報(bào)警。uC/GUI界面操作可以對(duì)ZigBee監(jiān)測(cè)節(jié)點(diǎn)進(jìn)行反控。
3 實(shí)驗(yàn)結(jié)果
ZigBee網(wǎng)絡(luò)構(gòu)建后,ZigBee節(jié)點(diǎn)加入該網(wǎng)絡(luò)并進(jìn)行數(shù)據(jù)傳輸。網(wǎng)關(guān)的ZigBee模塊接收到數(shù)據(jù)后對(duì)其進(jìn)行處理,并按照在ZigBee數(shù)據(jù)處理任務(wù)函數(shù)里邊規(guī)定的輸出方式進(jìn)行輸出,在網(wǎng)關(guān)uC/GUI界面上進(jìn)行顯示,并通過(guò)串口在上位機(jī)上顯示。下圖為環(huán)境監(jiān)測(cè)系統(tǒng)的網(wǎng)關(guān)界面:
4 結(jié)束語(yǔ)
本文主要設(shè)計(jì)一個(gè)基于ZigBee技術(shù)的無(wú)線環(huán)境監(jiān)測(cè)系統(tǒng)。該系統(tǒng)監(jiān)測(cè)節(jié)點(diǎn)采用CC2530單片機(jī)作為MCU,并且結(jié)合ZigBee協(xié)議架構(gòu)進(jìn)行編程設(shè)計(jì),來(lái)構(gòu)建ZigBee傳感器監(jiān)測(cè)節(jié)點(diǎn)。實(shí)現(xiàn)基于CC2530的傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),并在IAR集成開發(fā)環(huán)境中進(jìn)行基于ZigBee架構(gòu)的編程,節(jié)點(diǎn)模塊的調(diào)試。實(shí)驗(yàn)過(guò)程中各方面運(yùn)行良好,且成本較低,可以實(shí)現(xiàn)在智能樓宇、森林火情、糧倉(cāng)環(huán)境等領(lǐng)域中的環(huán)境監(jiān)測(cè)。
參考文獻(xiàn):
[1] JSLee,YC Huang. ITRI ZBnode: A ZigBee/IEEE 802.15.4 Platfrom for Wireless Sensor Networks.
[2] 韓敬海,倪建城.Cortex-M3開發(fā)技術(shù)及實(shí)踐[M]西安電子科技大學(xué)出版社,2014.1.
[3] 韓敬海,吳明君.ZigBee開發(fā)技術(shù)及實(shí)踐[M]西安電子科技大學(xué)出版社,2014.1.
[4] 李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M] 北京:北京航空航天大學(xué)出版社,1993:594-599.
[5] 廖義奎.Cortex-M3之STM32嵌入式系統(tǒng)設(shè)計(jì)[M].北京:中國(guó)電力出版社,2012.
[6] 奧爾斯.物聯(lián)網(wǎng)創(chuàng)新實(shí)驗(yàn)系統(tǒng)[J].嵌入式網(wǎng)關(guān),2011(4):14.
[7] 周相兵,馬洪江,苗放.一種基于云計(jì)算的旅游云構(gòu)架模式研究[J].重慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,30(12):79-86.
[8] 黃書強(qiáng),王高才,單志廣,玉輝,李陽(yáng),陳慶麟.智慧城市中無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)部署優(yōu)化方案研究[J].計(jì)算機(jī)研究與發(fā)展,2014,51(2):278-289.
[9] 蒙博宇.STM32自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2014.2.