999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Delphi IND Y控件的GPRS無線視頻通信程序在山洪災害預警系統(tǒng)中的應用

2012-07-14 07:28:10鐘志武
湖南水利水電 2012年3期

鐘志武

(湖南省水利水電勘測設計研究總院 長沙市 410007)

1 系統(tǒng)簡介

本系統(tǒng)作為山洪災害預警系統(tǒng)的一部分,主要負責接收雨量水位監(jiān)測站通過無線GPRS網絡發(fā)送過來的數(shù)據(jù),包括雨量數(shù)據(jù)、水位數(shù)據(jù)、電瓶電壓數(shù)據(jù)和監(jiān)測站(水庫、河道和閘壩等)監(jiān)控無線視頻圖片信息。

系統(tǒng)在Windows環(huán)境下用Delphi 7編寫,數(shù)據(jù)庫采用MS SQL Server 2005。下位機采用基于ARM9處理器(三星 S3C2410)的HYKJ-2410 Arm-PC104嵌入式工業(yè)計算機主板設計,配置HYKJ-GPRS V5.0通信模塊,預裝linux操作系統(tǒng),采用C語言編程,采用TCP/IP協(xié)議與上位機程序(本系統(tǒng))通訊。下位機采用太陽能電源供電(配置38 Ah電瓶和13 W太陽能電板),連接雨量傳感器、水位傳感器和視頻攝像頭。數(shù)據(jù)傳輸采用公共的GPRS網絡,具有組網方便、實時性高、運行費用低等優(yōu)點。

2 系統(tǒng)設計

2.1 編程原理與系統(tǒng)流程

Indy 的全名是 Internet Direct(也叫 Winshoes),它是一套開放源代碼的Internet控件集,它支持大部分流行的Internet協(xié)議。IdTCPServer控件是Indy控件系列中基于TCP/IP協(xié)議的TCP服務器控件。IdTCPServer是一個多線程控件。IdTCPServer在開始工作后,首先會自動建立一個偵聽線程TidListenerThread,該線程負責偵聽客戶端的連接請求,Server端首先是響應客戶的Connect事件,一旦連接了,就自動在服務端對每一個服務器已接受的連接創(chuàng)建一個TidPeerThread線程。每個連接通過運行各自所屬的TidPeerThread來實現(xiàn)與服務器的數(shù)據(jù)交互。只要有客戶發(fā)送數(shù)據(jù),就會激活Server的OnExecute事件。數(shù)據(jù)的接收是在各個為連接所建的線程中并發(fā)進行的。而這個連接線程是需要Server維護的,IdTCPServer的最大連接線程數(shù)為600個左右,完全能滿足縣級山洪災害預警系統(tǒng)的需要。

通常使用Winsock開發(fā)網絡應用程序時,從Socket中讀取數(shù)據(jù)或者向Socket寫入數(shù)據(jù)都是異步發(fā)生的,這樣就不會阻斷程序中其它代碼的執(zhí)行。在收到數(shù)據(jù)時,Winsock會向應用程序發(fā)送相應的消息。這種訪問方式被稱作非阻塞式連接,它要求你對事件作出響應,設置狀態(tài)機,并通常還需要一個等待循環(huán)。與通常的Winsock編程方法不同的是,Indy使用了阻塞式(便于編程)Socket調用方式。阻塞式訪問更像是文件存取。當你讀取數(shù)據(jù),或是寫入數(shù)據(jù)時,讀取和寫入函數(shù)將一直等到相應的操作完成后才返回,程序也一直阻塞在讀或寫的地方。比如說,發(fā)起網絡連接只需調用Connect方法并等待它返回,如果該方法執(zhí)行成功,在結束時就直接返回,如果未能成功執(zhí)行,則會拋出相應的異常。同文件訪問不同的是,Socket調用可能會需要更長的時間,因為要讀寫的數(shù)據(jù)可能不會立即就能準備好(很大程度上依賴于網絡帶寬)。

事物都具有兩面性,阻塞式Socket也不例外。它的一個主要的缺點就是使客戶程序的用戶界面“凍結”。當在程序的主線程中進行阻塞式Socket調用時,由于要等待Socket調用完成并返回,這段時間就不能處理用戶界面消息,使得Update、Repaint以及其它消息得不到及時響應,從而導致用戶界面被“凍結”。Indy使用一個特殊的組件TIdAntiFreeze來透明地解決客戶程序用戶界面“凍結”的問題。TIdAntiFreeze在Indy內部定時中斷對棧的調用,并在中斷期間調用Application.ProcessMessages方法處理消息,而外部的Indy調用繼續(xù)保存阻塞狀態(tài),就好像TIdAntiFreeze對象不存在一樣。我們只要在程序中的任意地方添加一個TIdAntiFreeze對象,就能利用到阻塞式Socket的所有優(yōu)點而避開它的一些顯著缺點。

Indy服務器工作原理同Unix服務器十分類似,只是Windows不像Unix那樣支持fork,而是支持線程,因此Indy服務器為每一個客戶連接分配一個線程。圖1顯示了Indy服務器的工作原理與系統(tǒng)流程圖。Indy服務器組件創(chuàng)建一個同應用程序主線程分離的監(jiān)聽線程來監(jiān)聽客戶連接請求,對于接受的每一個客戶,都創(chuàng)建一個新的線程來為該客戶提供服務,所有與這一客戶相關的事務都由該線程來處理。

圖1 系統(tǒng)流程示意圖

2.2 數(shù)據(jù)結構設計

本系統(tǒng)接收的客戶端(下位機)通過GPRS網絡上傳的數(shù)據(jù)包包括字符串包(雨量、水位和電壓)和流媒體包(視頻圖片)。由于服務端讀取各個客戶端數(shù)據(jù)是并發(fā)進行的,所以應盡量避免讀取數(shù)據(jù)時進行數(shù)據(jù)處理入庫,可分別為兩種數(shù)據(jù)包建立兩個循環(huán)隊列表,先將客戶端數(shù)據(jù)存入緩存中,然后新建兩個線程(定時器)處理數(shù)據(jù)。循環(huán)隊列表數(shù)據(jù)結構如下所示:

下位機上傳的數(shù)據(jù)包符合水利部發(fā)布的水情信息編碼標準(SL330-2005)和湖南省山洪災害監(jiān)測預警系統(tǒng)水文通信協(xié)議規(guī)范。數(shù)據(jù)包格式如下:

河道水位包:CH 10 000 001 MMDDHHNN PN10 2 Z 100.00 NN

該數(shù)據(jù)包表示站號為10 000 001的監(jiān)測站于時間MMDDHHNN采集的10分鐘雨量2 mm,河道水位100.00 m。

水庫水位包:CK 10 000 001 MMDDHHNN PN10 2 ZU 100.00 NN

該數(shù)據(jù)包表示站號為10 000 001的監(jiān)測站于時間MMDDHHNN采集的10分鐘雨量2 mm,庫水位100.00 m。

2.3 模塊設計

本系統(tǒng)除了接收監(jiān)測站的數(shù)據(jù)外,另一個功能是通過GSM短信貓遠程設置監(jiān)測站的參數(shù),包括連接的數(shù)據(jù)中心IP地址、端口號、水位站類型(河道或水庫等)、站號、水位原始高程等。主要的模塊有視頻監(jiān)控模塊、站點信息管理模塊、參數(shù)設置模塊、數(shù)據(jù)監(jiān)測模塊、數(shù)據(jù)查詢模塊等。

圖2為監(jiān)測站視頻監(jiān)控示意圖。

3 編程實現(xiàn)

本系統(tǒng)關鍵代碼如下:

圖2 監(jiān)測站視頻監(jiān)控示意圖

4 結語

本系統(tǒng)已經應用于湖南省30多個縣的山洪災害預警系統(tǒng)建設中,運行穩(wěn)定可靠,極大地提高對暴雨山洪災害的監(jiān)測能力和反應速度,最大程度保障了人民群眾生命財產的安全。

1水情信息編碼標準SL 330-2005.中華人民共和國水利部[S].

2蔣方帥.Delphi 5程序員指南[M].北京:人民郵電出版社,2000.

3國家防汛抗旱總指揮部辦公室.山洪災害防治縣級監(jiān)測預警系統(tǒng)建設技術要求[R].2010.

主站蜘蛛池模板: 欧美第一页在线| 亚洲精品中文字幕午夜| 国产精品成人一区二区| 中文字幕久久精品波多野结| 77777亚洲午夜久久多人| 国产91在线|日本| 欧美亚洲欧美区| 日韩欧美中文字幕在线精品| 日韩视频福利| 永久成人无码激情视频免费| 无码精品福利一区二区三区| 成人免费视频一区二区三区| 国产亚洲高清视频| 亚洲开心婷婷中文字幕| 一区二区三区在线不卡免费| 天天干天天色综合网| 久久中文无码精品| 亚洲AV无码一二区三区在线播放| 亚洲人成日本在线观看| 四虎永久免费地址在线网站| 欧洲av毛片| 国产日韩精品一区在线不卡| 国产成+人+综合+亚洲欧美| 亚洲人视频在线观看| 亚洲天堂777| 亚洲综合第一区| 华人在线亚洲欧美精品| 国产欧美日韩va另类在线播放| 91国内视频在线观看| 日本国产一区在线观看| 亚洲综合天堂网| 国产日韩AV高潮在线| 色综合手机在线| 国产精品偷伦在线观看| 亚洲国产精品美女| 中文字幕不卡免费高清视频| 久久久久亚洲精品成人网| 欧美a在线| 中文字幕亚洲精品2页| 黄色网站在线观看无码| 毛片网站观看| 欧美成人午夜视频免看| AV无码无在线观看免费| 国产你懂得| 精品无码国产自产野外拍在线| 亚洲精品卡2卡3卡4卡5卡区| 伊人中文网| 国产黄色爱视频| 亚洲天堂免费| 婷婷六月在线| 欧美日韩一区二区在线免费观看| 2020最新国产精品视频| 国产精品网曝门免费视频| 一本大道香蕉中文日本不卡高清二区 | 成人91在线| 国产99精品久久| 国产成人精品高清不卡在线| 制服丝袜一区二区三区在线| 国产18页| 超清无码熟妇人妻AV在线绿巨人| 高清不卡毛片| 高清国产在线| 色噜噜综合网| 国产视频你懂得| 亚洲精品天堂在线观看| 国产精品污视频| 亚洲男人天堂2020| 色哟哟国产精品| 99在线视频网站| 国产区成人精品视频| 国产免费久久精品99re丫丫一| 欧美激情综合一区二区| 中国一级毛片免费观看| 日本三级欧美三级| 波多野结衣一区二区三区四区视频| 91久久夜色精品国产网站| 色婷婷天天综合在线| 亚洲天堂日韩在线| 国产亚洲视频在线观看| 中文无码影院| 欧美精品v欧洲精品| 欧美三级不卡在线观看视频|