摘 要:闡述以移動增值服務為基礎的手機自動售貨機的嵌入式系統設計。硬件設計給出自動售貨機設計方案,并簡要介紹所用到的器件,軟件設計給出自動售貨機的流程圖和服務器的功能簡介。
關鍵詞:手機USSD|白動售貨機|GSM/GPRS
引 言
移動增值業務產品的核心特點是移動性、即時性和個人性。移動增值服務是在通信技術、計算機技術和互聯網技術不斷發展融合的基礎上,在人們以信息為基礎的各種應用需求快速增長的激勵下,在社會信息化水平日益提高的前提下,迅速發展的一種全新的服務方式。由于移動通信自身所具有的可移動性、無時空限制性、專屬性、安全性和時尚性的特點,加上基于這些特點之上的短信息、游戲、支付、定位、辦公等豐富多彩的應用服務,使得我國的移動增值業務在短短數年里從無到有,迅速發展為欣欣向榮的產業。本系統采用的是以ATmegal28單片機為核心的自動售貨機,通過BENQ的13SM/GPRS M22模塊與服務器通信來實現以手機支付形式的移動增值服務系統。在實際設計過程中,考慮了自動售貨機硬件平臺在低溫下運行的情況。
1 自動售貨機網絡結構
圖1概述了移動自動售貨機系統在實際運行過程中的網絡結構框圖。
2 硬件設計
自動售貨機是用戶直接面對的終端界面,主要實現功能為:
①貨物存儲和出貨。自動售貨機將銷售商品存儲其中,以一臺飲料機為例,其中存儲的飲料可以高達3OO臺,并且自動售貨機裝備有恒溫控制系統和密閉的儲存空間,在各種復雜的氣候條件下,均可有效的保證貨物的儲存周期。
②無線數據交換。自動售貨機具備無線通信功能,可以和現有的(3SM/CDMA網絡進行對接,接受網絡側發起的各種無線通信連接,也可以主動向GSM/CDMA網絡發起連接。通過無線數據交換可以實現對售貨機的無線遠程控制,并可以實時獲取售貨機當前系統狀態和銷售情況,從而實現整個業務的交易流程可控。自動售貨機支持的無線通信方式包括:SMS、USSD、GPRS和CDMA lX。
2.1 單片機部分
Atmel公司生產的ATmegal28單片機內部集成了較大容量的存儲器和豐富強大的硬件接口:定時器/計數器、實時時鐘、PWM通道、A/D轉換器、12C的串行接口、可編程的串行USART接口、SPI串行接口、帶片內晶振的可編程看門狗定時器和片內的模擬比較器等。它在省電性能、穩定性、抗干擾性能和靈活性方面極具特色。單片機系統采用5 V電源供電,外接電源為24 V,經LM2576s芯片開關電源轉為5 V,為系統主電源。
2.2 LCD部分
金鵬科技有限公司的OCMJ中文模塊系列液晶顯示器內含GB 2312 16×16點陣國標一級簡體漢字和ASCII8×8(半高)及8×16(全高)點陣英文字庫,使系統不用擴展外部存儲空間。用戶輸入區位碼或ASCII碼即可實現文本顯示。本系列模塊具有上/下/左/右移動當前顯示屏幕及清除屏幕的命令。OCMJ中文模塊的所有初始化設置工作在上電時自動完成,實現了“即插即用”。同時保留了一條專用的復位線,可強制復位。規劃整齊的10個用戶接口命令代碼,非常容易記憶。硬件接口采用REQ/BUSY握手協議,簡單可靠。OCMJ5XlO模塊的背光源正極引腳所需較大電流才能保證LCD的亮度,所以加9012三極管放大,三極管基極電阻的選擇上一定要考慮低溫下三極管的特性,以保證可正常驅動LCD。
2.3 GSM/GPRS模塊
GSM/GPRS模塊采用BENQ的M22模塊,如圖2所示。

該模塊采用的是標準的AT指令集,正常工作電壓為3.3~4.3 V,5 V的VCC經過IN5401降壓到4.3 V左右為模塊使用,如圖3所示。由于GSM/GPRS模塊有瞬間脈動電流,在電路設計過程中加了1個2200 μF的電解電容可以滿足模塊的瞬間大電流需求。
2.4 電機的驅動部分和電機的5×10控制陣列
自動售貨機吐出飲料的過程實際為電機動作推飲料下來。由于電機都是感性的,在停轉的時候會有反向電流,所以需要用PC847光電隔離器把控制和驅動信號隔離開來,然后用L293D驅動電機。電機驅動需24 V電壓.控制信號經過L293D后變為24 V左右的電源信號才可驅動電機。電機有三根線:電源、地線和反饋信號(電機轉一圈送出一個低電平)。由于要控制50個電機,占用單片機15個I/O口,其中5個為行線低有效,10個為列線高有效,形成5×10陣列。當行為低、列為高的一個交叉點的電機動作推貨物出來。在機械制作中使電機轉一圈剛好推出一瓶飲料,電機轉一圈同時產生一反饋信號,此信號使電機停止轉動。另外一種情況是紅外檢測到有貨物落下則電機停止轉動。
2.5 ISP下載接口
JTAG的仿真器比較貴,用ISP下載加上串口調試達到節約成本的目的。ATmegal 28的PDI、PDO、SCK和RESET加上VCC和GND就構成了ISP接口。用廣州雙龍電子提供的下載線和相關軟件送行熔絲配置。由表1可知:設CKSEL3..1為111,則配置為外置晶振8 MHz,用ISP下載線下載即可。用ATmega]28的串口LJSARTl與PC機通信,由超級終端來顯示調試信息。
3 自動售貨機軟件部分
內置的主控模塊控制自動售貨機內部各部分流程進行實際的管理,包括:吐貨流程、交易流程數據上報、LCD用戶界面顯示和故障上報。
3.1 USSD無線通信方式
USSD(Unstructured Supplementary Service Data)定義為移動臺和網絡應用之間經過歸屬位置寄存器(HLR)傳遞信息和指令的一種機制,它為移動通信用戶提供基于文本的界面,用于管理用戶的業務。USSD在通話狀態下使用獨立專用控制信道SDCCH(Stand-aIon(DedicatedControl ChanneD,數據傳輸速率大約為600 bps;而非通話狀態時,USSD)使用快速輔助控制信道FACCH(FastAssociated Control Channel),數據傳輸速率約為1 kbps,比SMS傳輸速率高。
USSD在會話過程中一直保持通信連接,提供透明通道,不進行存儲轉發。由于USSD與GPRS類似,在交互中保持一個會話過程,每次數據發送不需要重新建立信道,所以USSD系統對用戶的呼叫請求是即時響應,使響應時間大大加快,主要的響應時延已轉移為應用服務器一端,響應時間比短消息快。USSD適合較少量的數據傳輸,USSD在交互式會話中可以提供直觀的菜單操作,方便用戶使用。在一次信息服務中,只需要撥打服務號碼,以后就可以按菜單提示進行下一步操作,建立wAP的門戶網站來提供電信增值服務。
USSD的接口協議與短消息類似,采用SMPP或CMPP。SMPP是國際通用的協議,CMPP是中國移動根據我國情況在SMPP基礎上自己制定的協議,二者體系結構大體相同,應用范圍也相同,但數據包的格式及內容有一定的差異。CMPP現在已升到了3.O。本系統中采用CMPP,消息分為消息頭和消息體,其中消息頭長度是固定的。主要信息為消息總長度、命令類型和消息流水號。命令類型用來說明消息的類型是連接,還是由USSD中心到業務提供者SP(Service Provider)的消息或由SP到USSD中心的消息等。消息流水號順序累加,步長為l,循環使用,一對請求和應答消息流水號必須相同。有一個請求消息回應是否成功的狀態信息。消息體則根據消息的類型和內容來決定長度和數據,但其所攜帶的自定義信息長度不超過160個字節。自定義信息即平時通過手機輸入或接收的短消息內容或工業通信中自定義的通信規約部分。相對于SMPP而言,CMPP增加了許多信息,尤其是計費和號碼的信息。
3.2 自動售貨機程序設計
自動售貨機控制板的程序用C語言編寫,開發環境用Atmel公司提供的ICCAVR。控制板程序框圖如圖4所示。

3.3 自動售貨機交易流程圖
自動售貨機交易流程如圖5所示,鑒于小靈通無法采用USSD和GPRS等實時數據傳輸方式,所以采取IVR(互動式語音應答業務)方式。
①用戶通過IVR/短信方式發出購物請求,IVR/短信平臺將用戶請求轉發給應用服務器。
②應用服務器解析用戶指令,根據用戶輸入的售貨機編號和貨道號,在數據庫中查明貨物類型、價格等信息后,向BOSS系統進行用戶身份驗證和扣費/扣積分操作。
③BOSS系統通知應用服務器扣費/扣積分成功。
④應用服務器通過GPRS方式向售貨機發出控制指令,要求售貨機對用戶指定商品進行吐貨。
⑤售貨機吐貨,用戶成功獲得商品。
⑥售貨機通過GPRS通知應用服務器交易成功。
⑦應用服務器向用戶發送短信,告知用戶交易明細。
4 服務器簡介
應用服務器主要實現整個業務的后臺管理。
(1)交易流程管理
從用戶發出購物請求到實現商品吐貨整個流程的有序管理和各種交易失敗補救流程的實施。
(2)物流管理
對服務器管理的所有售貨機商品的銷存情況進行管理,并可以實現物流人員的實時自動調配、通知等。
①統計分析。對業務情況按天、周、月(或者指定要求)進行統計,包括銷售情況、故障情況、扣費/扣積分情況、對帳情況、物流人員工作量等情況進行詳盡的統計分析,以供管理人員參考。
②計費和對帳。實現和移動BOSS系統的對接,實現話費支付和積分支付兩種功能,并能自動按天對帳務進行核對,當雙方帳務超出預期誤差,自動對每條交易進行比對,并發出短信報警。
結 語
本系統已實際生產并在實用中取得了良好的效果。手機自動售貨機的移動增值服務是一種新的商業模式和新的市場渠道,并擁有眾多的客戶群體。由于移動電子商務的移動性、便捷性和安全性,必將吸引眾多商家和客戶利用其進行經營和消費活動。這將導致移動價值鏈的形成,成功綁定用戶,使其融人社會的各行各業,使社會的各行各業都離不開移動,最終形成“多贏”的局面。銀行通過移動電子商務平臺延伸其影響范圍,形成口袋中的理財助理