田維香, 劉忠富, 張 琴, 王明明, 李厚杰
(大連民族大學(xué) 信息與通信工程學(xué)院, 遼寧 大連 116600)
近年來,隨著無線接入技術(shù)的需求日益增大,無線通信和無線網(wǎng)絡(luò)均呈現(xiàn)出指數(shù)增加的趨勢。無線通信向高速通信方向發(fā)展,無線監(jiān)測系統(tǒng)日益得到廣泛的應(yīng)用,尤其是無線傳感器網(wǎng)絡(luò)越來越受到人們的關(guān)注[1]。目前,由于居民住宅呈現(xiàn)愈緊湊、人流愈集中的態(tài)勢,物業(yè)安全管理就顯得十分重要。小區(qū)、商場、停車場等公共場所依靠傳統(tǒng)的人工記錄及人員值守的訪客管理方式愈發(fā)低效耗時(shí),準(zhǔn)確性低且造成數(shù)據(jù)遺漏或丟失,與現(xiàn)代化管理對快捷度、便捷性和安全性的需求相差甚遠(yuǎn)。本設(shè)計(jì)監(jiān)測人員的“進(jìn)”或“出”狀態(tài),同時(shí)將狀態(tài)監(jiān)測信息無線發(fā)送到數(shù)據(jù)處理中心,實(shí)現(xiàn)語音提示和訪客記錄等功能。開發(fā)這種服務(wù)質(zhì)量好、智能化程度高、經(jīng)濟(jì)實(shí)用的無線訪客監(jiān)測系統(tǒng),不僅便于統(tǒng)一管理,還能減少人力資源,對環(huán)境改善、提高經(jīng)濟(jì)效益都有顯著的效果。
無線訪客監(jiān)測系統(tǒng)電路由3部分構(gòu)成:人員進(jìn)出監(jiān)測電路、ZigBee數(shù)據(jù)傳輸電路、上位機(jī)數(shù)據(jù)處理程序。通過訪客監(jiān)測電路監(jiān)測訪客進(jìn)出狀態(tài), ZigBee發(fā)送端電路將訪客信息廣播發(fā)布到組建的網(wǎng)絡(luò)中,ZigBee接收端從網(wǎng)絡(luò)中獲取訪客信息[2]并通過串口發(fā)送到上位機(jī)PC,PC進(jìn)行數(shù)據(jù)處理和顯示,實(shí)現(xiàn)對訪客的無線遠(yuǎn)程監(jiān)測。其工作原理為:在門禁兩側(cè)各裝配一組紅外傳感器,當(dāng)有人員經(jīng)過門禁時(shí),會先后觸發(fā)傳感器1和傳感器2。根據(jù)觸發(fā)的先后順序,可判斷出人員的“進(jìn)”、“出”狀態(tài)。據(jù)此獲取訪客的訪問和離開信息。整體框架如圖1所示。
訪客監(jiān)測電路是訪客信息采集端,包括單片機(jī)最小系統(tǒng)、電源電路模塊、紅外傳感模塊、串口電路模塊。單片機(jī)模塊通過引腳讀取紅外傳感模塊的信號,光被遮斷時(shí)會產(chǎn)生電平跳變,觸發(fā)外部中斷執(zhí)行中斷服務(wù)函數(shù)[3],根據(jù)不同的觸發(fā)點(diǎn),標(biāo)記并通過串口發(fā)送相應(yīng)的訪客信息。由于布設(shè)了2路傳感器,因此當(dāng)有人“進(jìn)”或“出”時(shí)2路傳感器會分別觸發(fā)1次,可以根據(jù)觸發(fā)的先后順序,由程序判斷出“進(jìn)”、“出”狀態(tài)。最終,得到人員訪問或離開的信息。
圖1 無線訪客系統(tǒng)整體框圖
2.1.1 單片機(jī)最小系統(tǒng)電路
選擇STM32F103RBT6作為核心芯片,最小系統(tǒng)主要由濾波電路、晶振電路和復(fù)位電路組成。搭配一個(gè)8M晶振和一個(gè)32.768晶振,6個(gè)濾波電容可以有效地減小電源紋波對系統(tǒng)造成的干擾[4]。
2.1.2 電源電路
STM32F103RBT6芯片需要提供3.3V電源,但市面上大多是5 V的電源適配器,因此需使用NCP1117芯片將5 V的電壓轉(zhuǎn)換為3.3 V供STM32F103RBT6單片機(jī)使用[5]。本設(shè)計(jì)既可用圓形插孔供電,也可使用USB供電,方便硬件電路連接。電源電路原理如圖2所示。
紅外傳感器采用對射式光電傳感器,E3F-5L作為發(fā)射端,E3F-5DN1作為接收端。發(fā)送端只需要提供5 V電壓即可工作,接收端提供5 V電源,信號線接到單片機(jī)的PC2、PC3。接收端是NPN常開型光電傳感器,接收端能接受到光束時(shí)信號線為高電平,當(dāng)光束被物體遮擋時(shí),信號線發(fā)生電平跳變輸出低電平[6]。根據(jù)傳感器特性將單片機(jī)PC2、PC3配置為上拉輸入I/O,并且將外部中斷觸發(fā)方式配置為下降沿觸發(fā)。
圖2 電源電路及電壓轉(zhuǎn)換模塊
無線傳輸電路采用2530作為主控芯片,以PL2303芯片作為ZigBee的協(xié)調(diào)器電路來建立ZigBee網(wǎng)絡(luò)和接收各個(gè)ZigBee終端發(fā)來的信息。PL2303與訪客監(jiān)測模塊及上位機(jī)數(shù)據(jù)處理程序通過串口來實(shí)現(xiàn)通信。
2.2.1 PL2303協(xié)調(diào)器模塊
PL2303是一種高度集成的RS232轉(zhuǎn)USB的接口轉(zhuǎn)換器,提供一個(gè)與USB功能接口連接的RS232全雙工異步串行通信裝置。PL2303在本設(shè)計(jì)中主要實(shí)現(xiàn)與下位機(jī)的各種接口對接,幫助協(xié)調(diào)ZigBee模塊需要采集的數(shù)據(jù),并且在ZigBee接收模塊與上位機(jī)實(shí)現(xiàn)串行通信[7]。協(xié)調(diào)器電路原理如圖3所示。
圖3 PL2303協(xié)調(diào)器電路圖
2.2.2 CC2530應(yīng)用電路
ZigBee模塊主控芯片采用CC2530。CC2530以8051為CPU,擁有8KB RAM。本設(shè)計(jì)采用CC2530F256,具有256KB閃存。CC2530有多種不同的運(yùn)行模式,可適應(yīng)于超低功耗要求的系統(tǒng)。通過運(yùn)行模式之間的靈活轉(zhuǎn)換,可保證系統(tǒng)在低能源消耗的模式下進(jìn)行工作。CC2530F256結(jié)合ZigBee協(xié)議棧,能夠輕松滿足本設(shè)計(jì)的功能需求。CC2530電路設(shè)計(jì)如圖4所示。
圖4 CC2530電路原理圖
監(jiān)測模塊主函數(shù)主要進(jìn)行延時(shí)函數(shù)初始化、設(shè)置中斷分組、初始化傳感器接口I/O、初始化中斷、并一直等待中斷到來,當(dāng)發(fā)生中斷時(shí),執(zhí)行中斷服務(wù)函數(shù)。由于光電傳感器是NPN常開型,因此將I/O口配置成上拉輸入。主程序流程如圖5所示。
圖5 主程序流程圖
ZigBee發(fā)送端程序主要由2部分組成,首先,是與STM32單片機(jī)的串行通信部分,需要配置單片機(jī)和CC2530的串口參數(shù)。例如波特率、數(shù)據(jù)位、奇偶校驗(yàn)位等。本設(shè)計(jì)波特率均設(shè)置為115 200,相同的串口配置才能實(shí)現(xiàn)串行通信。其次,是ZigBee的組網(wǎng)廣播部分,將串行通信收到的數(shù)據(jù),打包并通過廣播的方式發(fā)送出去,當(dāng)接收端接收到廣播信息即可實(shí)現(xiàn)無線通信。發(fā)送端的程序流程如圖6所示。ZigBee接收端程序和發(fā)送端類似,首先,配置串口參數(shù),需要和上位機(jī)VISA串口驅(qū)動的串口參數(shù)一致。其次,在ZigBee網(wǎng)絡(luò)中獲得發(fā)送端廣播的信息。最終將收到的信息發(fā)送給上位機(jī)。接收端的程序流程如圖7所示。
上位機(jī)數(shù)據(jù)處理部分基于LabVIEW完成程序設(shè)計(jì),設(shè)計(jì)思路如下:先配置VISA驅(qū)動參數(shù),主要用于設(shè)置串口的波特率、數(shù)據(jù)位等參數(shù),和下位機(jī)串口參數(shù)的配置相同即可[9]。程序運(yùn)行之后,能連續(xù)讀取串口的數(shù)據(jù)。根據(jù)下位機(jī)發(fā)送的字符串結(jié)構(gòu)拆分出傳感器的標(biāo)志數(shù)據(jù)[10](本設(shè)計(jì)將傳感器1標(biāo)記為“1”,將傳感器2標(biāo)記為“2”)。將狀態(tài)標(biāo)志位進(jìn)行一定處理即可判斷出訪客的進(jìn)出狀態(tài)。程序流程如圖8所示。
圖6 ZigBee發(fā)送端程序流程圖
圖7 ZigBee接收端程序流程圖
圖8 上位機(jī)程序流程圖
本文設(shè)計(jì)了一種基于STM32的無線訪客檢測系統(tǒng)。根據(jù)訪客監(jiān)測系統(tǒng)的生活需求,詳細(xì)闡述了硬件電路的設(shè)計(jì)思路、各部分電路的功能和具體構(gòu)成。硬件設(shè)計(jì)中給出了傳感器的功能實(shí)現(xiàn),介紹了各模塊電路之間的連接方式,并分別介紹了各部件之間的聯(lián)系與詳細(xì)功能。軟件設(shè)計(jì)主要分為3部分:基于STM32的訪客監(jiān)測部分程序設(shè)計(jì)、ZigBee無線傳輸部分程序設(shè)計(jì)和基于LabVIEW的程序設(shè)計(jì)。根據(jù)各部分要實(shí)現(xiàn)的功能,給出了軟件流程圖,并詳細(xì)闡述了軟件的設(shè)計(jì)思路。本系統(tǒng)總結(jié)了目前正在使用的類似系統(tǒng)的優(yōu)缺點(diǎn),將訪客監(jiān)測技術(shù)和ZigBee技術(shù)相結(jié)合,并且設(shè)計(jì)了合適的上位機(jī)顯示程序,將訪客信息集中起來進(jìn)行管理。對物業(yè)安全、訪客監(jiān)測智能化、節(jié)約人力成本等起到了重要作用。可以在小區(qū)物業(yè)管理、商場人流監(jiān)測、門禁系統(tǒng)等系統(tǒng)中得到廣泛的應(yīng)用,具有較高的實(shí)用價(jià)值和應(yīng)用前景。