<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于GSM模塊的移動購物系統(tǒng)的設(shè)計與實現(xiàn)

          基于GSM模塊的移動購物系統(tǒng)的設(shè)計與實現(xiàn)

          作者: 時間:2009-10-12 來源:網(wǎng)絡 收藏

            0 引 言

            隨著社會經(jīng)濟的發(fā)展和生活水平的提高,人們的消費觀念不再局限于傳統(tǒng)的零售業(yè),移動支付作為一種新的移動互聯(lián)網(wǎng)應用正在興起,具有方便、快捷、安全等優(yōu)點,逐漸被人們所接受。移動支付在歐洲、美洲一些國家,日本、韓國、新加坡和中國香港等地都有較為成功的應用;在國內(nèi),中國聯(lián)通和中國移動分別于2002年下半年在廣東啟動了移動支付業(yè)務,雖然起步較晚,但其廣泛的用戶基礎(chǔ)和廣闊的市場前景為其奠定了發(fā)展基礎(chǔ),成長空間很大。

            無線通信技術(shù)的成熟,使得的實現(xiàn)具有可行性,其不僅能給廣大消費者帶來方便,也為商家擴增了商品的銷售通路。

            1 我國移動支付業(yè)務現(xiàn)狀

            所謂移動支付,是指借助手機、掌上電腦、筆記本電腦等移動通信終端和設(shè)備,通過手機短信、IVR、WAP等多種方式進行的銀行轉(zhuǎn)賬、繳費和購物等商業(yè)交易活動。目前移動運營商可以提供以下三種形式的移動支付服務:移動運營商的代收費業(yè)務、移動運營商的小額支付業(yè)務、移動信用平臺。與現(xiàn)金支付、銀行劃賬、信用卡支付等傳統(tǒng)支付方式相比,移動支付最主要的特點是支付靈活便捷、交易時間短,可以減少往返銀行的交通時間和支付處理時間。移動支付不僅可以為移動運營商帶來增值收益,也可以為銀行和金融系統(tǒng)帶來中間業(yè)務收入。隨著手機在一些商店和零售柜機的支付環(huán)節(jié)中開始取代現(xiàn)金和信用卡,移動支付應用的產(chǎn)業(yè)化也初露端倪。對于移動支付業(yè)務而言,其產(chǎn)業(yè)鏈由設(shè)備制造商、銀行、信用卡組織、移動運營商、移動支付服務提供商或移動支付平臺運營商、商業(yè)機構(gòu)、卡供應商、手機供應商、用戶等多個環(huán)節(jié)組成。

            2 通信技術(shù)概述

            2.1 GSM

            GSM(Global System for Mobile Communications,全球移動通訊系統(tǒng))是一種起源于歐洲的移動通信技術(shù)標準。作為第二代移動通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個移動電話網(wǎng)絡標準,讓用戶使用一部手機就能行遍全球。GSM具有頻譜效率高、防盜能力佳、網(wǎng)絡容量大、手機號碼資源豐富、通話清晰、穩(wěn)定性強不易受干擾、信息靈敏、安全性高、通話死角少等特點。目前,全球GSM網(wǎng)手機用戶已超過30億,GSM通信系統(tǒng)已成為使用最廣泛的數(shù)字無線通信系統(tǒng),提供了語音、短消息以及數(shù)據(jù)等多種業(yè)務。

            2.2 SMS

            GSM網(wǎng)的短消息業(yè)務(Short Messaging Service,SMS)是最早的短消息業(yè)務,也是現(xiàn)在普及率最高的一種短消息業(yè)務。SMS是一種存儲和轉(zhuǎn)發(fā)服務,按消息量收費,消息的發(fā)送和接收可以和 GSM語音同步進行,具有隨時在線、不需撥號、價格便宜、覆蓋范圍廣等特點,可以廣泛應用于監(jiān)控定位、遠程維護、移動電子商務等領(lǐng)域。

            3 系統(tǒng)基本構(gòu)架

            以GSM網(wǎng)絡作為遠程信號的傳輸平臺,短信息作為傳輸數(shù)據(jù)的載體,構(gòu)建了基于,包括硬件平臺和軟件平臺。

            3.1 硬件平臺

            硬件由系統(tǒng)運行平臺(計算機)、短信息接收/發(fā)送設(shè)備(短信貓)、移動通信終端(手機)三部分組成。計算機通過RS 232串口線與短信貓(GSM Modem)相連以控制其數(shù)據(jù)收發(fā),實現(xiàn)交易監(jiān)控。硬件平臺構(gòu)架圖如圖1所示。

          硬件平臺構(gòu)架圖

            短信貓是一種通過RS 232串口線與計算機連接,內(nèi)嵌工業(yè)級通信模塊的雙頻調(diào)制解調(diào)器,采用寬電壓供電,抗干擾能力好,電磁輻射低,性能穩(wěn)定可靠,簡化了通信接口,支持向移動、聯(lián)通以及小靈通用戶收發(fā)短信。其專門針對短信應用設(shè)計,支持控制短信收發(fā),符合各種商業(yè)的短信應用要求,適用于各個領(lǐng)域無線數(shù)據(jù)通信,短信息通告,遠程監(jiān)控等應用。

            3.2 軟件平臺

            一般基于短信貓開發(fā)短信應用,開發(fā)商可以采取以三種方式:

            直接使用 通過串口用驅(qū)動短信貓收發(fā)短信,這是最底層的開發(fā)模式,需要對短信模塊的AT指令相當熟悉;

            短信貓開發(fā)包 短信貓廠商基于串口AT指令集成的應用開發(fā)包,開發(fā)商只需直接調(diào)用短信收發(fā)API即可;

            短信貓通信中間件 短信貓廠商提供的基于數(shù)據(jù)庫接口的短信收發(fā)后臺服務軟件。

            基于開發(fā)周期及成本的考慮,本系統(tǒng)采用開發(fā)包形式。短信貓開發(fā)包是針對目前常用短信模塊開發(fā)的短信應用API集合,具有成熟穩(wěn)定、支持多種語言、高可靠性等特點特點。系統(tǒng)開發(fā)結(jié)構(gòu)圖如圖2所示。

          系統(tǒng)開發(fā)結(jié)構(gòu)圖

            (1)需要發(fā)送短信時,需要將短信接收者與內(nèi)容提交到短信發(fā)送隊列,同時需要接收短信時從短信接收隊列中讀取收到的短信;

            (2)需要開發(fā)獨立的短信后臺服務,從短信發(fā)送隊列中讀取短信,調(diào)用短信貓開發(fā)包發(fā)送短信;同時通過調(diào)用短信貓開發(fā)包讀取設(shè)備已收到的短信,放人短信接收隊列;

            (3)短信貓開發(fā)包內(nèi)部實際上是通過串口與短信貓連接,以AT指令驅(qū)動短信貓收發(fā)短信。

            AT即Attention,AT指令集是從終端設(shè)備(Ter-minal Equipment,TE)或數(shù)據(jù)終端設(shè)備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter, TA)或數(shù)據(jù)電路終端設(shè)備(Data Circuit Terminal E-quipment,DCE)發(fā)送的。通過TA,TE發(fā)送AT指令來控制移動臺(Mobile Station,MS)的功能,與GSM網(wǎng)絡業(yè)務進行交互。用戶可以通過AT指令進行呼叫、短信、電話本、數(shù)據(jù)業(yè)務、傳真等方面的控制。主要AT指令如表 1所示。

          主要AT指令

            4 系統(tǒng)實現(xiàn)過程

            4.1 系統(tǒng)功能描述

            系統(tǒng)首次運行,將進行初始化,包括管理員設(shè)置和商品初始設(shè)置。管理員設(shè)置包括管理員手機號碼和密碼設(shè)置項,商品初始設(shè)置包括商品編號、名稱和數(shù)量設(shè)置項。初始化完成后系統(tǒng)自動生成管理員文件和商品文件,并將所設(shè)置的信息保存到文件中,然后進入主菜單界面(若系統(tǒng)已進行過初始化操作,則直接進入主菜單界面)。主菜單界面包括商品交易、發(fā)送短信、交易記錄查看、商品設(shè)置、管理員設(shè)置和斷開連接選項。

            4.1.1 商品交易

            此時系統(tǒng)處于接收購物短信狀態(tài)。當系統(tǒng)接收到購物短信,系統(tǒng)就會自動讀取短信,并判斷其內(nèi)容是否符合約定的購物格式。若符合購物格式且商品數(shù)量充足,則交易成功,并向顧客回復訂單信息;若符合購物格式但商品剩余數(shù)量不足,則回復該商品所剩余的數(shù)量;否則回復所約定的購物格式。同時系統(tǒng)顯示交易信息,更新商品數(shù)量,生成交易記錄文件,將所有交易信息保存于文件中,并檢測商品剩余量,小于一定量則給管理員報告商品信息。若接收的短信是由管理員發(fā)送且內(nèi)容為管理員密碼時,則系統(tǒng)返回到主菜單界面。

            4.1.2 發(fā)送短信

            利用短信貓發(fā)送短信息,系統(tǒng)將所輸入的接收方手機號碼和內(nèi)容放入短信發(fā)送隊列,通過GSMMo-demSMSsend API把短信遞交給短信貓,發(fā)送短信。

            4.1.3 交易記錄查看

            系統(tǒng)導入交易記錄文件,顯示所有交易信息,包括顧客的手機號碼、交易時間、短信內(nèi)容及交易狀態(tài)。

            4.1.4 商品設(shè)置

            商品設(shè)置包括查看商品、修改商品、添加商品和刪除商品選項。

            查看商品 系統(tǒng)導入商品文件,分行顯示當前已設(shè)置的所有商品信息,包括商品的編號、名稱和數(shù)量。修改商品 修改商品編號、名稱和數(shù)量,修改完成后更新商品文件。

            添加商品 根據(jù)商品編號、名稱和數(shù)量添加一種新的商品,添加完成后更新商品文件。

            刪除商品 刪除所選中商品的信息,刪除完成后更新商品文件。

            4.1.5 管理員設(shè)置

            管理設(shè)置包括查看設(shè)置和修改設(shè)置選項。查看設(shè)置 系統(tǒng)導入管理員文件,顯示管理員手機號碼。

            修改設(shè)置 判斷輸入的管理員密碼,若正確則保存新的手機號碼和密碼,并更新管理員文件;若密碼輸入連續(xù)錯誤三次則返回主菜單界面。

            4.1.6 斷開連接

            通過GSMModemRelease API釋放資源,關(guān)閉系統(tǒng)。

            4.2 短信貓接口函數(shù)

            短信貓通過RS 232串口與計算機連接,系統(tǒng)需通過接口驅(qū)動短信貓發(fā)送或讀取短信,各接口函數(shù)說明見表2。

          接口函數(shù)說明

            4.3 短信分解算法

            短信貓一次讀取將取得接收隊列里的所有短信息,格式為:短信類型|存儲位置|發(fā)送時間|接收號碼|短信編碼|短信長度|短信內(nèi)容||短信類型|存儲位置|發(fā)送時間|接收號碼|短信編碼|短信長度|短信內(nèi)容||。多條短信以“||”進行分隔,每條短信中各項以“|”進行分隔,各內(nèi)容描述見表3。本系統(tǒng)中約定購買短信格式為“0商品編號0購買數(shù)量0如(01020)一次最大購買量為9件”,短信分解算法如圖3所示。

          短信分解算法

            5 結(jié) 語

            在借鑒其他基于GSM的短信應用的基礎(chǔ)上,設(shè)計了基于GSM的移動購物系統(tǒng),對其構(gòu)架、功能、接口和短信分解算法做了闡述和分析,通過測試得到了比較理想的結(jié)果。在后續(xù)的系統(tǒng)優(yōu)化過程中,可以用Delphi/Visual C++編寫系統(tǒng)界面,使其更美觀,更人性化,更具交互性。其極大地方便了消費者,亦給商家?guī)砹藷o限商機,在移動小額交易領(lǐng)域有廣闊的應用空間。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();