国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GSM的學(xué)生成績(jī)發(fā)布系統(tǒng)的設(shè)計(jì)

2014-10-21 14:56:52李育陽(yáng)
科技視界 2014年36期

李育陽(yáng)

【摘 要】為了快速、低成本地實(shí)現(xiàn)成績(jī)信息發(fā)布,本文設(shè)計(jì)了一套基于PC機(jī)、GSM硬件設(shè)備的短消息成績(jī)發(fā)布系統(tǒng),在實(shí)際使用中,節(jié)約了大量人力、物力。

【關(guān)鍵詞】GSM;PDU;AT;成績(jī)發(fā)布

0 引言

在獨(dú)立學(xué)院中,為了進(jìn)一步“以學(xué)生為本”,做好服務(wù),常需要將成績(jī)通知其家長(zhǎng),特別是學(xué)業(yè)預(yù)警等信息更需要及時(shí)通知到家長(zhǎng),以期學(xué)校與家長(zhǎng)共同努力督促學(xué)生順利完成學(xué)業(yè)?,F(xiàn)在各學(xué)院基本上都是采用Web網(wǎng)上查詢成績(jī)和通過(guò)郵寄信件通告家長(zhǎng)。Web 查詢的優(yōu)勢(shì)是速度快,成本低,省時(shí)省力,但缺陷也很明顯,就是受控于硬件和網(wǎng)絡(luò),這在一些條件較差地區(qū)基本上很難實(shí)現(xiàn),也不能體現(xiàn)服務(wù)的主動(dòng)性;而郵寄信件存在著成本過(guò)高、耗費(fèi)人力較多等缺點(diǎn)。隨著通信技術(shù)的發(fā)展和手機(jī)的普及,使用短信服務(wù)(Short Message Service, SMS)發(fā)布成績(jī)信息具有了實(shí)現(xiàn)的環(huán)境條件。

實(shí)現(xiàn)短消息通訊的途徑主要有:通過(guò)移動(dòng)網(wǎng)關(guān)(短信中心SMSC)發(fā)送短消息,到相關(guān)電信部門申請(qǐng)網(wǎng)關(guān),不需要附加的硬件,適天大型的網(wǎng)絡(luò)通訊公司;利用計(jì)算機(jī)通過(guò)AT指令集控制GSM硬件設(shè)備(手機(jī)或短信貓GSM Modem)發(fā)送短消息,適合于中小項(xiàng)目應(yīng)用;通過(guò)服務(wù)提供商SP接入進(jìn)行短信發(fā)送,對(duì)網(wǎng)站及網(wǎng)絡(luò)的依賴性較強(qiáng),較少應(yīng)用于項(xiàng)目開(kāi)發(fā)。對(duì)于學(xué)生成績(jī)發(fā)布,具有簡(jiǎn)單、靈活,對(duì)外界依賴很小的計(jì)算機(jī)控制GSM設(shè)備發(fā)送短消息的方式最為適合。

1 系統(tǒng)框架

系統(tǒng)主要由短消息發(fā)送服務(wù)器、短消息發(fā)送設(shè)備(手機(jī)或GSM Modem)組成。其中短消息發(fā)送服務(wù)器與成績(jī)管理數(shù)據(jù)庫(kù)服務(wù)器通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)文件達(dá)到共享數(shù)據(jù)的目的,例如EXCEL、DBF等數(shù)據(jù)文件,這樣使成績(jī)發(fā)布系統(tǒng)具有良好的獨(dú)立性和擴(kuò)充性。

在此系統(tǒng)中,短消息發(fā)送設(shè)備通過(guò)RS232、RS485或USB連接線與短消息發(fā)送服務(wù)器的串口相聯(lián),短消息發(fā)送服務(wù)器將從成績(jī)管理數(shù)據(jù)庫(kù)中獲得的成績(jī)數(shù)據(jù)進(jìn)行組合、打包生成適合短消息發(fā)送設(shè)備發(fā)送的PDU數(shù)據(jù)包,通過(guò)AT指令集寫入串口緩存,由短消息發(fā)送設(shè)備通過(guò)GSM網(wǎng)絡(luò)將該P(yáng)DU數(shù)據(jù)包發(fā)送出去,通過(guò)收到消息的家長(zhǎng)或?qū)W生的手機(jī)進(jìn)行解碼顯示。具體如圖1所示。

圖1 基于SMS的學(xué)生成績(jī)發(fā)布系統(tǒng)框架

2 中文短消息的發(fā)送原理

2.1 PDU編碼

發(fā)送短信息有Block 模式、PDU(Protocol Data Unit)模式Text文本模式,后兩種基于AT指令集。Block模式因其必須基于制造商提供的驅(qū)動(dòng)進(jìn)行開(kāi)發(fā),Text 模式只適于發(fā)送英文信息,可以使用任何字符集的PDU模式最適合成績(jī)發(fā)布。

PDU串表面上是一串ASCII碼,由0-9、A-F這些數(shù)字和字母組成。它們是8位字節(jié)的十六進(jìn)制數(shù),或者BCD碼十進(jìn)制數(shù)。PDU串不僅包含可顯示的消息本身,還包含很多其他信息,如SMS服務(wù)中心號(hào)碼、目標(biāo)號(hào)碼、回復(fù)號(hào)碼、編碼方式和服務(wù)時(shí)間等。發(fā)送和接收的PDU串結(jié)構(gòu)是不完全相同的[1-2]。下面僅以發(fā)送信息編碼來(lái)舉例說(shuō)明:SMSC號(hào)碼是+8613800280500,對(duì)方號(hào)碼是13989191641,消息內(nèi)容是“Hello!”。從手機(jī)發(fā)出的PDU串可以是:08 91 68 31 08 20 08 F0 11 00 0D 91 68 31 89 19 19 46 F1 00 00 00 06 C8 32 9B FD 0E 01,對(duì)照規(guī)范,以上數(shù)據(jù)信息的含義見(jiàn)表1。

表1 PDU串?dāng)?shù)據(jù)信息說(shuō)明

2.2 AT指令

AT指令是ETSI規(guī)范的、用于在電腦上對(duì)連接在串口上的手機(jī)進(jìn)行操作控制的控制命令集合。用戶可以通過(guò)AT指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。其格式一般以“AT”開(kāi)頭,命令后面加上“=”和執(zhí)行參數(shù)表示執(zhí)行某種操作,如果后綴為“?”即構(gòu)成讀取命令,用于列舉出當(dāng)前設(shè)置,例如“at+csca?”則獲得當(dāng)前短消息中心號(hào)碼。本系統(tǒng)中用到的主要命令見(jiàn)表2所示[3]:

表2 常用AT指令

3 系統(tǒng)實(shí)現(xiàn)

因系統(tǒng)內(nèi)的成績(jī)數(shù)據(jù)不需要存儲(chǔ)歷史數(shù)據(jù),數(shù)據(jù)量較小,所以數(shù)據(jù)庫(kù)使用ACCESS,系統(tǒng)可以不依賴網(wǎng)絡(luò),具有良好的獨(dú)立性。終端開(kāi)發(fā)工具使用面向?qū)ο蟮目梢暬_(kāi)發(fā)工具Delphi。對(duì)于串口通信,Delphi可以使用第三方控件Spcomm來(lái)完成。Spcomm控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對(duì)串口的各種操作,且編程簡(jiǎn)單、通用性強(qiáng)、可移植性好。

在Delphi7.0中安裝Spcomm串口通信控件的方法為:選擇Delphi7.0的“Component”菜單,點(diǎn)擊“Install Component...”菜單項(xiàng),然后在彈出的Into existing package屬性頁(yè)中Unit file name輸人框中選擇Spcomm.pas文件,單擊兩次 “OK”按鈕后,就可以將Spcomm控件安裝到Delphi7.0的System組件頁(yè)上。

Spcomm控件具有以下基本屬性、方法、事件:①CommName屬性,計(jì)算機(jī)串口端口號(hào)的名字;②Parity屬性:奇偶校驗(yàn)位信息;③BaudRate:設(shè)定支持串口通信用的波特率;④SendDataEmpty屬性:表示發(fā)送緩存是否為空;⑤StartComm方法:用來(lái)打開(kāi)通信串口,開(kāi)始通信;⑥StopComm方法:用來(lái)停止通信串行口的所有進(jìn)程,關(guān)閉串口;⑦WriteCommData(pDataToWrite:PChar;dwSizeofDataToWrite:Word)方法是帶有布爾型返回值的函數(shù),該函數(shù)通過(guò)一個(gè)寫線程向串行口輸出緩沖區(qū)發(fā)送數(shù)據(jù);⑧OnReceiveData(Buffer:Pointer;BufferLength:Word) 事件:當(dāng)輸入緩沖區(qū)收到數(shù)據(jù)時(shí),該事件被觸發(fā),從而對(duì)串口收到的數(shù)據(jù)進(jìn)行處理。

基于GSM的學(xué)生成績(jī)發(fā)布系統(tǒng)框圖如圖2所示,其中利用Spcomm串口控件通過(guò)短消息實(shí)現(xiàn)成績(jī)發(fā)布的主要源代碼:

procedure SendScore;

var

SendScore,StrScore : String;

begin

comScore.StartComm ;//打開(kāi)串口

comScore.writecommdata(pchar('AT'+#13#10),length('AT'));

comScore.writecommdata(pchar('at+csca?'+#13#10),length(' at+csca?'));//獲取短消息中心號(hào)

comScore.writecommdata(pchar(' at+csms=1'+#13#10),length(' at+csms=1'));//選擇短消息業(yè)務(wù)

comScore.writecommdata(pchar(' at+cmgf=0'+#13#10),length(' at+cmgf=0'));//選擇短消息使用PDU模式

……

SendScore:=PduScore(StrScore);{將成績(jī)字符串StrScore經(jīng)過(guò)PDU編碼,例如短信中心號(hào)為:13800280500,成績(jī)?yōu)楦叩葦?shù)學(xué):88;政治:90.,發(fā)送給移動(dòng)電話13989191641,則返回SendScore”0891683108200505F011000B813189191946190008A91C9AD87B4965705B66003A00380038003B653F6CBB003A00390030002E”,長(zhǎng)度為42}

……

comScore.writecommdata(pchar('at+cmgs=42'+#13#10),length(' at+cmgs=42'));//

comScore.writecommdata(pchar(#62+SendScore+#26),length(SendScore)+2);//具體短消息內(nèi)容以>命令開(kāi)始,結(jié)束以Ctrl+Z結(jié)束

……

End;

4 總結(jié)

目前,該系統(tǒng)在期末成績(jī)發(fā)布工作中已成功使用,平均每小時(shí)可以發(fā)布600名學(xué)生成績(jī)信息,達(dá)到了很好的效果。與郵寄信件相比,節(jié)省了人力、物力,實(shí)現(xiàn)了無(wú)紙辦公,同時(shí)獲得了Web網(wǎng)絡(luò)發(fā)布的及時(shí)與快捷的優(yōu)點(diǎn),也為學(xué)院樹(shù)立了良好的服務(wù)形象。

【參考文獻(xiàn)】

[1]龔建偉.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2004,10:266-286.

[2]雷勇.PDU分析與手機(jī)短信控件開(kāi)發(fā)[J].電力系統(tǒng)通信,2004,24(12):23-261.

[3]Siemens Corporation.AT Command Set Siemens Engines Version 03.10[S].2002.

[責(zé)任編輯:楊玉潔]

巴林左旗| 丹东市| 郧西县| 海原县| 花垣县| 上饶市| 东宁县| 新巴尔虎左旗| 介休市| 横山县| 西昌市| 延寿县| 乐平市| 来凤县| 雅安市| 道真| 嘉兴市| 镇坪县| 本溪| 岐山县| 筠连县| 汝城县| 安徽省| 亳州市| 苏尼特左旗| 闽侯县| 诏安县| 鄱阳县| 抚远县| 达州市| 嘉定区| 沐川县| 锡林浩特市| 凤冈县| 来安县| 盐津县| 读书| 微博| 新营市| 瑞昌市| 莱州市|