數(shù)字化小區(qū)信息發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
隨著計(jì)算機(jī)技術(shù)、現(xiàn)代通信技術(shù)和自動(dòng)控制技術(shù)的迅速發(fā)展,中國(guó)大步跨入了信息化社會(huì),信息化社會(huì)在改變我們生活方式與工作習(xí)慣的同時(shí),也向傳統(tǒng)的住宅模式提出了挑戰(zhàn),對(duì)居住環(huán)境也就有了更高的要求,要求住宅更加智能化、數(shù)字化,更加人性化[1]。在這種情況下,小區(qū)物業(yè)信息發(fā)布系統(tǒng)成為數(shù)字化小區(qū)的必要配置,可視對(duì)講戶(hù)內(nèi)機(jī)作為小區(qū)信息發(fā)布系統(tǒng)的終端設(shè)備的更新?lián)Q代也勢(shì)在必行[2]。
當(dāng)前智能小區(qū)的信息發(fā)布系統(tǒng),用的較多的是電子廣告牌的形式,即在小區(qū)的重要路段和出入口處放置電子公告牌,將物業(yè)管理中心的通知在電子公告牌上顯示出來(lái),當(dāng)業(yè)主路過(guò)時(shí)就可以看到通知了。大屏幕電子公告牌需要中心計(jì)算機(jī)來(lái)進(jìn)行控制,采用的是專(zhuān)用軟件,布線一般也是獨(dú)立的。這種形式有一些缺點(diǎn):首先,信息在公告牌上要經(jīng)過(guò)較長(zhǎng)時(shí)間才能為所有業(yè)主所周知,這就造成了信息發(fā)布的信息量不可能很大;其次,電子公告牌的功耗較大,對(duì)資源造成浪費(fèi)。因而研究并開(kāi)發(fā)更為先進(jìn)的小區(qū)信息發(fā)布系統(tǒng)勢(shì)在必行,本課題正是基于這種需要而提出的。
2 系統(tǒng)分析
數(shù)字化小區(qū)信息發(fā)布系統(tǒng)主要包括四個(gè)部分,分別是上位機(jī)、管理機(jī)、門(mén)口機(jī)和室內(nèi)機(jī)。其中管理機(jī)和上位機(jī)放置于小區(qū)管理室中,小區(qū)管理人員在管理室操作上位機(jī),把所要發(fā)布的信息輸入到PC機(jī)內(nèi),上位機(jī)把發(fā)布信息通過(guò)串口發(fā)往管理機(jī),再由管理機(jī)發(fā)送到門(mén)口機(jī),然后由門(mén)口機(jī)轉(zhuǎn)發(fā)到室內(nèi)機(jī),最后在用戶(hù)機(jī)上顯示。就系統(tǒng)的主要功能信息發(fā)布而言,上位機(jī)是物業(yè)管理員進(jìn)行信息發(fā)布操作的平臺(tái);管理機(jī)和門(mén)口機(jī)是信息的轉(zhuǎn)發(fā)站;室內(nèi)機(jī)是信息的接收器,它收到信息后存儲(chǔ)并顯示,供用戶(hù)查閱。
2.1 系統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)
當(dāng)前大多數(shù)新建小區(qū)都安裝了樓宇可視對(duì)講系統(tǒng),通信總線一般采用RS-485或CAN總線等,并將樓宇可視對(duì)講、家庭安防、門(mén)禁以及周界等系統(tǒng)融入信息發(fā)布系統(tǒng)之內(nèi),以期達(dá)到節(jié)約布線投資、實(shí)現(xiàn)系統(tǒng)高度集成的目的[3]。
RS-485總線的通信可靠性不夠高、通信速率偏低、容量也不夠大、故障率高,無(wú)法滿(mǎn)足信息發(fā)布系統(tǒng)大信息量、高可靠性通信的要求,在進(jìn)行初步系統(tǒng)設(shè)計(jì)時(shí)已經(jīng)被我們排除在外了[4]。
CAN總線通信速率高、通信距離遠(yuǎn)、可靠性高,可以滿(mǎn)足信息發(fā)布系統(tǒng)的通信要求。
CAN總線上的節(jié)點(diǎn)數(shù)可達(dá)110個(gè),可以把管理機(jī)和所有的單元門(mén)口機(jī)通過(guò)一條CAN總線連接在一起,把每個(gè)單元內(nèi)的所有用戶(hù)機(jī)和門(mén)口機(jī)通過(guò)CAN總線連接在一起,則系統(tǒng)最大容量(用戶(hù)機(jī)數(shù))為10000多戶(hù),對(duì)于一般的智能小區(qū)應(yīng)用來(lái)說(shuō),這個(gè)容量是足夠的。管理機(jī)與上位機(jī)同處于小區(qū)管理室內(nèi),它們之間的距離較近,采用RS-232方式就可以滿(mǎn)足通信要求[5]。
2.2 系統(tǒng)的硬件設(shè)計(jì)
2.2.1系統(tǒng)總體硬件設(shè)計(jì)
系統(tǒng)是由小區(qū)信息發(fā)布系統(tǒng)、家庭安防系統(tǒng)、樓宇可視對(duì)講系統(tǒng)、門(mén)禁管理系統(tǒng)、周界防范系統(tǒng)等幾個(gè)子系統(tǒng)。整個(gè)系統(tǒng)的框圖如圖1所示。
500)this.style.width=500;" border="0" />
從圖中可以看出,整個(gè)系統(tǒng)由上位機(jī)、管理機(jī)、門(mén)口機(jī)、室內(nèi)機(jī)、周界控制器、門(mén)禁控制器以及門(mén)禁加卡器等幾個(gè)部分組成。其中上位機(jī)、管理機(jī)以及門(mén)禁加卡器處于小區(qū)管理室內(nèi),周界控制器安裝在小區(qū)的周邊,門(mén)口機(jī)安裝在每個(gè)單元的門(mén)口,用戶(hù)機(jī)放在用戶(hù)室內(nèi),而門(mén)禁控制器則外掛在門(mén)口機(jī)上。系統(tǒng)外總線把管理機(jī)、周界控制器、門(mén)禁加卡器、門(mén)口機(jī)連接在一起;系統(tǒng)內(nèi)總線處于一個(gè)單元內(nèi)部,它把該單元門(mén)口機(jī)和所有的用戶(hù)機(jī)連接起來(lái)。
系統(tǒng)內(nèi)、外總線均由五條線組成,分別是電源線R、地線B、通話線G、通信線CANH和通信線CANL。視頻信號(hào)須另外布線,例如室內(nèi)機(jī)需要可視功能,則系統(tǒng)內(nèi)總線再加三條線(視頻電源、視頻地和視頻線),對(duì)于外總線也是一樣的做法。
2.2.2 用戶(hù)機(jī)硬件設(shè)計(jì)
在用戶(hù)機(jī)中,需要著重提到的是液晶顯示模塊,它是數(shù)字化區(qū)信息發(fā)布系統(tǒng)的信息顯示載體。液晶模塊與CPU三線連接,采用串行方式通信,節(jié)約了CPU的資源。信息存儲(chǔ)在串行EEPROM中,當(dāng)用戶(hù)按下按鍵查看信息時(shí),CPU從存儲(chǔ)器中讀取信息,并在液晶模塊上顯示。
存儲(chǔ)器中除了存儲(chǔ)信息發(fā)布的信息外,還有一些固定的參數(shù),比如:層號(hào)、房間號(hào)、撤布防的密碼、振鈴時(shí)間、主碼等,這些參數(shù)均可以通過(guò)鍵盤(pán)進(jìn)行軟設(shè)定。采用軟件設(shè)置的辦法,避免了采用跳線或撥碼開(kāi)關(guān)進(jìn)行參數(shù)設(shè)置的傳統(tǒng)做法。用戶(hù)機(jī)框圖如圖2所示。
500)this.style.width=500;" border="0" />
鍵盤(pán)完成的功能主要有:呼叫、開(kāi)鎖、設(shè)定參數(shù)、信息翻屏、撤布防等。報(bào)警輸入模塊接收來(lái)自傳感器的信號(hào)。CPU接收到報(bào)警信號(hào)后通過(guò)CAN總線上傳,最終到達(dá)上位機(jī)。用戶(hù)機(jī)的其它功能模塊比較簡(jiǎn)單,限于篇幅,這里就不再做過(guò)多敘述了。
2.3 智能小區(qū)管理軟件的實(shí)現(xiàn)
2.3.1 打開(kāi)串口
使用函數(shù)CreateFile()打開(kāi)串口。其聲明如下:
HANDLE CreateFile(
LPCTSTR lpFileName, //指向文件或串口的指針
DWORD dwDesiredAccess, //讀寫(xiě)模式
DWORD dwShareMode, //共享方式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全屬性
DWORD dwCreationDistribution,//創(chuàng)建方式
DWORD dwFlagsAndAttributes, //文件屬性
HANDLE hTemplateFile); // 用于拷貝文件屬性的句柄
2.3.2 關(guān)閉串口
關(guān)閉串口比打開(kāi)串口要簡(jiǎn)單得多,只需要調(diào)用CloseHandle()函數(shù)關(guān)閉由CreateHandle()函數(shù)返回的句柄即可。CloseHandle函數(shù)的聲明如下:
BOOL CloseHandle(
HANDLE hObject;) //指向串口的句柄
2.3.3 異步操作
異步(重疊)I/O操作是指應(yīng)用程序可以在后臺(tái)讀或者寫(xiě)數(shù)據(jù),而在前臺(tái)做其他事件。首先介紹一個(gè)結(jié)構(gòu)OVERLAPPED,這個(gè)結(jié)構(gòu)對(duì)于執(zhí)行串口的異步操作來(lái)說(shuō)是必需的。其定義如下:
typedef struct _OVERLAPPED{
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED;
在這個(gè)結(jié)構(gòu)中,前兩個(gè)參數(shù)為操作系統(tǒng)所保留。接下來(lái)的兩個(gè)參數(shù)在對(duì)串口操作時(shí)是無(wú)效的。對(duì)于串行口而言?xún)HhEvent成員有效,其余成員必須為0。在設(shè)置了異步I/O操作后,I/O操作和函數(shù)返回有以下兩種情況:當(dāng)函數(shù)返回時(shí)I/O操作已經(jīng)完成,此時(shí)結(jié)果好像是同步執(zhí)行的,但實(shí)際上這是異步執(zhí)行的結(jié)果。當(dāng)函數(shù)返回時(shí)I/O操作還沒(méi)有完成,此時(shí)一方面,函數(shù)返回值為零,并且GetLastError()函數(shù)返回ERROR_IO_PENDING;另一方面,系統(tǒng)將OVERLAPPED中的信號(hào)事件設(shè)為無(wú)信號(hào)狀態(tài)。I/O操作完成時(shí),系統(tǒng)要把它設(shè)置為有信號(hào)狀態(tài)。異步I/O操作的結(jié)果可以由GetOverLappedResult()函數(shù)來(lái)獲取,也可以使用Windows的信號(hào)函數(shù)來(lái)處理。
3 結(jié)束語(yǔ)
通過(guò)對(duì)系統(tǒng)進(jìn)行詳細(xì)分析和功能設(shè)計(jì),采用 CAN總線和C++ 技術(shù),縮短了系統(tǒng)的開(kāi)發(fā)周期,提高了開(kāi)發(fā)者的效率,實(shí)現(xiàn)了功能強(qiáng)大而又比較靈活的小區(qū)信息發(fā)布系統(tǒng)。本系統(tǒng)經(jīng)過(guò)測(cè)試,包括軟件仿真和系統(tǒng)聯(lián)機(jī)調(diào)試,結(jié)果證明這種信息發(fā)布的方案是可行的。相信隨著數(shù)字化社區(qū)的不斷發(fā)展,其應(yīng)用前景也將越來(lái)越廣泛。
4 創(chuàng)新點(diǎn)總結(jié)
本文的創(chuàng)新點(diǎn)在于提出了一種新的小區(qū)信息發(fā)布的方案。CAN總線通信速率高、通信距離遠(yuǎn)、可靠性高,可以滿(mǎn)足信息發(fā)布系統(tǒng)的通信要求。將CAN總線技術(shù)應(yīng)用于信息發(fā)布,改變了以往電子公告牌靜態(tài)的發(fā)布模式,具有高度的靈活性和廣泛的實(shí)適用性。