管超+邵小桃
摘要:隨著無(wú)線通信技術(shù)的進(jìn)步,利用無(wú)線技術(shù)對(duì)目標(biāo)進(jìn)行監(jiān)控、跟蹤、定位成為現(xiàn)實(shí)。傳統(tǒng)的無(wú)線防盜技術(shù)存在著諸多不可逾越的障礙,而ZigBee技術(shù)具有功耗低、通信可靠、網(wǎng)絡(luò)容量大等優(yōu)點(diǎn),它為無(wú)線防盜技術(shù)提供了比較完美的解決方案。本次設(shè)計(jì)的振動(dòng)報(bào)警系統(tǒng)是利用集成了8051內(nèi)核的CC2530芯片為核心的ZigBee開(kāi)發(fā)套件實(shí)現(xiàn)的。連接有振動(dòng)傳感器的下位機(jī)不斷檢測(cè)外部振動(dòng),將檢測(cè)到的信號(hào)通過(guò)無(wú)線方式傳給上位機(jī),上位機(jī)根據(jù)下位機(jī)發(fā)送的信息,發(fā)出控制指令控制相應(yīng)的執(zhí)行機(jī)構(gòu)。
關(guān)鍵詞:通信與信息系統(tǒng);振動(dòng)報(bào)警系統(tǒng);ZigBee技術(shù);CC2530;振動(dòng)傳感器
中圖分類號(hào):TN92
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.3969/i.issn.1003-6970.2015.06.027
本文著錄格式:管超,邵小桃,基于ZigBee的振動(dòng)報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2015,36(6):146-151
DesignandImplementationoftheVibrationAlarmSystemBasedonZigBee
GUANChao,SHAOXiao-tao
[Abstract]:Withthedevelopmentofwirelesscommunicationtechnology,monitoring,trackingandpositioningobjectbywirelesstechnologyhasbeenachieved.Traditionalwirelessanti-theftsystemhasmanytroublesomeobstacles.Withlowpowerconsumption,reliabledatacommunications,considerablenetworkcapacityandotheradvantages,ZigBeetechnologymakesaperfectsolutiontothewirelessanti-theftsystem.ThealarmsystemforvibrationisachievedbytheZigBeedevelopmentkitwhichusestheCC2530chip,integrating8051kernel,asitscore.Connectingwithvibrationsensor,theMCUcontinuouslydetectstheexternalvibration,andthedetectedsignalwillbesenttothehostcomputerviawirelessnetwork.AccordingtotheinformationsentbytheMCU,thehostcomputerissuescontrolinstructionstorelatedpartofsystem.
[Keywords]:Communicationandinformationsystem;Vibrationalarmsystem;ZigBeetechnology;CC2530;Vibrationsensor
0引言
隨著生活水平的提高,人們?cè)絹?lái)越著重人身財(cái)產(chǎn)的安全,如發(fā)生了險(xiǎn)情,若能及時(shí)發(fā)現(xiàn),就能及早制止,避免釀成重大事件。及時(shí)發(fā)現(xiàn)險(xiǎn)情,一方面依靠人的警惕,另一方面還要借助于一定的設(shè)備。本設(shè)計(jì)就是為了滿足現(xiàn)代住宅防盜的需要而設(shè)計(jì)的基于ZigBee的振動(dòng)報(bào)警系統(tǒng)。目前報(bào)警系統(tǒng)的信號(hào)傳輸方式主要是有線和無(wú)線兩種。有線方式具有通訊可靠、抗干擾能力強(qiáng)、器件成本低等優(yōu)點(diǎn),但是其機(jī)動(dòng)性差、不能較好地適應(yīng)用戶及產(chǎn)品的多變要求;無(wú)線方式具有靈活、簡(jiǎn)潔的優(yōu)點(diǎn),需求日益擴(kuò)大,越來(lái)越得到用戶的認(rèn)可,但是其容易受到干擾,傳輸穩(wěn)定性和抗干擾性也存在不足,價(jià)格較高[1]。
作為一種新興的無(wú)線網(wǎng)絡(luò)技術(shù),ZigBee的基礎(chǔ)是IEEE無(wú)線個(gè)人區(qū)域網(wǎng)工作組的一項(xiàng)標(biāo)準(zhǔn),被成為IEEE802.15.4技術(shù)標(biāo)準(zhǔn)。IEEE802.15.4協(xié)議主要用于距離短、功耗低且傳輸速率不高的電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時(shí)間數(shù)據(jù)傳輸?shù)膽?yīng)用[2]。ZigBee無(wú)線網(wǎng)絡(luò)的實(shí)現(xiàn),是建立在ZigBee協(xié)議棧的基礎(chǔ)上的。ZigBee協(xié)議棧是建立在OSI(OpenSystemInterconnect,開(kāi)放系統(tǒng)互聯(lián))基本參考模型的基礎(chǔ)上的,是OSI七層模型的精簡(jiǎn)網(wǎng)絡(luò)模型。ZigBee標(biāo)準(zhǔn)使用IEEE802.15.4的物理層和MAC層協(xié)議作為ZigBee協(xié)議棧的一部分,并自己定義了網(wǎng)絡(luò)層、應(yīng)用層和安全協(xié)議,因此任何ZigBee設(shè)備和IEEE標(biāo)準(zhǔn)都是兼容的[3-4]。
ZigBee具有白組織網(wǎng)絡(luò)的特點(diǎn),新的節(jié)點(diǎn)經(jīng)上電之后,就能收聽(tīng)鄰近節(jié)點(diǎn),只要滿足接入標(biāo)準(zhǔn),就可以加入網(wǎng)絡(luò)[5]。通過(guò)使用低功耗、低成本、低速率的短距離無(wú)線通信新標(biāo)準(zhǔn)ZigBee來(lái)組建防盜報(bào)警網(wǎng)絡(luò),不僅解決了傳統(tǒng)有線網(wǎng)絡(luò)系統(tǒng)布線難、成本高以及不易擴(kuò)展等問(wèn)題,還能基本解決現(xiàn)有無(wú)線報(bào)警系統(tǒng)存在誤報(bào)警等問(wèn)題。
1系統(tǒng)的整體設(shè)計(jì)思路
本設(shè)計(jì)分為節(jié)點(diǎn)部分和主機(jī)部分。節(jié)點(diǎn)部分的各路傳感器不斷檢測(cè)外部環(huán)境,并將檢測(cè)結(jié)果通過(guò)串口發(fā)送給ZigBee套件1,ZigBee套件1通過(guò)無(wú)線方式將信號(hào)傳給ZigBee套件2,ZigBee套件2通過(guò)串口方式再將信號(hào)傳給上位機(jī)。
上位機(jī)無(wú)線接收到下位機(jī)發(fā)送過(guò)來(lái)的信號(hào),對(duì)信號(hào)進(jìn)行分析處理,并且通過(guò)串口發(fā)迭信號(hào)給ZigBee套件3,從而控制蜂鳴器,發(fā)出報(bào)警信號(hào)。
2系統(tǒng)的硬件設(shè)計(jì)
在本次設(shè)計(jì)中,我們主要用到的硬件包括三套ZigBee套件(ZigBee套件1、ZigBee套件2、ZigBee套件3)、振動(dòng)傳感器、三極管開(kāi)關(guān)電路和蜂鳴器。
ZigBee套件包括功能底板和CC2530核心板。功能底板白帶USB轉(zhuǎn)串口功能(PL-2303),方便筆記本用戶,同時(shí)具有Debug接口,兼容TI標(biāo)準(zhǔn)仿真T具。它還包括常用的串口引腳、SV/3.3V引腳、電源指示燈、組網(wǎng)指示燈和普通LED。CC2530核心板使用2.4G全向天線,可靠傳輸距離達(dá)250米,白動(dòng)重連的距離高達(dá)110米。CC2530芯片是一個(gè)真正的用于IEEE802.15.4,ZigBee和RF4CE應(yīng)用的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530集成了業(yè)界領(lǐng)先的RF收發(fā)器、增強(qiáng)工業(yè)標(biāo)準(zhǔn)的8051MCU,在系統(tǒng)可編程Flash存儲(chǔ)器,8KBRAM和許多其它強(qiáng)大的功能。
振動(dòng)傳感器采用MEC原裝振動(dòng)開(kāi)關(guān)SW-18015P,靈敏度高,對(duì)環(huán)境振動(dòng)敏感,一般用來(lái)檢測(cè)周圍環(huán)境的振動(dòng)強(qiáng)度;模塊在無(wú)振動(dòng)或者振動(dòng)強(qiáng)度達(dá)不到設(shè)定閾值時(shí),DO口輸出高電平,當(dāng)外界振動(dòng)強(qiáng)度超過(guò)設(shè)定閾值時(shí),模塊DO輸出低電平;小板數(shù)字量輸出DO可以與單片機(jī)直接相連,通過(guò)單片機(jī)來(lái)檢測(cè)高低電平,由此來(lái)檢測(cè)環(huán)境的振動(dòng);小板數(shù)字量輸出DO可以直接驅(qū)動(dòng)繼電器模塊,由此可以組成一個(gè)振動(dòng)開(kāi)關(guān)。
首先我們需要將振動(dòng)傳感器連接到ZigBee套件1上,首先要在ZigBee套件1的P2.0,3.3V.GND三個(gè)串口上焊接上三個(gè)排針,然后將這三個(gè)串口用杜邦線分別連接到振動(dòng)傳感器的DO,VCC,GND三個(gè)引腳上。
接下來(lái),只需要將ZigBee套件2通過(guò)USB線和電腦的COM5口連接起來(lái)即可。最后需要將ZigBee套件3通過(guò)USB線和電腦的COM4口連接起來(lái),然后在PI.O口上焊接上排針,因?yàn)橛玫?.3V蜂鳴器是需要電流驅(qū)動(dòng)的,而Pl.0口輸出的只是高低電平(其中高電平為3.3V,低電平為0.3V),所以此處需要將Pl.0口連接一個(gè)三極管的開(kāi)關(guān)電路,從而驅(qū)動(dòng)蜂鳴器。因?yàn)閱纹瑱C(jī)的10口驅(qū)動(dòng)能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過(guò)三極管放大驅(qū)動(dòng)電流,可以讓蜂鳴器發(fā)出聲音,你要是輸出高電平,三極管導(dǎo)通,集電極電流通過(guò)蜂鳴器讓蜂鳴器發(fā)m聲音,當(dāng)輸出低電平時(shí),三極管截止,沒(méi)有電流流過(guò)蜂鳴器,所以就不會(huì)發(fā)出聲音。
如上圖所示,三極管開(kāi)關(guān)電路的設(shè)計(jì)很簡(jiǎn)單,只需要一個(gè)三極管S9012(PNP)和一個(gè)1K的電阻。首先將電阻一端連接到三極管的基極,另一端與Pl.0口相連,然后分別將ZigBee套件3上P7模塊的3.3V引腳連接到三極管的發(fā)射極,再將蜂鳴器的一端連接到三極管的集電極,另一端連接到ZigBee套件3上P7模塊的GND引腳。
3系統(tǒng)的軟件設(shè)計(jì)
3.1無(wú)線傳輸程序
無(wú)線傳輸程序是基于ZigBee協(xié)議棧的程序,我們需要將程序添加到協(xié)議棧中,并通過(guò)仿真器分別以終端和協(xié)調(diào)器的方式將程序下載到ZigBee套件1和ZigBee套件2中去。連接振動(dòng)傳感器的終端(ZigBee套件1)將檢測(cè)到的信息通過(guò)無(wú)線傳輸?shù)姆绞桨l(fā)送給協(xié)調(diào)器(ZigBee套件2),協(xié)調(diào)器通過(guò)串口方式與上位機(jī)(筆記本)連接,通過(guò)串口將信息發(fā)送給上位機(jī)。
(1)首先需要初始化P2.0引腳,設(shè)置為輸入模式。
(2)利用周期性點(diǎn)播的定時(shí)器作為振動(dòng)信息采集時(shí)間,將采集到的信息發(fā)送給協(xié)調(diào)器。協(xié)調(diào)器只做串口打印,0.5秒采集一次。
#defineSAMPLEAPP—SEND—PERIODIC—MSG—TIMEOUT500//Every0.5seconds
(3)終端每0.5秒執(zhí)行點(diǎn)播函數(shù)一次,我們?cè)邳c(diǎn)播函數(shù)里判斷IO口。
(4)我們利用協(xié)調(diào)器接收函數(shù)將數(shù)據(jù)讀出來(lái)然后判斷。通過(guò)串口打印傳感器信息m來(lái)。
Z-stack系統(tǒng)運(yùn)行流程圖如下:
3.2上位機(jī)程序
上位機(jī)程序是將協(xié)調(diào)器發(fā)送上來(lái)的信息顯示在電腦屏幕上,并且發(fā)送命令給相關(guān)的器件做出相應(yīng)的反應(yīng)。
上位機(jī)程序需要用到MSComm控件,MSComm拄件是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它既可以用來(lái)提供簡(jiǎn)單的串行端口通信功能,也可以用來(lái)創(chuàng)建功能完備的、事件驅(qū)動(dòng)的高級(jí)通信T具。
通常我們以下面的步驟來(lái)使用VC++.NET的MSComm控件進(jìn)行通信控制:
(1)加入通信部件,也就是MSComm對(duì)象;
(2)設(shè)置通信端口號(hào)碼,即CommPort屬性;
(3)設(shè)置通信協(xié)議,即HandShaking屬性;
(4)設(shè)置傳輸速度等參數(shù),即Settings屬性;
(5)設(shè)置其它參數(shù),若必要時(shí)再加上其他的屬性設(shè)置;
(6)打開(kāi)通信端口,即PortOpen屬性設(shè)成True;
(7)送出字符串或讀人字符串,使用Input及Output屬性;
(8)使用完MSComm通信對(duì)象后,將通信端口關(guān)閉。即PortOpen屬性設(shè)成False。
3.3串口下傳程序
串口下傳程序?yàn)槁銠C(jī)程序,不需要使用協(xié)議棧。同樣需要將裸機(jī)程序通過(guò)仿真器下載到ZigBee套件3。通過(guò)定義串口Pl.0和Pl.l來(lái)控制LED1(紅)和LED2(綠)的亮與滅。當(dāng)沒(méi)有振動(dòng)時(shí),LEDl=1,LED2=0,即紅燈滅,綠燈亮,顯示沒(méi)有險(xiǎn)情;當(dāng)有振動(dòng)時(shí),LEDl=0,LED2=1,即紅燈亮,綠燈滅,顯示有險(xiǎn)情。
4報(bào)警系統(tǒng)功能演示
本系統(tǒng)完成了基于ZigBee的振動(dòng)報(bào)警系統(tǒng)的總體框架設(shè)計(jì)和基本功能。
1.沒(méi)有振動(dòng)時(shí):
(1)振動(dòng)傳感器只是電源燈(紅燈)亮,開(kāi)關(guān)燈(綠燈)不亮;
(2)上位機(jī)可視化界面顯示NoVibration(無(wú)振動(dòng));
(3)ZigBee套件3綠燈亮,蜂鳴器不響,表明無(wú)險(xiǎn)情。
2.發(fā)生振動(dòng)時(shí):
(1)傳感器的電源燈(紅燈)亮,開(kāi)關(guān)燈(綠燈)也亮;
(2)上位機(jī)可視化界面顯示GotVibration(有振動(dòng));
(3)ZigBee套件3的紅燈亮,蜂鳴器發(fā)出響聲,從而實(shí)現(xiàn)報(bào)警功能。
下圖為發(fā)生振動(dòng)時(shí)的實(shí)物圖:
5結(jié)論
基于ZigBee的物聯(lián)網(wǎng)系統(tǒng),具有通信功能強(qiáng)、功耗低等優(yōu)點(diǎn),在物聯(lián)網(wǎng)應(yīng)用中,有效距離適中,具有良好的應(yīng)用前景。文中將ZigBee技術(shù)應(yīng)用于振動(dòng)報(bào)警報(bào)警系統(tǒng),采用無(wú)線組網(wǎng)技術(shù),利用高性價(jià)比的CC2530芯片實(shí)現(xiàn)了無(wú)線系統(tǒng)中的節(jié)點(diǎn)之間的相互通信。使用IAR開(kāi)發(fā)平臺(tái)作為系統(tǒng)軟件開(kāi)發(fā)平臺(tái),分別完成數(shù)據(jù)采集節(jié)點(diǎn)和中心協(xié)調(diào)器節(jié)點(diǎn)的程序設(shè)計(jì)。
本系統(tǒng)完成了基于ZigBee的基于ZigBee的振動(dòng)報(bào)警系統(tǒng)的總體框架設(shè)計(jì)和基本功能,還需進(jìn)一步的完善和改進(jìn)才能實(shí)現(xiàn)系統(tǒng)的實(shí)用性。相信通過(guò)改進(jìn)后的系統(tǒng)應(yīng)用在物聯(lián)網(wǎng)中,不僅可以減少在監(jiān)管方面的投入,還可以在最短的時(shí)間內(nèi)報(bào)告險(xiǎn)情,將損失降到最低。
參考文獻(xiàn)
[1]范國(guó)娟,范國(guó)卿.基于Zigbee的無(wú)線紅外防盜報(bào)警系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(12):16-19.FANGuo-juan,F(xiàn)ANGuo-qing.Designofthewirelessinfraredanti-theftalarmsystembasedonZigBee[J].ElectronicDesignEngineering,2012,20(12):16-19.
[2]李文仲,段朝玉.ZigBee無(wú)線網(wǎng)絡(luò)技術(shù)入門與實(shí)戰(zhàn)[M].北京航空航天大學(xué)出版社,2007:77-91.
[3]鐘永鋒,劉永俊.ZigBee無(wú)線傳感器網(wǎng)絡(luò)[M].北京郵電大學(xué)出版社,2011:135-145.
[4]金純,羅祖秋,羅鳳,等.ZigBee技術(shù)基礎(chǔ)及案例分析[M].北京:國(guó)防工業(yè)出版社,2008.
[5]LAN/MANStandardsCommittee,Part15.2:CoexistenceofWirelessPersonalAreaNetworkswithOtherWirelessDevicesOperatinginUnlicensedFrequencyBands[S].2009.
[6]劉舒祺,施國(guó)梁基于熱釋電紅外傳感器的報(bào)警系統(tǒng)[J].電子設(shè)計(jì)工程,2005(3):18-20.LIUShu-qi,SHIGuo-liang.Alarmsystemwithpyroelectricinfraredsensors[J].ElectronicDesignEngineering,2005(3):18-20.
[7]陳冬梅,鄧小芳,梁紅玉.“可遠(yuǎn)程監(jiān)控的智能防盜報(bào)警系統(tǒng)”[J].計(jì)算機(jī)應(yīng)用,2010,30:308-311.CHENDong-mei,DONGXiao-fang,LIANGHong-yu.Realizationofintelligentsecuritywarningsystemforremotemonitoring[J].JournalofComputerApplications.2010,30:308-311.
[8]侯祝平,姜昊彤.智能遠(yuǎn)程汽車防盜系統(tǒng)設(shè)計(jì)[J].軟件,2014,35(5):85-87,93.
[9]張?chǎng)H,陳美伊,李壯,等.基于單片機(jī)的家庭智能火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)[J].軟件,2014,35(4):87-89,96.
[10]蘭宏鐘,羅紅.基于ZigBee的無(wú)線傳感器網(wǎng)絡(luò)管理系統(tǒng)的研究與設(shè)計(jì)[J].軟件,2013,34(1):30-33.
[11]黃耀諄,錢李,郝超,等.基于GPS與ZigBee的綜合定位系統(tǒng)[J].新型工業(yè)化,2013,3(6):41-47.HUANGYaozhun,QIANLi,HAOChao,etal.lntegratedPositioningSystembasedonGPSandZigBee[J].TheJournalofNewIndustrialization,2013,3(6):41-47.
[12]李江全,劉長(zhǎng)征,鄭瑤,等著.VisualC++.NET串口通信及測(cè)控應(yīng)用典型事例[M].電子工業(yè)出版社,2012:25-60.
[13]賀翔,孟小華.“嵌入式智能家居終端人機(jī)界面設(shè)計(jì)與實(shí)現(xiàn)”[J].計(jì)算機(jī)工程與沒(méi)計(jì),2010:2166-2168.HEXiang,MENG,Xiao-hua.Designandimplementationofhuman-computerinterfaceinembeddedintelligenthomesystem[J].ComputerEngineeringandDesign.2010:2166-2168.