金巧芳1,,丁越峰2,,韋玉生2
(1.紹興職業(yè)技術(shù)學(xué)院,浙江 紹興 312000,;2.中廣有線紹興分公司,浙江 紹興 312000)
摘要:介紹了一種基于GPRS的小區(qū)機(jī)房監(jiān)控系統(tǒng),。本系統(tǒng)由數(shù)據(jù)采集模塊、GPRS網(wǎng)絡(luò)傳輸模塊,、監(jiān)控服務(wù)器組成,,采用自行設(shè)計(jì)的數(shù)據(jù)采集模塊和監(jiān)控通信協(xié)議,以較低的成本和較高的精度實(shí)現(xiàn)了小區(qū)機(jī)房的監(jiān)控,。本系統(tǒng)極大地提高了機(jī)房監(jiān)控的實(shí)時(shí)性和連續(xù)性,,能夠真實(shí)地反映機(jī)房的情況,為廣電機(jī)房的監(jiān)控提供了實(shí)時(shí)可靠的數(shù)據(jù)依據(jù)。本系統(tǒng)運(yùn)行和維護(hù)費(fèi)用較低,,能節(jié)省大量的財(cái)力,、物力和人力,具有良好的應(yīng)用價(jià)值,。
關(guān)鍵詞:GPRS,;監(jiān)控;通信協(xié)議,;數(shù)據(jù)傳輸
0引言
感知技術(shù),、網(wǎng)絡(luò)技術(shù)、通信技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展,,將物聯(lián)網(wǎng)應(yīng)用推廣到遠(yuǎn)程監(jiān)控領(lǐng)域,,使多種網(wǎng)絡(luò)技術(shù)和遠(yuǎn)程監(jiān)控系統(tǒng)相結(jié)合是當(dāng)今物聯(lián)網(wǎng)應(yīng)用領(lǐng)域的一個(gè)發(fā)展趨勢(shì)。遠(yuǎn)程監(jiān)控系統(tǒng)是指在遠(yuǎn)離被控對(duì)象的情況下,,能夠及時(shí)獲知被控對(duì)象的工作狀況,,必要時(shí)發(fā)出指令對(duì)其進(jìn)行遙控的系統(tǒng)。遠(yuǎn)程監(jiān)控系統(tǒng)的出現(xiàn),,使工作人員不需要到達(dá)現(xiàn)場(chǎng),,只要在監(jiān)控中心就能夠掌握全局,實(shí)時(shí)獲取被控對(duì)象的詳細(xì)情況,,迅速作出決策并有效地執(zhí)行,,大大提高了工作效率,節(jié)省了人力物力,,也提高了系統(tǒng)對(duì)突發(fā)事件的應(yīng)變能力,。
機(jī)房監(jiān)控成熟的方案很多,一般均使用寬帶專網(wǎng)的方式進(jìn)行組網(wǎng),,在這里為什么要選擇窄帶的GPRS技術(shù)呢?這與監(jiān)控對(duì)象的需求和整體投入費(fèi)用等因素有關(guān),。
小區(qū)接入機(jī)房的特點(diǎn)是數(shù)量龐大,,機(jī)房?jī)?nèi)設(shè)備少,或者僅僅是無源光分配機(jī)房,,需監(jiān)控項(xiàng)目很少,,也不配備視頻監(jiān)控。在這種情況下若采用廣電自有技術(shù)如Cable Modem,、PON等來建成寬帶專網(wǎng),,必然存在大材小用、浪費(fèi)資源的問題,,而且RJ45接口的監(jiān)控主機(jī)價(jià)格較高,,而若采用GPRS技術(shù)組網(wǎng)和單片機(jī)的控制,利用電信運(yùn)營(yíng)商的數(shù)據(jù)套餐,可實(shí)現(xiàn)低成本的組網(wǎng)[1],。一般地,,用GPRS組網(wǎng)方式的設(shè)備投入建設(shè)費(fèi)用可降到寬帶網(wǎng)絡(luò)的1/10,年網(wǎng)絡(luò)租用費(fèi)用約為寬帶專網(wǎng)資源占用費(fèi)的1/5。
另外用GPRS組網(wǎng)方式可以擴(kuò)展到雙向網(wǎng)絡(luò)條件不具備的接入機(jī)房,,地域適應(yīng)性更強(qiáng),。
1監(jiān)控網(wǎng)絡(luò)組網(wǎng)及通信協(xié)議
圖1所示為基于GPRS網(wǎng)絡(luò)組網(wǎng)的小區(qū)接入機(jī)房監(jiān)控組網(wǎng)圖。左側(cè)為接入機(jī)房的部分監(jiān)控參量描述,,這些參量通過單片機(jī)處理后通過RS232串口上傳給GPRS模塊,,再通過GPRS網(wǎng)絡(luò)、Internet后到達(dá)監(jiān)控服務(wù)器[2],。數(shù)百上千個(gè)接入機(jī)房的參數(shù)就通過這種方式上傳并匯聚到監(jiān)控服務(wù)器,。
同樣,監(jiān)控服務(wù)器的指令通過Internet,、GPRS網(wǎng)絡(luò),,再由GPRS模塊的串口下達(dá)至指定單片機(jī),由對(duì)應(yīng)單片機(jī)進(jìn)行相應(yīng)的操作,,如遠(yuǎn)程開啟機(jī)房門,、遠(yuǎn)程開燈關(guān)燈等。
通用分組無線業(yè)務(wù)(General Packet Service,,GPRS)[34]是在GSM的基礎(chǔ)上發(fā)展起來的一種分組交換的數(shù)據(jù)承載和傳輸方式,。GPRS支持Internet上應(yīng)用最廣泛的IP協(xié)議和X.25協(xié)議。
由于本項(xiàng)目包含監(jiān)控服務(wù)器與GPRS模塊間的TCP/IP通信,,監(jiān)控服務(wù)器與單片機(jī)系統(tǒng)的數(shù)據(jù)通信,、GPRS模塊與單片機(jī)之間的串口通信;涉及Windows系統(tǒng)編程,、單片機(jī)編程[5]以及單片機(jī)電路的設(shè)計(jì)制作調(diào)試等,,專業(yè)領(lǐng)域跨度特別大,因此整個(gè)過程的設(shè)計(jì)和實(shí)施必須以通信協(xié)議為基礎(chǔ)實(shí)現(xiàn)團(tuán)隊(duì)的分工合作,。
考慮到實(shí)際通信協(xié)議內(nèi)容較多,,表1列舉了部分內(nèi)容作說明。 表1監(jiān)控系統(tǒng)通信協(xié)議序號(hào)指令代碼備注1開門onled12開燈onled23關(guān)燈offled24心跳ok!5讀狀態(tài)信息state服務(wù)器發(fā),、單片機(jī)接收指令,,下發(fā)指令全部用小寫字母序號(hào)信息代碼備注1門已開啟ONLED12已開燈ONLED23第一路正常KEY1=04第一路異常KEY1=15地址標(biāo)識(shí)ADDR:XXXX單片機(jī)發(fā)、服務(wù)器接收信息,,應(yīng)答信息全部用大寫字母
如單片機(jī)收到“onled2”,,就要控制繼電器接通照明燈,同時(shí)返回信息“ONLED2”,;監(jiān)控主機(jī)上電后,,在TCP/IP鏈路創(chuàng)建成功后,,單片機(jī)要向主機(jī)發(fā)送“ADDR:XXXX”,以告知監(jiān)控服務(wù)器自己是XXXX(4位編號(hào))機(jī)房,,現(xiàn)已上線,。
2監(jiān)控服務(wù)器的配置及軟件設(shè)計(jì)
由于監(jiān)控服務(wù)器要接收通過Internet發(fā)來的IP數(shù)據(jù)包,小區(qū)接入機(jī)房的監(jiān)控主機(jī)要以TCP/IP方式與之創(chuàng)建連接,,因此監(jiān)控主機(jī)需要規(guī)劃一個(gè)固定的公網(wǎng)IP地址,。作為建設(shè)期間臨時(shí)調(diào)試階段,也可采用臨時(shí)公網(wǎng)IP或花生殼動(dòng)態(tài)域名方式,。
監(jiān)控服務(wù)器需要實(shí)時(shí)記錄每天每個(gè)機(jī)房實(shí)時(shí)上報(bào)的機(jī)房狀態(tài)信息,,記錄小區(qū)機(jī)房人員進(jìn)出開門記錄等,供管理查詢分析使用,,所以服務(wù)器需安裝數(shù)據(jù)庫(kù),,根據(jù)需要可選用SQL Server 或MySQL。
本項(xiàng)目的軟件設(shè)計(jì)采用我國(guó)自主知識(shí)產(chǎn)權(quán)的易語(yǔ)言平臺(tái)開發(fā),,圖2所示為監(jiān)控服務(wù)器與小區(qū)機(jī)房監(jiān)控主機(jī)聯(lián)調(diào)時(shí)的測(cè)試界面截圖,。
圖2中左側(cè)為TCP/IP通信過程中實(shí)時(shí)傳送的數(shù)據(jù),可以驗(yàn)證程序是否按通信協(xié)議嚴(yán)格執(zhí)行,。圖2右側(cè)為機(jī)房監(jiān)控參數(shù)狀態(tài)的模擬顯示,。
3GPRS模塊選型及TCP連接的創(chuàng)建
小區(qū)機(jī)房的監(jiān)控主機(jī)采用嵌入式系統(tǒng),由華為公司的EM310模塊和單片機(jī)電路組成,。EM310模塊是一款內(nèi)嵌TCP/IP通信協(xié)議的雙頻段GSM/GPRS模塊,,支持?jǐn)?shù)據(jù)的透明傳輸。本項(xiàng)目中GPRS模塊的任務(wù)就是與監(jiān)控服務(wù)器創(chuàng)建可靠的TCP/IP透明傳輸通道,。
創(chuàng)建TCP/IP通道使用AT指令,,調(diào)試時(shí)可使用串口調(diào)試助手進(jìn)行。建立TCP連接的基本步驟如下:
AT+CGDCONT=1,"IP","CMNET"
//設(shè)置APN無線接入點(diǎn),,成功返回OK
AT%ETCPIP="",""
//進(jìn)行PPP撥號(hào),,成功返回OK
AT%IOMODE=1//對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,成功返回OK
AT%IPOPEN="TCP","120.199.217.155",9876
//以TCP方式連接監(jiān)控服務(wù)器的IP和端口,,成功返回CONNECT
AT%TPS=1 //進(jìn)入透?jìng)髂J?,成功返回?gt;”號(hào)
GPRS模塊是本項(xiàng)目組網(wǎng)的核心部件,網(wǎng)絡(luò)的穩(wěn)定性也取決于該模塊創(chuàng)建的TCP/IP連接的可靠性及異常中斷下的快速恢復(fù)能力,。所以對(duì)GPRS模塊連接的可靠性測(cè)試十分重要,特別是模塊選型時(shí),,主要包括以下幾項(xiàng)內(nèi)容:
?。?)在線空閑測(cè)試。即不發(fā)心跳包或數(shù)據(jù),,檢測(cè)能否維持平均1 h以上的鏈路而不中斷,。維持時(shí)間越長(zhǎng)越好。
(2)頻繁雙向小數(shù)據(jù)量測(cè)試,。相當(dāng)于模擬日常運(yùn)行中的小數(shù)據(jù)包,,加快速度測(cè)試,檢查中斷情況,。
?。?)雙向大數(shù)據(jù)壓力測(cè)試。本項(xiàng)目雖然不涉及大數(shù)據(jù)傳輸,,但此方法可反映出模塊的穩(wěn)定性,。
(4)去天線測(cè)試,。檢測(cè)當(dāng)GPRS/GSM信號(hào)臨時(shí)中斷或變?nèi)鯐r(shí)是否會(huì)產(chǎn)生中斷,。
上述測(cè)試可在串口調(diào)試助手下進(jìn)行,但真正完整的測(cè)試還需要由單片機(jī)編程來測(cè)試,,其中一項(xiàng)很重要的內(nèi)容是上述產(chǎn)生TCP連接中斷后多長(zhǎng)時(shí)間恢復(fù)連接,。
4單片機(jī)外圍電路設(shè)計(jì)及軟件設(shè)計(jì)
單片機(jī)系統(tǒng)是小區(qū)機(jī)房監(jiān)控主機(jī)檢測(cè)參數(shù)、執(zhí)行指令及與監(jiān)控服務(wù)器聯(lián)絡(luò)的綜合單元,,作為本項(xiàng)目的研發(fā),,采用了8051系列單片機(jī)制作了一個(gè)最小系統(tǒng),包含4個(gè)按鈕輸入,、4個(gè)指示燈,、1個(gè)溫度芯片和1個(gè)RS232串口。用按鈕輸入代替報(bào)警信號(hào)輸入(如市電斷電,、機(jī)房進(jìn)水等),,指示燈代表控制輸出(如遠(yuǎn)程開門、遠(yuǎn)程開風(fēng)扇通風(fēng)等),。單片機(jī)芯片使用STC公司的STC89C52RC芯片,,可利用RS232串口在線直接下載程序。
單片機(jī)編程采用C語(yǔ)言,,通過Keil軟件編譯成8051單片機(jī)目標(biāo)碼和十六進(jìn)制HEX文件,,將HEX文件通過串口下載到芯片中。
單片機(jī)軟件程序框圖如圖3所示,。
由圖3可看出,,監(jiān)控主機(jī)上電啟動(dòng)后,由單片機(jī)發(fā)出AT指令建立TCP/IP連接,,而后監(jiān)控主機(jī)并進(jìn)入等待狀態(tài),。在等待狀態(tài)若發(fā)現(xiàn)有串口指令,則執(zhí)行指令,,并通過串口上報(bào)執(zhí)行結(jié)果(如已開門,、已開燈等),;若發(fā)現(xiàn)有機(jī)房告警,則將告警信息通過串口上報(bào),;機(jī)房溫度是定時(shí)上傳的,,所以到上傳時(shí)間時(shí),則通過串口上報(bào)當(dāng)前溫度,。
GPRS雖然號(hào)稱永久在線,,但實(shí)際情況并非如此,由于網(wǎng)絡(luò)干擾,、電路設(shè)計(jì)及其他一些原因,,都會(huì)導(dǎo)致網(wǎng)絡(luò)中斷,而這些中斷監(jiān)控服務(wù)器往往無法及時(shí)發(fā)現(xiàn),,因此,,快速發(fā)現(xiàn)網(wǎng)絡(luò)異常并重新連接非常重要。
為保證TCP連接的可靠性,,軟件框圖中增加了異常判斷和處理的內(nèi)容,,即當(dāng)出現(xiàn)心跳碼超時(shí)沒收到時(shí),定時(shí)器溢出驅(qū)動(dòng)電路重啟監(jiān)控主機(jī),;當(dāng)由于干擾等因素導(dǎo)致單片機(jī)程序跑飛時(shí),,看門狗計(jì)數(shù)器溢出同樣驅(qū)動(dòng)電路重啟監(jiān)控主機(jī),以使系統(tǒng)重新連接[6],。
5系統(tǒng)調(diào)試
系統(tǒng)調(diào)試分為模塊單獨(dú)調(diào)試和系統(tǒng)聯(lián)調(diào),,要進(jìn)行系統(tǒng)聯(lián)調(diào),要求各模塊的功能基本正常,。
監(jiān)控服務(wù)器通信功能驗(yàn)證可在一臺(tái)或多臺(tái)PC上開啟多個(gè)TCP/IP的客戶端軟件,,按通信協(xié)議的格式向服務(wù)器端上報(bào)告警信息、當(dāng)前溫度或執(zhí)行指令后的回復(fù)信息,,查看服務(wù)器端是否能正常接收并以圖形方式模擬顯示,;同樣服務(wù)器端通過操作圖形界面分別對(duì)不同的客戶端發(fā)送指令,檢查客戶端收到的指令是否符合通信協(xié)議規(guī)范,,以此方式驗(yàn)證監(jiān)控服務(wù)器的通信功能,。
GPRS模塊的調(diào)試使用串口調(diào)試助手和通用的TCP/IP服務(wù)端軟件,服務(wù)器端使用臨時(shí)公網(wǎng)IP地址,,端口為9876,,驗(yàn)證TCP/IP連接是否成功,透明傳輸數(shù)據(jù)是否正常,。
單片機(jī)的通信調(diào)試也使用串口調(diào)試助手進(jìn)行,。按照通信協(xié)議的規(guī)范,由串口調(diào)試助手向單片機(jī)系統(tǒng)發(fā)送指令,,檢測(cè)單片機(jī)收到的格式,、執(zhí)行情況和上報(bào)信息的格式是否正常;同時(shí)利用單片機(jī)的按鍵制造報(bào)警事件,,看是否收到符合協(xié)議格式要求的報(bào)警,。
在各模塊單獨(dú)調(diào)試正常(或部分功能正常)后,可進(jìn)行相連模塊或系統(tǒng)的聯(lián)調(diào),。調(diào)試仍以通信協(xié)議為依據(jù),,檢查收發(fā)數(shù)據(jù)是否有效傳遞和執(zhí)行。
系統(tǒng)調(diào)試除保證通信功能正常外,,最重要的內(nèi)容是通過優(yōu)化單片機(jī)軟件來提升網(wǎng)絡(luò)可靠性,,以及異常(TCP中斷)情況下的快速重新連接。
6結(jié)論
本監(jiān)控項(xiàng)目為中廣有線紹興分公司與紹興職業(yè)技術(shù)學(xué)院校企合作項(xiàng)目,,是針對(duì)公司分布各處的600多個(gè)小區(qū)接入機(jī)房而設(shè)計(jì),、研發(fā)的項(xiàng)目。研發(fā)成果除可應(yīng)用于公司小區(qū)機(jī)房監(jiān)控外,,也可應(yīng)用于學(xué)院的教學(xué),。
由于本項(xiàng)目的監(jiān)控是針對(duì)本地小區(qū)接入網(wǎng)機(jī)房,監(jiān)控內(nèi)容為動(dòng)力環(huán)境參數(shù),,因此GPRS組網(wǎng)的整體流量有限,,采用適當(dāng)套餐后的網(wǎng)絡(luò)費(fèi)用也會(huì)在較低水平。但如果要在小區(qū)機(jī)房增加視頻監(jiān)控,,一方面帶寬的限制會(huì)導(dǎo)致圖像不流暢,,另外網(wǎng)絡(luò)流量費(fèi)用也會(huì)大增,因此本方案不適合視頻監(jiān)控場(chǎng)合,。
參考文獻(xiàn)
?。?] 郭銳,徐玉斌.一種基于GPRS 的遠(yuǎn)程監(jiān)控系統(tǒng)[J].太原科技大學(xué)學(xué)報(bào),,2006,,27(5):352 357.
[2] 張鋒,劉美.基于嵌入式與物聯(lián)網(wǎng)技術(shù)的城市綠化在線監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,40(7):1316,20.