基于GPRS與TCP的車(chē)輛載重?cái)?shù)據(jù)管理系統(tǒng)設(shè)計(jì)
隨著當(dāng)今社會(huì)的發(fā)展和人們物質(zhì)生活水平的提高,機(jī)動(dòng)車(chē)已經(jīng)進(jìn)入了千家萬(wàn)戶,車(chē)輛的過(guò)多給公路管理起來(lái)造成一定的困難,特別是貨車(chē)的管理。
本文引用地址:http://www.ex-cimer.com/article/196301.htm盡管公路局已經(jīng)在公路的每一段才設(shè)置了稱重收費(fèi)站,但貨車(chē)司機(jī)還是采用站外卸貨,繞行,或者液壓裝置等一些高科技的手段,逃避檢測(cè),同時(shí)貨車(chē)排隊(duì)等候檢測(cè),也會(huì)造成公路的堵塞。
在貨車(chē)行駛的過(guò)程中稱重可以很好的解決公路交通問(wèn)題,但是貨車(chē)的車(chē)載終端系統(tǒng)的配置不適合對(duì)大量數(shù)據(jù)進(jìn)行分析和存儲(chǔ),因此在貨車(chē)行駛中將檢測(cè)到的載重?cái)?shù)據(jù)傳輸?shù)焦芾硐到y(tǒng),是解決問(wèn)題的一個(gè)關(guān)鍵步驟。
1 系統(tǒng)的開(kāi)發(fā)環(huán)境
本系統(tǒng)是由Visual C++6.0結(jié)合SQL Server 2000開(kāi)發(fā)而成,使用ODBC操作數(shù)據(jù)庫(kù),VC為數(shù)據(jù)庫(kù)開(kāi)發(fā)提高了良好的開(kāi)發(fā)環(huán)境,ODBC能以統(tǒng)一的方式處理所以的數(shù)據(jù)庫(kù)。
在數(shù)據(jù)傳輸方面,本系統(tǒng)采用GPRS和TCP兩種傳輸方式,實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)的操作。與以往的車(chē)載系統(tǒng)采用GSM傳輸相比較,有一下優(yōu)點(diǎn):
①GPRS采用分組交換技術(shù),發(fā)送數(shù)據(jù)長(zhǎng)度不受限制,而GSM每次發(fā)送最多只能有140個(gè)字節(jié)。
②GPRS是雙向的,可以確切知道信息發(fā)送成敗,而GSM是單向的。
③GPRS費(fèi)用為0.01元/k,即1分錢(qián)可以傳輸數(shù)據(jù)1024個(gè)字節(jié)。而GSM發(fā)送140個(gè)字節(jié)需要0.1元。
④GPRS的延時(shí)時(shí)間很短。GPRS發(fā)送60字節(jié)延時(shí)5s左右,而GSM要延時(shí)10s以上。
2 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
2.1 系統(tǒng)模塊設(shè)計(jì)
系統(tǒng)有6個(gè)模塊,用戶管理模塊、貨車(chē)信息模塊、貨車(chē)載重模塊、貨車(chē)超載模塊、載重查詢模塊、超載處理模塊。各個(gè)模塊直接的關(guān)系示意圖如圖1所示。
2.2 系統(tǒng)模塊功能
1)用戶管理模塊 此模塊用來(lái)管理用戶的信息,用戶分為管理權(quán)限和使用權(quán)限,用戶以管理的權(quán)限進(jìn)入管理系統(tǒng)后,可以添加、刪除和查看用戶信息,還可以修改用戶的密碼。
2)貨車(chē)信息模塊 此模塊用來(lái)管理貨車(chē)的基本信息,用戶可以查看貨車(chē)的信息,可以根據(jù)貨車(chē)的車(chē)牌號(hào)、車(chē)主或者注冊(cè)時(shí)間查詢貨車(chē)信息,當(dāng)用戶以管理權(quán)限進(jìn)入時(shí),可以添加、刪除貨車(chē)信息。
3)貨車(chē)載重模塊 此模塊用來(lái)顯示貨車(chē)最后一次檢測(cè)時(shí)的載重值,包括查詢貨車(chē)載重時(shí)的時(shí)間,用戶可以根據(jù)車(chē)牌號(hào)查詢這輛車(chē)的載重時(shí)間和載重值。信息不可以被修改,只能通過(guò)查詢覆蓋。
4)貨車(chē)超載模塊此模塊顯示貨車(chē)的超載信息,包括所有的歷史超載信息,因?yàn)橐Wo(hù)超載數(shù)據(jù),信息不能被添加、修改和刪除,任何權(quán)限的用戶只能查詢這些信息,可通過(guò)車(chē)牌號(hào)來(lái)查詢貨車(chē)的的超載信息。
5)栽重查詢模塊此模塊能夠讓用戶查詢到貨車(chē)當(dāng)前的載重,并將查詢到的信息記錄到貨車(chē)載重?cái)?shù)據(jù)庫(kù)中,如果查詢到的信息超載,同時(shí)會(huì)查詢得到的數(shù)據(jù)記錄到貨車(chē)超載數(shù)據(jù)庫(kù)中去。
6)超載處理模塊此模塊能夠自動(dòng)處理從車(chē)載終端得到的超載信息,并且處理信息,將信息內(nèi)容記錄到貨車(chē)超載表中。此過(guò)程在后臺(tái)進(jìn)行,不需要用戶對(duì)其進(jìn)行操作,用戶只能夠看到超載信息。
3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)是儲(chǔ)存和處理數(shù)據(jù)的倉(cāng)庫(kù),是一個(gè)系統(tǒng)的重要部分,數(shù)據(jù)庫(kù)不僅能夠存儲(chǔ)個(gè)管理數(shù)據(jù),而且能夠提供用戶所需的數(shù)據(jù)管理方式。
本系統(tǒng)的數(shù)據(jù)庫(kù)使用SQL Server 2000設(shè)計(jì),主要包括5方面的數(shù)據(jù):
1)用戶管理表(TABUSER):用戶名(主鍵)、密碼、權(quán)限;
2)貨車(chē)信息表(TABMESSAGE):車(chē)牌號(hào)(主鍵)、車(chē)主姓名、注冊(cè)時(shí)間、歸屬地、貨車(chē)品牌、貨車(chē)類型、貨車(chē)載重、超載次數(shù)、關(guān)聯(lián)字符;
3)貨車(chē)載重表(TABLOAD):編號(hào)(主鍵)、車(chē)牌號(hào)、日期、時(shí)間、載重、是否超載;
4)貨車(chē)超載表(TABOVERLOAD):編號(hào)(主鍵)、車(chē)牌號(hào)、超載日期、超載時(shí)間、載重;
5)貨車(chē)車(chē)牌號(hào)管理模塊(TABTRUCKNUMBER):車(chē)牌標(biāo)志(主鍵)、歸屬省、歸屬地。
4 系統(tǒng)界面設(shè)計(jì)
系統(tǒng)主界面采用MFC下的對(duì)話框模式,主界面由用戶登陸管理和貨車(chē)信息管理組成,包括貨車(chē)基本信息、載重信息和超載信息等,通過(guò)Tab控件,對(duì)貨車(chē)信息的顯示進(jìn)行控制。界面圖形如圖2所示。
5 數(shù)據(jù)無(wú)線傳輸設(shè)計(jì)
本系統(tǒng)中,對(duì)貨車(chē)車(chē)載終端的數(shù)據(jù)通信有兩個(gè)部分,一是系統(tǒng)服務(wù)器主動(dòng)查詢車(chē)載終端的載重信息,終端得到命令后,將載重信息返回給系統(tǒng)服務(wù)器。二是車(chē)載終端自動(dòng)檢測(cè)載重信息,并將超載信息自動(dòng)發(fā)送到系統(tǒng)服務(wù)器。
當(dāng)車(chē)載終端的數(shù)量很多時(shí),系統(tǒng)要接受的信息量就比較大,而主動(dòng)查詢信息時(shí),從命令發(fā)出到數(shù)據(jù)到終端信息返回需要一定的時(shí)間,所以只用一種通信方式會(huì)給信息接受產(chǎn)生混亂,這里主動(dòng)查詢用GPRS通信,自動(dòng)接受用TCP通信。如圖3所示。
5.1 GPRS通信
本系統(tǒng)中,使用的GPRS模塊的產(chǎn)品型號(hào)是AL-GPRS-S100,通過(guò)串口和終端連接。AL-GPRS-5100是南京沃龍電子科技有限公司設(shè)計(jì)的一款GPRS透明傳輸終端(GPRSDTU),內(nèi)置工業(yè)級(jí)GPRS模塊,支持DDP、DNS、VIPS多種通訊模式。具有RS232接口的工業(yè)設(shè)備無(wú)需更改任何軟件即可通過(guò)GPRS無(wú)線聯(lián)網(wǎng)。
VC連接串口要插入MSComm串口控件,作為一個(gè)串行通訊控件為程序員串口通訊編程節(jié)省了很多時(shí)間,當(dāng)控件載入對(duì)話框中時(shí),會(huì)自動(dòng)創(chuàng)建控件CMSComm的類。
c++相關(guān)文章:c++教程
評(píng)論