田茂明 吳 芳 山東省新泰市建筑安裝工程有限公司,新泰 721000
智慧住區(qū)以智慧社區(qū)各類軟硬件設(shè)施為依托,以住區(qū)主體為服務(wù)對(duì)象,以住區(qū)智慧服務(wù)為主要內(nèi)容,滿足住區(qū)居民多方面生活需求,提升住區(qū)居民生活質(zhì)量。可視對(duì)講系統(tǒng)是智慧住區(qū)必不可少的基礎(chǔ)設(shè)施,關(guān)系到住區(qū)最為重要的安全性問(wèn)題,其智能化、信息化水平也與住區(qū)的便利性緊密相關(guān)。同時(shí),可視對(duì)講系統(tǒng)已經(jīng)成為安防系統(tǒng)最為重要的一部分。為此,山東省綠色智慧住區(qū)評(píng)價(jià)指標(biāo)體系也明確提出“單元門口設(shè)有門禁系統(tǒng),支持與住區(qū)平臺(tái)聯(lián)動(dòng)”的方向。
遠(yuǎn)程可視對(duì)講監(jiān)控系統(tǒng)主要包括傳統(tǒng)數(shù)字可視對(duì)講系統(tǒng)、遠(yuǎn)程端服務(wù)器、嵌入式子系統(tǒng),其中嵌入式子系統(tǒng)包括數(shù)據(jù)轉(zhuǎn)接模塊和命令轉(zhuǎn)接模塊,采用嵌入式技術(shù)開發(fā)。
該系統(tǒng)以一種低成本的方式對(duì)傳統(tǒng)已安裝的或正在安裝的非遠(yuǎn)程數(shù)字式可視對(duì)講系統(tǒng)進(jìn)行改造。兩模塊在可視對(duì)講系統(tǒng)內(nèi)通過(guò)不同的端口號(hào)分別接收和發(fā)送不同的數(shù)據(jù),命令轉(zhuǎn)接模塊負(fù)責(zé)傳遞系統(tǒng)內(nèi)所有的命令數(shù)據(jù),包括開鎖、應(yīng)答、監(jiān)視、結(jié)束通話等命令;數(shù)據(jù)轉(zhuǎn)接模塊負(fù)責(zé)將視頻音頻信號(hào)轉(zhuǎn)發(fā)存儲(chǔ)到數(shù)據(jù)庫(kù)中,客戶端訪問(wèn)這些數(shù)據(jù)即實(shí)現(xiàn)遠(yuǎn)程可視對(duì)講。其架構(gòu)圖如圖1所示。
遠(yuǎn)程可視對(duì)講系統(tǒng)運(yùn)行主要分為兩個(gè)流程:數(shù)據(jù)推送和命令下達(dá)。當(dāng)來(lái)訪者按下單元機(jī)相應(yīng)門牌號(hào)時(shí),數(shù)據(jù)傳送至室內(nèi)機(jī),室內(nèi)機(jī)響鈴。同時(shí),將來(lái)訪者信息上報(bào)至服務(wù)器,服務(wù)器解析數(shù)據(jù)并存儲(chǔ)至數(shù)據(jù)庫(kù)。確認(rèn)后客戶端與服務(wù)器建立通信,開始傳輸音視頻信號(hào),客戶端通過(guò)調(diào)用庫(kù)函數(shù)進(jìn)行視頻解碼播放,同時(shí)調(diào)用本地?cái)z像頭API獲取本地視頻,經(jīng)壓縮后傳送至服務(wù)器。當(dāng)客戶確認(rèn)來(lái)訪者身份后,客戶端發(fā)送開鎖命令至直服務(wù)器,從而下達(dá)至可視對(duì)講局域網(wǎng),單元機(jī)確認(rèn)信息后,開鎖。其命令下達(dá)流程圖如圖2所示。
圖1 遠(yuǎn)程可視對(duì)講系統(tǒng)框架圖
嵌入式子系統(tǒng)的命令轉(zhuǎn)接模塊和數(shù)據(jù)轉(zhuǎn)接模塊均采用相同的硬件設(shè)計(jì),包括一個(gè)處理器和兩個(gè)網(wǎng)絡(luò)模塊。處理器采用STM32F103xx芯片,外設(shè)通過(guò)總線相互連接;網(wǎng)絡(luò)模塊一個(gè)與可視對(duì)講系統(tǒng)相連接,一個(gè)與互聯(lián)網(wǎng)相連接,進(jìn)行數(shù)據(jù)交互,轉(zhuǎn)接模塊的結(jié)構(gòu)如圖3所示。
圖2 命令下達(dá)流程圖
圖3 轉(zhuǎn)接模塊硬件結(jié)構(gòu)
嵌入式子系統(tǒng)的內(nèi)核采用ARM最新的Cortex-M3內(nèi)核。優(yōu)先級(jí)搶占的中斷控制器,支持中斷自動(dòng)嵌套,硬件完成現(xiàn)場(chǎng)保護(hù)與恢復(fù),中斷嵌套時(shí),只需保護(hù)和恢復(fù)一次現(xiàn)場(chǎng),即使在恢復(fù)現(xiàn)場(chǎng)的時(shí)候再次中斷也不需要再次保護(hù)現(xiàn)場(chǎng),只需6個(gè)clk的調(diào)整時(shí)間。具有5個(gè)USART串口,USART速度高達(dá)4.5Mbps,不僅支持IrDA,還與接觸式的IC卡協(xié)議兼容,其可靠性和穩(wěn)定性也可以滿足可視對(duì)講系統(tǒng)的功能要求。嵌入式子系統(tǒng)兩個(gè)串口轉(zhuǎn)以太網(wǎng)模塊和無(wú)線透?jìng)髂K分別接到單片機(jī)的USART1、USART2、USART3上。USART1口網(wǎng)絡(luò)模塊連接到可視對(duì)講系統(tǒng),USART2口網(wǎng)絡(luò)模塊連接到互聯(lián)網(wǎng)系統(tǒng),USART3口無(wú)線透?jìng)髂K與物聯(lián)網(wǎng)系統(tǒng)相連。
串口轉(zhuǎn)以太網(wǎng)模塊采用HS-ENG092B網(wǎng)絡(luò)模塊,該模塊具有穩(wěn)定性高,通訊速度快等特點(diǎn),數(shù)據(jù)傳輸支持UDP組播模式,符合轉(zhuǎn)接模塊的要求,應(yīng)用此模塊,可大量減少工作量。由于數(shù)據(jù)以組播方式傳輸,命令模塊可視對(duì)講端的串口以太網(wǎng)模塊對(duì)于本地IP地址沒(méi)有特殊要求,可自動(dòng)獲取IP地址,其目的是IP設(shè)為組播地址。加入組播后,端口號(hào)設(shè)置為可視對(duì)講系統(tǒng)內(nèi)部端口號(hào),即可接收整個(gè)可視對(duì)講內(nèi)所有的命令數(shù)據(jù)包,并且實(shí)現(xiàn)發(fā)送命令數(shù)據(jù)包。命令模塊的互聯(lián)網(wǎng)端的目的IP則設(shè)置為服務(wù)器IP,為保證通訊質(zhì)量,采用TCP模式傳輸數(shù)據(jù)。
在可視對(duì)講系統(tǒng)中,采用無(wú)線網(wǎng)絡(luò)技術(shù)可更加符合網(wǎng)絡(luò)簡(jiǎn)潔性、靈活性、模塊化、擴(kuò)展性及獨(dú)立性的通信特點(diǎn),因此,特安裝無(wú)線模塊,這樣子系統(tǒng)不僅可以和互聯(lián)網(wǎng)直接通信,在接線不方便情況下,可以與物聯(lián)網(wǎng)結(jié)點(diǎn)等智能家居設(shè)備直接進(jìn)行通信,通過(guò)物聯(lián)網(wǎng)系統(tǒng)控制可視對(duì)講系統(tǒng)。可視對(duì)講系統(tǒng)由于其工作環(huán)境的復(fù)雜性,射頻通信芯片選用傳送能力較強(qiáng)的CC1101控制芯片。
硬件搭建完成后,嵌入式子系統(tǒng)首先進(jìn)行初始化,其主要內(nèi)容是串口初始化、時(shí)鐘初始化等。當(dāng)串口接到數(shù)據(jù)時(shí),則判斷數(shù)據(jù)格式,判斷為真則進(jìn)入中斷。
嵌入式子系統(tǒng)特別是數(shù)據(jù)轉(zhuǎn)接模塊通信數(shù)據(jù)量巨大,因此對(duì)于中斷程序做了較高的要求,進(jìn)入中斷判斷數(shù)據(jù)位較少則可能同一個(gè)數(shù)據(jù)包多次進(jìn)入中斷,判斷數(shù)據(jù)較多則影響單片機(jī)處理效率。經(jīng)過(guò)測(cè)試,兩級(jí)判斷計(jì)入中斷的方式不僅能滿足上述要求,還極大地提高了處理器的運(yùn)行效率,以高效的方式過(guò)濾掉非法數(shù)據(jù)包。第一級(jí)中斷判斷數(shù)據(jù)包前三位是否為數(shù)據(jù)包包頭前三位,再進(jìn)入二級(jí)判斷整個(gè)數(shù)據(jù)包合法,最后標(biāo)志位置一,處理數(shù)據(jù)。
數(shù)據(jù)模塊和命令模塊流程相似,所以本文只論述命令模塊的設(shè)計(jì)。其功能為將USART1接收到的數(shù)據(jù),按照可視對(duì)講數(shù)據(jù)包格式提取發(fā)送方地址、發(fā)送方IP地址、接收方地址、接收方IP地址等信息,再將這些信息以一定格式將數(shù)據(jù)向USART2和USART3發(fā)送。同樣地也將USART2接收到互聯(lián)網(wǎng)發(fā)送的可視對(duì)講內(nèi)部數(shù)據(jù)和USART3接收到的無(wú)線信號(hào)數(shù)據(jù)提取出來(lái),并按照可視對(duì)講數(shù)據(jù)包的格式向USART1中發(fā)送。
命令轉(zhuǎn)接模塊上行協(xié)議格式表