籍風(fēng)磊, 李志軍, 遲學(xué)芬, 梁 楠
(吉林大學(xué)a.通信工程學(xué)院;b.公共計(jì)算機(jī)教學(xué)與研究中心,長(zhǎng)春 130012)
通信工程類課外培養(yǎng)是本科培養(yǎng)的重要組成部分,與課內(nèi)教學(xué)計(jì)劃緊密配合,互相補(bǔ)充,培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力,提升學(xué)生的綜合能力[1-2]。本系統(tǒng)以開放性創(chuàng)新實(shí)驗(yàn)為導(dǎo)向,融合基于STM32的嵌入式軟硬件開發(fā)技術(shù)[3]、傳感器技術(shù)[4-5]、物聯(lián)網(wǎng)技術(shù)[6-7]、手機(jī)APP開發(fā)[8-9]等多種通信工程類學(xué)科所需實(shí)用型技術(shù),采用WiFi網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、移動(dòng)4G多網(wǎng)協(xié)同組網(wǎng),實(shí)現(xiàn)實(shí)驗(yàn)室智能安防功能。在設(shè)置的實(shí)驗(yàn)中,學(xué)生根據(jù)學(xué)習(xí)意向及專業(yè)方向需求選擇實(shí)驗(yàn)項(xiàng)目,充分體現(xiàn)循序漸進(jìn)和因材施教。同時(shí),本實(shí)驗(yàn)系統(tǒng)為學(xué)生參加各類科技競(jìng)賽及科研、就業(yè)奠定堅(jiān)實(shí)的基礎(chǔ)。
本系統(tǒng)由采集子系統(tǒng)、控制子系統(tǒng)、用戶監(jiān)控子系統(tǒng)三部分構(gòu)成,總體設(shè)計(jì)框圖如圖1所示。其中,采集子系統(tǒng)通過布放門磁、紅外、煙霧、溫濕度、水浸等傳感器及攝像頭采集實(shí)驗(yàn)室實(shí)時(shí)數(shù)據(jù)信息;控制子系統(tǒng)以STM32為主控芯片,通過ZigBee網(wǎng)絡(luò)接收采集子系統(tǒng)信息,對(duì)數(shù)據(jù)預(yù)處理,若有數(shù)據(jù)超過閾值,通過GSM模塊通過移動(dòng)4G網(wǎng)絡(luò)向?qū)嶒?yàn)室管理人員發(fā)送預(yù)警短信息。用戶子系統(tǒng)接收實(shí)時(shí)預(yù)警信息,通過WiFi網(wǎng)絡(luò),利用APP查看實(shí)驗(yàn)室各類傳感器周期性采集的信息及視頻信號(hào)。
系統(tǒng)的總設(shè)計(jì)方案中,用戶子系統(tǒng)不涉及硬件的選型與設(shè)計(jì),利用測(cè)試用戶手機(jī)即可完成子系統(tǒng)測(cè)試。因此,只分析采集子系統(tǒng)和控制子系統(tǒng)的硬件選型與設(shè)計(jì)。
采集子系統(tǒng)分為傳感器部分和視頻采集部分。傳感器部分負(fù)責(zé)各傳感器信號(hào)的采集,視頻采集部分負(fù)責(zé)視頻信號(hào)的獲取。
(1)傳感器部分。門磁傳感器、溫濕度傳感器、煙霧傳感器、紅外聲光報(bào)警器、水浸傳感器分別連接STM32最小系統(tǒng)。最小系統(tǒng)通過串口與ZigBee模塊的終端節(jié)點(diǎn)連接,各終端節(jié)點(diǎn)通過ZigBee組網(wǎng)將數(shù)據(jù)發(fā)送至控制子系統(tǒng)的網(wǎng)絡(luò)匯聚節(jié)點(diǎn)。最小系統(tǒng)采用意法半導(dǎo)體生產(chǎn)的STM32F103 VET6,實(shí)現(xiàn)采集信號(hào)由傳感器至ZigBee模塊的傳輸及控制系統(tǒng)子系統(tǒng)指令的執(zhí)行。ZigBee模塊采用TI公司的CC2530芯片,所有模塊波特率均設(shè)置為115 200,并設(shè)置為不同的頻道,實(shí)現(xiàn)數(shù)據(jù)的在ZigBee無線網(wǎng)絡(luò)無干擾的傳輸[10]。
(2)視頻采集部分。視頻采集部分采用OV5640數(shù)字?jǐn)z像頭,通過控制子系統(tǒng)上的攝像頭模塊接口連接至核心控制芯片STM32F429。攝像頭接口模塊原理圖如圖2所示。其中,DOUT0~DOUT7向控制子系統(tǒng)發(fā)送數(shù)據(jù);SLC和SDA分別為與STM32通信的I2C總線的串行時(shí)鐘線和雙向串行數(shù)據(jù)線;VSYNC和HSYNC分別為幀同步和行同步信號(hào)線;PCLK和XCLK分別為像素時(shí)鐘信號(hào)線和主時(shí)鐘信號(hào)線[11]。
本系統(tǒng)采用意法半導(dǎo)體生產(chǎn)的STM32F429-BITx作為控制器,設(shè)計(jì)了復(fù)位、晶振、編程下載接口電路。其中,晶振電路中X8所在電路用于RTC時(shí)鐘,X2所在時(shí)鐘為CPU主時(shí)鐘,通過內(nèi)部FLASH倍頻到180MB[12];編程下載接口電路設(shè)計(jì)為SWD調(diào)測(cè)接口,此接口比20P的JTAG接口節(jié)約口線。除此之外,系統(tǒng)還設(shè)計(jì)了與ZigBee協(xié)調(diào)器通信的USART串行接口電路、進(jìn)行以太網(wǎng)通信的10MB/100MB的網(wǎng)卡電路及用于短信發(fā)送的GSM模塊電路。圖3給出了網(wǎng)卡電路和GSM模塊電路原理圖。其中,10MB/100MB的網(wǎng)卡電路采用DM9000AE高速以太網(wǎng)接口芯片,該芯片與STM32間采用16位的FSMC總線連接,使用PF0作為CMD,譯碼器輸出的FMC_NE2_C接CS[13];GSM模塊電路采用SIM800A芯片,該模塊采用串口方式與STM32通信,在本系統(tǒng)中利用移動(dòng)4G網(wǎng)絡(luò),實(shí)現(xiàn)發(fā)送短信的功能[14]。
系統(tǒng)的軟件設(shè)計(jì)分為采集、控制和用戶部分。采集部分負(fù)責(zé)傳感器信息數(shù)據(jù)及視頻信號(hào)的采集;控制部分進(jìn)行數(shù)據(jù)預(yù)處理,判別數(shù)據(jù)是否超出閾值,從而決定是否向管理員發(fā)送告警信息,以及接收管理員指令,并下發(fā)給各采集模塊,起到上傳下達(dá)作用;用戶部分利用手機(jī)自帶的短信功能,并開發(fā)Android手機(jī)APP,接收告警信息并實(shí)時(shí)查看實(shí)驗(yàn)室各項(xiàng)傳感器信息數(shù)據(jù)及視頻信號(hào),通過手機(jī)APP下達(dá)管理指令。
基于STM32F103的C語言程序設(shè)計(jì),采集各傳感器信息,通過ZigBee網(wǎng)絡(luò)上傳至控制子系統(tǒng)STM32F429。采集子系統(tǒng)的各傳感器采集軟件設(shè)計(jì)流程基本一致,由如下幾部分構(gòu)成:初始化、傳感器驅(qū)動(dòng)、設(shè)置信息采集周期、采集傳感器信息、ZigBee網(wǎng)絡(luò)上傳信息。其中,初始化主要完成GPIO、A/D模塊及用于ZigBee終端節(jié)點(diǎn)通信的串口的配置;傳感器信息采集由定時(shí)器周期性觸發(fā),為便于程序設(shè)計(jì),傳感器信息的采集周期均設(shè)置為1 s。ZigBee網(wǎng)絡(luò)上傳信息是通過直接向與ZigBee模塊通信的串口發(fā)送數(shù)據(jù)實(shí)現(xiàn)。
視頻采集部分利用STM32F429的數(shù)字?jǐn)z像頭接口Digital camera interface(DCMI)驅(qū)動(dòng)OV5640攝像頭[15],獲取視頻數(shù)據(jù),然后利用DMA通道將數(shù)據(jù)運(yùn)送至內(nèi)存,最后通過以太網(wǎng)發(fā)送至用戶端。軟件設(shè)計(jì)的流程圖如圖4所示。
控制部分程序是整個(gè)程序設(shè)計(jì)的核心部分,實(shí)現(xiàn)了上傳下達(dá)的功能,既上報(bào)傳感器及告警信息,又接收手機(jī)APP下達(dá)的指令,同時(shí)實(shí)現(xiàn)視頻信號(hào)傳輸通道的建立。控制部分軟件設(shè)計(jì)的流程圖如圖5所示。
主程序?qū)崿F(xiàn)模塊初始化、硬件自檢、信息接收及發(fā)送功能后,進(jìn)入循環(huán)等待,通過判定標(biāo)識(shí)進(jìn)入不同函數(shù),此步驟在程序中利用Switch語句實(shí)現(xiàn)。短信發(fā)送函數(shù)負(fù)責(zé)將自檢及告警信息實(shí)時(shí)發(fā)送至管理員;身份校驗(yàn)函數(shù)實(shí)現(xiàn)管理員登錄校驗(yàn);視頻傳輸函數(shù)建立傳輸通道,將采集的視頻信號(hào)通過以太網(wǎng)傳送至手機(jī)終端;信息上傳函數(shù)將管理員需求的傳感器采集信息上傳至手機(jī)終端;指令下發(fā)函數(shù)將管理員發(fā)送的指令通過ZigBee網(wǎng)絡(luò)下發(fā)至采集子系統(tǒng)的不同控制器。
用戶部分程序開發(fā)手機(jī)APP,實(shí)現(xiàn)安防系統(tǒng)的遠(yuǎn)端監(jiān)控和管理。通過APP,管理員可以遠(yuǎn)程查看實(shí)驗(yàn)室各種安防信息,實(shí)時(shí)查看實(shí)驗(yàn)室監(jiān)控視頻,下達(dá)管理指令。安防系統(tǒng)手機(jī)APP為按鍵響應(yīng)式的操作,功能簡(jiǎn)單,通過拖拽UI組件構(gòu)建APP界面。對(duì)每個(gè)按鍵進(jìn)行編程的軟件設(shè)計(jì)流程如圖6所示。
開啟采集子系統(tǒng)和控制子系統(tǒng)設(shè)備,各模塊上電并初始化。PC機(jī)通過串口與控制子系統(tǒng)連接,可查看各模塊啟動(dòng)及運(yùn)行狀態(tài),如圖7所示。串口工具的連接可用作人機(jī)交互的一種方式。
打開手機(jī)APP,輸入用戶名、密碼,呈現(xiàn)功能顯示界面,分為文本區(qū)、視頻顯示區(qū)、按鍵區(qū)。文本區(qū)顯示各參數(shù),并周期性更新。視頻區(qū)顯示實(shí)驗(yàn)室的實(shí)時(shí)畫面。按鍵區(qū)可遠(yuǎn)程控制傳感器狀態(tài)信息顯示開關(guān)、實(shí)驗(yàn)室視頻監(jiān)控的開關(guān)、實(shí)驗(yàn)室門磁開關(guān)及退出監(jiān)控系統(tǒng)。圖8為APP的功能顯示界面。
實(shí)驗(yàn)室安防創(chuàng)新實(shí)驗(yàn)系統(tǒng)已在開放性創(chuàng)新實(shí)驗(yàn)中應(yīng)用,面向通信工程和信息工程兩個(gè)專業(yè)的學(xué)生。學(xué)生通過學(xué)習(xí)本實(shí)驗(yàn)課程,深刻領(lǐng)會(huì)智能安防系統(tǒng)的整體架構(gòu)、各子系統(tǒng)的功能劃分及所運(yùn)用的專業(yè)技術(shù)。同時(shí),設(shè)置分別偏重于嵌入式軟硬件、物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)、手機(jī)APP開發(fā)的實(shí)驗(yàn)項(xiàng)目,由學(xué)生自由選擇,既培養(yǎng)了學(xué)生綜合實(shí)踐能力,又達(dá)到了因材施教的目的。