STK卡技術(shù)簡(jiǎn)介
文章出處:http://psychicreadingswithdeb.com 作者:握奇 人氣: 發(fā)表時(shí)間:2011年09月08日
[文章內容簡(jiǎn)介]:STK卡技術(shù)簡(jiǎn)介
STK是SIM Tool Kit的英文縮寫(xiě).即用戶(hù)識別應用開(kāi)發(fā)工具。它包含一組指令用于手機與SIM卡的交互,這樣可以使SIM卡運行卡內的小應用程序,實(shí)現增值服務(wù)的目的。之所以稱(chēng)小應用程序,是因為受SIM卡空間的限制,STK卡中的應用程序都不大,而且功能簡(jiǎn)單易用。目前市場(chǎng)提供的主流STK卡主要有16K和32K兩種;64K卡也在積極的市場(chǎng)推廣中。
STK卡與普通SIM卡的區別在于,在STK卡中固化了應用程序。通過(guò)軟件激活提供給用戶(hù)一個(gè)文字菜單界面。這個(gè)文字菜單界面允許用戶(hù)通過(guò)簡(jiǎn)單的按鍵操作就可實(shí)現信息檢索,甚至交易。例如終端用戶(hù)想查詢(xún)天氣預報,在沒(méi)有STK增值服務(wù)的情況下,用戶(hù)需要手動(dòng)編輯短消息TQ 010,再將短消息發(fā)送到168服務(wù)平臺。這樣用戶(hù)需要記住TQ是天氣預報的命令代碼和168服務(wù)平臺號。事實(shí)上命令代碼有很多如GP代表股票查詢(xún),HF代表電話(huà)費查詢(xún)等。因此要用戶(hù)將所有的命令代碼記住是不現實(shí)的也是很不方便的。STK通過(guò)固化在卡中的程序,提供給用戶(hù)天氣預報等菜單提示,這樣用戶(hù)只需要輸入想要查詢(xún)地區的長(cháng)途區號即可查詢(xún)到天氣情況。從而使用戶(hù)不必記憶命令代碼和服務(wù)平臺號,達到方便用戶(hù)的目的。
STK增值服務(wù)的實(shí)現基礎是GSM的短消息。因此,只要是GSM網(wǎng)絡(luò )覆蓋到的地方,就可以提供文字信息服務(wù),服務(wù)范圍廣大;而且文字短消息價(jià)格便宜,僅在成功傳遞時(shí)才收費,并且不包含漫游費;基于上述原因STK卡用戶(hù)數猛增,該商業(yè)模式現正趨于成熟。
STK卡的平臺不統一使各個(gè)廠(chǎng)商的開(kāi)發(fā)的STK程序互不兼容。這樣每個(gè)卡商的應用程序只能運行于各自特定的平臺。從而給運營(yíng)商帶來(lái)很大的不便。JAVA技術(shù)應用于STK卡中就是Java卡。有關(guān)Java卡的技術(shù)問(wèn)題本文不予討論,因為這方面的資料有很多。本文僅對握奇公司的STK實(shí)現及特點(diǎn)作簡(jiǎn)單的介紹。
首先,握奇公司的STK卡完全遵循GSM11.11,GSM11.14,GSM03.08等一系列規范,因此其使用性方面與其他公司的STK卡沒(méi)有任何區別,并完全能夠滿(mǎn)足不同運營(yíng)商的包括信息查詢(xún)、股票交易、銀行交易的各種需求。其次,握奇公司的STK卡的實(shí)現方式類(lèi)似JAVA卡的實(shí)現方式,也是在SIM卡內有解釋器,解釋執行字節碼方式實(shí)現的。與JAVA卡的區別是解釋器是自主開(kāi)發(fā)的,而字節碼也是采用握奇公司專(zhuān)有格式。握奇公司的STK卡解決方案的優(yōu)點(diǎn)是,針對于SIM卡的應用進(jìn)行了程序設計上的優(yōu)化,因此解釋器的執行效率和占用空間明顯優(yōu)于JAVA卡的解釋器?;谏鲜鲈蛭掌婀镜腟TK卡程序運行的速度快并且能在相同容量的卡片上實(shí)現更多的應用。再次,握奇公司的STK卡可以有選擇性的和PKI結合使用,是通過(guò)在卡內實(shí)現的R.S.A算法來(lái)進(jìn)行簽名驗證。從而使利用手機來(lái)從事移動(dòng)商務(wù)活動(dòng)不再是紙上談兵。
握奇公司的STK程序開(kāi)發(fā)流程如下圖:
/B智能卡/技術(shù)文庫/STK卡技術(shù)簡(jiǎn)介.files/STK%20ka.gif)
握奇公司的STK卡開(kāi)發(fā)使用專(zhuān)用的腳本語(yǔ)言,這種腳本語(yǔ)言是一種介于高級程序開(kāi)發(fā)語(yǔ)言和匯編語(yǔ)言之間的專(zhuān)用開(kāi)發(fā)語(yǔ)言。它有自己專(zhuān)有的語(yǔ)法規則和特殊的流程控制。同時(shí)它借鑒了高級語(yǔ)言的部分優(yōu)點(diǎn),例如程序的順序、選擇、循環(huán)結構。握奇公司的STK卡開(kāi)發(fā)工具實(shí)現了對內存的動(dòng)態(tài)分配,從而給開(kāi)發(fā)的過(guò)程帶來(lái)了極大的方便。與高級語(yǔ)言一樣,握奇公司的STK卡開(kāi)發(fā)工具同樣提供了簡(jiǎn)單實(shí)用的函數,既提供了一系列API供程序開(kāi)發(fā)者調用。例如,在STK應用中最常用的命令有SelectItem、GetInput、發(fā)送短消息等。因此,開(kāi)發(fā)工具中針對每個(gè)常用命令提供一個(gè)腳本函數,這樣使開(kāi)發(fā)者不必記憶GSM規范中的命令格式,從而大大的提高了開(kāi)發(fā)效率。
下面用一個(gè)具體的實(shí)例進(jìn)一步說(shuō)明握奇公司的STK開(kāi)發(fā)工具,這個(gè)例子是我們非常熟悉的天氣查詢(xún)。經(jīng)過(guò)修剪的代碼如下:
00 Goto(0B210C)
01 SelectItem@($00,信息資訊,(天氣預報//00))
02 SetVar&($A1,038161F8)
03 SetVar&($09,01)
04 GetRecVar($A2,7F106F42,$09,19,09)
05 SetVar@($EF,消息正在發(fā)送…)
06 SetVar&($20,20)
07 SetVar#($04,TQ)
08 GetInput@($05,長(cháng)途區號:,05,00,02,)
09 GSMSM($04$20$05,00,04,$EF,$A1,$A2)
10 DisplayText@(消息發(fā)送成功!)
11 Exit()
12 DisplayText@(消息發(fā)送失敗!)
13 Exit()
從腳本程序可以看到,握奇的STK卡開(kāi)發(fā)語(yǔ)言具有小巧、簡(jiǎn)單的特點(diǎn)。這段程序的功能是查詢(xún)天氣情況。它的業(yè)務(wù)流程是:用戶(hù)輸入想要查詢(xún)地區的長(cháng)途區號(如010),STK程序將天氣查詢(xún)代碼TQ和用戶(hù)輸入區號010以TQ 010形式組織上行數據包,并將數據包以普通短信的形式發(fā)送到168服務(wù)平臺。
握奇公司的腳本語(yǔ)言必須以
程序在一般的情況下是順序執行的,即按照行號的大小順序執行。GOTO語(yǔ)句是設置程序的跳轉流程的。比如在本例中0B就是在出現未定義的錯誤時(shí),程序的跳轉地址。遇到這種情況一般的處理是直接退出程序。而21是短消息發(fā)送失敗后的錯誤返回碼,0C是出現21號錯誤(短消息發(fā)送失?。r(shí)的跳轉地址,在本例中跳轉到12行,顯示消息發(fā)送失??!。為了例子程序更加簡(jiǎn)潔易懂,本例程并沒(méi)有處理其他錯誤。
SELECTITEM是顯示人機交互界面,既顯示天氣預告供用戶(hù)選擇。
SERVAR是賦值語(yǔ)句。第2行的語(yǔ)義是?quot;038161F8賦給A1變量。執行詞語(yǔ)后A1變量存儲的內容就是168服務(wù)平臺號的TPDA形式。
GETRECVAR的作用是從紀錄文件中讀取所需的數據。在本例中就是從6F42文件中讀取短消息服務(wù)中心號碼。
GETINPUT的作用是取得用戶(hù)輸入。在本例中就是讓用戶(hù)輸入地區長(cháng)途號。第一個(gè)參數是用來(lái)存放用戶(hù)輸入內容的。第二個(gè)參數是提示信息。第三個(gè)參數是用戶(hù)輸入內容的最大長(cháng)度。第四個(gè)參數是用戶(hù)輸入的編碼格式,在本例中僅允許數字輸入。第五個(gè)參數是用戶(hù)輸入內容的最小長(cháng)度。
GSMSM的功能是發(fā)送短消息。第一個(gè)參數是發(fā)送的內容,在本例中發(fā)送的內容是$04,$20,$05變量的連接。第二個(gè)參數是PID。第三個(gè)參數是短消息的編碼格式,在本例中是以英文編碼格式發(fā)出的。第四個(gè)參數是提示信息如消息正在發(fā)送…第五個(gè)參數是TPDA。第六個(gè)參數是短信中心號。
DISPLAYTEXT的功能是顯示提示信息。參數的內容就是要顯示的內容。
EXIT退出程序。
以上僅對握奇公司的STK卡的開(kāi)發(fā)做了一個(gè)的概述,目的是讓讀者對握奇公司的STK卡解決方案有一個(gè)初步的認識。
本文關(guān)鍵詞:STK卡技術(shù)簡(jiǎn)介
上一篇:智能卡與指紋識別技術(shù)[ 09-08 ]
下一篇:光卡簡(jiǎn)介[ 09-08 ]