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