亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式和ZigBee 技術(shù)的節(jié)能系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2012-12-22 06:02:02侯艷波秦會(huì)斌胡建人周迎新
        電子器件 2012年6期
        關(guān)鍵詞:系統(tǒng)

        侯艷波,秦會(huì)斌 ,胡建人,周迎新

        (杭州電子科技大學(xué)電子信息學(xué)院,杭州310018)

        近年來(lái),隨著物聯(lián)網(wǎng)概念的提出,無(wú)線通信和無(wú)線傳感器網(wǎng)絡(luò)技術(shù)得到了越來(lái)越廣泛的應(yīng)用。ZigBee 作為一種短距離無(wú)線通信網(wǎng)絡(luò)技術(shù),因?yàn)槠溆兄统杀?,低功耗,高容量,高安全,體積小,自組網(wǎng)等技術(shù)優(yōu)勢(shì),正越來(lái)越受工程師們的青睞[4]。ZigBee 主要應(yīng)用在家庭和樓宇的自動(dòng)控制,商業(yè)中的智慧標(biāo)簽,智能交通以及無(wú)線抄表領(lǐng)域。本文將ZigBee 技術(shù)應(yīng)用于家庭控溫節(jié)能系統(tǒng),可以使系統(tǒng)安裝免于布線,擴(kuò)展及維護(hù)更加方便。

        采用高性能的ARM 處理器作為系統(tǒng)控制核心,移植操作系統(tǒng)后可以提供給用戶良好的交互界面,另一方面系統(tǒng)的功能升級(jí)變的更加容易。

        1 控溫節(jié)能系統(tǒng)的結(jié)構(gòu)

        家庭控溫節(jié)能系統(tǒng)主要由控制核心、ZigBee 無(wú)線通信網(wǎng)絡(luò)、終端執(zhí)行單元3 部分組成。家庭控溫節(jié)能系統(tǒng)的結(jié)構(gòu)框圖如圖1 所示。

        控制核心的ARM 處理單元通過(guò)RS232 接口與ZigBee 網(wǎng)絡(luò)的協(xié)調(diào)器連接到無(wú)線網(wǎng)絡(luò)中,與各個(gè)終端執(zhí)行單元通過(guò)無(wú)線信號(hào)進(jìn)行通信。執(zhí)行單元的MCU(Atmega16 單片機(jī))通過(guò)RS232 接口和ZigBee網(wǎng)絡(luò)的終端節(jié)點(diǎn)連在一起接入網(wǎng)絡(luò),通過(guò)ZigBee 終端節(jié)點(diǎn)接收來(lái)自控制核心的命令或者上傳傳感器采集的數(shù)據(jù)到控制核心。如果遇到通信距離很大或者障礙物較多阻礙信號(hào)的問(wèn)題,可采取加入ZigBee 路由節(jié)點(diǎn)中繼的方法解決。

        圖1 控溫節(jié)能系統(tǒng)框圖

        在執(zhí)行單元可以加入若干受控對(duì)象。本系統(tǒng)利用執(zhí)行單元1 完成對(duì)窗子開(kāi)或關(guān)的控制,利用執(zhí)行單元2 完成對(duì)窗簾開(kāi)合的控制,利用執(zhí)行單元3 完成對(duì)空調(diào)的控制。各個(gè)執(zhí)行單元模塊添加了光強(qiáng)傳感器(TSL2561)及溫度傳感器(DS18B20),傳感器采集數(shù)據(jù)后通過(guò)ZigBee 終端節(jié)點(diǎn)傳送給ZigBee 網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點(diǎn),最后由協(xié)調(diào)器節(jié)點(diǎn)匯集各個(gè)執(zhí)行單元的數(shù)據(jù)傳送給控制核心??刂浦行氖盏綌?shù)據(jù)處理完畢后,完成控制指令的自動(dòng)發(fā)送,也可以人為地發(fā)送控制命令給各執(zhí)行單元。例如:夏天的中午光照很強(qiáng)烈,晴朗的天氣里室內(nèi)光照強(qiáng)度可達(dá)500 lx ~5 000 lx,陽(yáng)光照進(jìn)屋內(nèi)會(huì)使室溫迅速升高。當(dāng)控制核心檢測(cè)到室內(nèi)光照超過(guò)1 000 lx,溫度超過(guò)28 ℃時(shí)就會(huì)向執(zhí)行單元發(fā)送關(guān)窗,拉窗簾遮光的命令。這樣就能夠減少空調(diào)的使用,達(dá)到節(jié)約電能的目的。如果溫度繼續(xù)上升,當(dāng)控制核心檢測(cè)到室溫超過(guò)32 ℃時(shí)會(huì)發(fā)送打開(kāi)空調(diào)的命令,并將溫度設(shè)定為28 ℃的環(huán)保溫度值,提供一個(gè)適宜的溫度環(huán)境。

        使用ZigBee 和ARM 技術(shù)為系統(tǒng)功能擴(kuò)展提供了極大的便利。例如,當(dāng)原有系統(tǒng)中需要新加入燈光節(jié)能控制的功能時(shí),只需要增加一個(gè)ZigBee 終端節(jié)點(diǎn)連接到燈光控制的執(zhí)行單元電路上,然后控制核心ARM 處理器的操作系統(tǒng)中加入相應(yīng)的軟件即可完成功能擴(kuò)展。在此過(guò)程中無(wú)須進(jìn)行過(guò)多布線,也無(wú)須改變?cè)邢到y(tǒng)的功能模塊。

        2 系統(tǒng)的電路設(shè)計(jì)

        該系統(tǒng)的電路設(shè)計(jì)工作主要由控制核心電路設(shè)計(jì),ZigBee 模塊電路設(shè)計(jì)以及執(zhí)行單元電路設(shè)計(jì)等3 部分構(gòu)成。這里簡(jiǎn)要介紹前2 部分。

        2.1 控制核心的接口電路

        圖2 為控制核心的接口電路。S3C2440 內(nèi)部集成了LCD 控制器,可將觸摸屏引腳對(duì)應(yīng)連接。TXD與RXD 為串口的TTL 發(fā)送與接收端,與MAX3232對(duì)應(yīng)引腳相連。為了能夠遠(yuǎn)程監(jiān)控系統(tǒng)狀態(tài),ARM處理器外接了DM9000 網(wǎng)卡接入因特網(wǎng)。

        圖2 控制核心接口電路

        2.2 串口通信電路

        圖3 是串口TTL 電平轉(zhuǎn)232 電平的轉(zhuǎn)換電路。控制核心的ARM 處理器及ZigBee 模塊的CC2530和執(zhí)行單元的Atmega16 的串口引腳都是TTL 電平,為了能與PC 機(jī)進(jìn)行串口通信方便調(diào)試程序,用MAX3232 芯片將TTL 電平轉(zhuǎn)換為232 電平。

        圖3 MAX3232 串口通信電路

        2.3 ZigBee 無(wú)線通信模塊電路

        圖4為ZigBee 無(wú)線通信模塊電路。ZigBee 網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都可以使用同一個(gè)電路,在ZigBee無(wú)線網(wǎng)絡(luò)中的協(xié)調(diào)器功能、路由功能及終端功能是由軟件來(lái)區(qū)分的[5-6]。

        圖4 ZigBee 無(wú)線通信模塊電路

        3 系統(tǒng)的軟件設(shè)計(jì)

        3.1 控制核心的軟件設(shè)計(jì)

        控制核心的處理器外接一塊256 M Nandflash 芯片和一塊RAM 芯片。首先移植U-Boot 到Nandflash中作為控制核心的Bootloader。操作系統(tǒng)選擇免費(fèi)開(kāi)源的Linux。虛擬機(jī)終端下進(jìn)入內(nèi)核目錄,運(yùn)行#make menuconfig 后定制Linux-2.6.32 內(nèi)核,配置完成后交叉編譯Linux 內(nèi)核。注意配置的時(shí)候U-Boot 的MACH_TYPE 參數(shù)要和Linux 內(nèi)核的MACH_TYPE一致,否則不能成功引導(dǎo)內(nèi)核。然后移植串口、網(wǎng)卡、Nandflash 等內(nèi)核驅(qū)動(dòng),使控制中心的軟件平臺(tái)與硬件平臺(tái)能夠正常工作。最后用Mkyaffs2image 文件系統(tǒng)制作工具制作文件系統(tǒng)映像,并用QT 開(kāi)發(fā)自己的GUI(圖形用戶界面)。

        調(diào)試好控制核心以后,在和協(xié)調(diào)器進(jìn)行串口通信的時(shí)候,需要將串口的控制臺(tái)功能取消。進(jìn)入內(nèi)核目錄下,用VIM 編輯器打開(kāi).Config 文件,然后找到CONFIG_CMDLINE 命令參數(shù)行,將CONFIG_CMDLINE =“initrd = 0x32000000,0x200000 root =/dev/ram rw console = ttysAC0 mem = 64M" 改為CONFIG_CMDLINE=“initrd=0x32000000,0x200000

        root=/dev/ram rw console=NULL mem=64M"

        3.2 ZigBee 無(wú)線通信模塊的軟件設(shè)計(jì)

        TI 公司的免費(fèi)協(xié)議棧Z-stack 2007 可以運(yùn)行在CC2530 上面。開(kāi)發(fā)者只需根據(jù)實(shí)際需要再應(yīng)用層添加自己的任務(wù),然后修改相應(yīng)的硬件層端口即可[7]。具體工作如下:

        (1)在MT 層中,修改MT_UART.h 中串口的默認(rèn)設(shè)置,取消流控,并把波特率由38400 改為115200。

        #define MT_UART_DEFAULT_OVERFLOW TURE

        改為:

        #define MT_UART_DEFAULT_OVERFLOW FALSE

        #define MT_UART_DEFAULT_BAUDRATE HAL_UART_BR_38400

        改為:

        #define MT_UART_DEFAULT_BAUDRATE HAL_UART_BR_115200

        (2)在MT_UART.c 文件中,修改串口回調(diào)函數(shù)。

        將uartConfig. callBackFunc = MT _ UartProcessZTool Data;改為uartConfig. callBackFunc=rxCB;rxCB 負(fù)責(zé)把串口接收到的數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū)databuf 中。rxCB 函數(shù)關(guān)鍵代碼如下:

        rxlen=Hal_UART_RxBufLen(MT_UART_DEFAULT_PORT);//接收緩沖區(qū)數(shù)據(jù)長(zhǎng)度,字節(jié)為單位

        databuf=osal_mem_alloc(rxlen);//分配空間

        HalUARTRead (MT _ UART _ DEFAULT _ PORT,databuf,rxlen);//讀取串口數(shù)據(jù)存入databuf 中

        下面一段代碼用來(lái)判斷ZigBee 模塊從串口收到的是命令還是數(shù)據(jù):

        //協(xié)議規(guī)定幀頭以/D 開(kāi)始代表數(shù)據(jù)

        if((databuf[0]==47)&&(databuf[1]==68))

        //設(shè)置串口收到消息事件標(biāo)志,請(qǐng)求APP 層處理 osal_set_

        event(SampleApp_TaskID,UART_RX_DAT_CB_EVT);

        //限定只能協(xié)調(diào)器向ZigBee 網(wǎng)絡(luò)發(fā)命令

        #ifdef ZDO_COORDINATOR

        //協(xié)議規(guī)定幀頭以/C 開(kāi)始命令

        else if((databuf[0]= =47)&&(databuf[1]= =67)) osal_

        set_event(SampleApp_TaskID,UART_RX_CMD_CB_EVT);

        #endif

        else

        osal_mem_free(databuf); //釋放內(nèi)存

        (3)在應(yīng)用層加入用戶任務(wù)的事件標(biāo)志及完成相應(yīng)的處理函數(shù)。在SampleApp. h 中新增簇ID 及事件標(biāo)志:

        #define SAMPLEAPP_SPIDATA_CLUSTERID 1//簇ID

        #define SAMPLEAPP_FLASH_CLUSTERID 2

        #define SAMPLEAPP_ADDR_CLUSTERID 3

        #define SAMPLEAPP_COMMAND_CLUSTERID 4

        #define UART_RX_DAT_CB_EVT 0x0002

        #define UART_RX_CMD_CB_EVT 0x0004

        #define SAMPLEAPP_SEND_NWKADDR_EVT 0x0008

        #define SAMPLEAPP_COMMAND_PERIODIC_MSG_EVT

        0x0010//新增的事件標(biāo)志

        (4)簇ID 列表SampleApp_ClusterList 中也相應(yīng)增加上面定義的簇ID,然后在消息處理函數(shù)中增加如下代碼:

        if(events & UART_RX_DAT_CB_EVT)//串口接收數(shù)據(jù)

        {

        SampleApp_SPI_SendData(databuf,rxlen);

        return(events ^ UART_RX_DAT_CB_EVT);

        }

        if(events & UART_RX_CMD_CB_EVT)//串口接收命令

        {

        SampleApp_SPI_SendCommand(databuf,rxlen);

        return(events ^ UART_RX_CMD_CB_EVT);

        }

        當(dāng)ZigBee 網(wǎng)絡(luò)的協(xié)調(diào)器接收到控制核心傳來(lái)的內(nèi)容后,判別出是命令還是數(shù)據(jù),并設(shè)置不同的事件標(biāo)志后發(fā)送給網(wǎng)絡(luò)中的其他節(jié)點(diǎn),其他節(jié)點(diǎn)接收到數(shù)據(jù)后,根據(jù)事件標(biāo)志來(lái)做不同的處理。同時(shí),終端節(jié)點(diǎn)的串口如果接收到傳感器數(shù)據(jù),可以回傳給協(xié)調(diào)器,協(xié)調(diào)器通過(guò)串口傳遞給控制核心處理。

        3.3 終端執(zhí)行單元的軟件設(shè)計(jì)

        終端執(zhí)行單元的MCU 采用性價(jià)比較高的Atmega16 單片機(jī),運(yùn)行在此單片機(jī)上的軟件用C 語(yǔ)言編寫(xiě)。軟件主要完成以下功能:

        (1)檢測(cè)串口是否收到來(lái)自控制核心的數(shù)據(jù)或命令;

        (2)收到命令則向執(zhí)行單元發(fā)送執(zhí)行請(qǐng)求;

        (3)收到數(shù)據(jù)則設(shè)定設(shè)備的參數(shù);

        (4)設(shè)置硬件看門(mén)狗定時(shí)器,增加系統(tǒng)可靠性。

        圖5 終端執(zhí)行單元軟件流程圖

        執(zhí)行單元的傳感器數(shù)據(jù)不采用周期性上傳的方式,而是接受到控制核心的請(qǐng)求數(shù)據(jù)命令后才上傳。采用后者所說(shuō)的方式可以進(jìn)一步降低整個(gè)系統(tǒng)的功耗[8]。

        4 試驗(yàn)結(jié)果

        圖6 為無(wú)線ZigBee 網(wǎng)絡(luò)中的協(xié)調(diào)器,路由器和終端。圖7 為傳感器采集到的數(shù)據(jù)通過(guò)ZigBee 模塊串口發(fā)送到PC 上位機(jī)軟件。圖8 為控制中心觸摸屏顯示的傳感器采集的數(shù)據(jù)信息。

        圖6 協(xié)調(diào)器、路由、終端模塊實(shí)物

        圖7 協(xié)調(diào)器、路由、終端的網(wǎng)絡(luò)組建

        圖8 控制中心觸屏顯示監(jiān)控信息

        5 總結(jié)

        本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)過(guò)程中主要應(yīng)用了嵌入式技術(shù)以及ZigBee 無(wú)線通信技術(shù)。系統(tǒng)設(shè)計(jì)的重點(diǎn)放在如何使系統(tǒng)安裝簡(jiǎn)便,容易擴(kuò)展上。軟件擴(kuò)展升級(jí)可以在控制核心的操作系統(tǒng)上進(jìn)行,硬件擴(kuò)展升級(jí)可以增加新的終端節(jié)點(diǎn)。經(jīng)過(guò)調(diào)試,傳感器網(wǎng)絡(luò)能夠搭建起來(lái),控制中心能夠接收和處理傳感器信息。

        [1] 瞿雷,劉勝德,胡咸斌. ZigBee 技術(shù)及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2007:374-468.

        [2] 李文仲.ZigBee2007/PRO 協(xié)議棧實(shí)驗(yàn)與實(shí)踐[M]. 北京:北京航空航天大學(xué)出版社,2009.

        [3] 高守瑋,吳燦陽(yáng),楊超. ZigBee 技術(shù)實(shí)踐教程[M]. 北京:北京航空航天大學(xué)出版社,2009:247-288.

        [4] Shahin Farahani.ZigBee Wireless Networks and Transceivers[M].British Library Cataloguing-in-Publication Data,2008:285-289.

        [5] 施文灶,王平,黃晞. 無(wú)線傳感器網(wǎng)絡(luò)在智能家居中的應(yīng)用[J].福建大學(xué)學(xué)報(bào),2010,26(6):60-63.

        [6] 劉禮建,張廣明.基于ZigBee 無(wú)線技術(shù)的智能家居管理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(12):250-253.

        [7] 高素萍,李旭斌,鐘德永. 智能窗控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].樓宇自動(dòng)化,2009,20:8-10.

        [8] 陳江波.智能住宅自動(dòng)報(bào)警與查詢系統(tǒng)的研究與設(shè)計(jì)[D].山東:山東大學(xué)信息學(xué)院,2008.

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開(kāi)發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        久久九九av久精品日产一区免费| www插插插无码免费视频网站| 久久精品国产亚洲vr| 国产高清丝袜美腿视频在线观看| 深夜一区二区三区视频在线观看| 人妻少妇乱子伦无码视频专区| 疯狂做受xxxx高潮欧美日本| 国产chinese在线视频| 中文字幕亚洲乱码熟女1区2区| 欧美男生射精高潮视频网站| 风韵饥渴少妇在线观看| 成在线人视频免费视频| 加勒比av在线一区二区| 亚洲夜夜性无码| 中国一 片免费观看| 亚洲精品99久久久久久| 亚洲男人的天堂av一区| 婷婷射精av这里只有精品| 国产精品99久久免费| 国产精品亚洲精品日产久久久| 精品一区二区在线观看免费视频| 国产裸体舞一区二区三区| 国产亚洲欧美在线| 亚洲在中文字幕乱码熟女| 亚洲精品久久国产精品| 日本又黄又爽gif动态图| 无码区a∨视频体验区30秒 | 成人不卡国产福利电影在线看| 亚洲精品国产熟女久久久| 国产精品无码人妻在线| 久久久精品久久日韩一区综合 | 亚洲午夜av久久久精品影院色戒| 欧美人与动牲交a欧美精品| 久久久久久久久高潮无码 | 国产免费视频一区二区| 精品少妇一区二区av免费观看| 亚洲成av人片一区二区| 日韩精品一区二区三区四区| 人妻中文久久人妻蜜桃| 久久婷婷人人澡人人爽人人爱| 日韩二三区|