實驗六、JAVA行動通訊

 

實驗目的:

 

1.          瞭解手機資料傳輸概念。

2.          利用開放軟體Java或objective c來實作出一個手機應用程式。

3.          完成將手機應用程式安裝於實體手機上。

 

實驗設備:

 

Ø         硬體部分:

1.          Java手機程式開發書籍

2.          Android手機程式開發書籍

3.          iPhone手機程式開發書籍

4.          手機*2

5.          Mac主機

Ø         軟體部分:

1.          J2ME Wireless Toolkit請至SUN昇陽下載http://java.sun.com/products/j2mewtoolkit/

2.          JBuilder MobileSet, Nokia Edition請至Borland下載http://www.borland.com/jbuilder/mobileset/,或助教網頁下載

3.          JDK請至SUN昇陽下載http://java.sun.com/

 

實驗原理:

 

手機資料傳輸

手機簡訊的發展從SMS(Short Messaging Service)只能傳送單純文字的簡訊開始,發展到EMS(Enhanced SMS)提供簡單圖片和一些簡單的旋律的簡訊傳送,一直到MMS(Multimedia Messaging Service)『多媒體簡訊』,可說是手機傳送訊息上的一大演進,被3GPP定為第三代行動通訊的實作標準,MMS可望在未來成為大多數手機使用者偏愛的簡訊傳送方式。MMS在內容上幾乎可以說沒有界限,多媒體簡訊顧名思義是可以傳送多媒體內容的簡訊,包括各式各樣的彩色圖片、動畫卡通及聲音(包括一般鈴聲、和絃鈴聲、一段聲音,甚至是一段自己用手機錄的語音,視不同手機支援程度而定),如果網路傳輸速度許可,甚至可以傳送影音短片。在未來,相信傳送呈現方式類似PowerPoint型式投影片的MMS簡訊將會成為主流。MMS多媒體簡訊服務除了可以傳送豐富的內容之外,同時繼承了傳統簡訊的優點,可以運用在不同廠牌的MMS手機當中,透過不同廠牌的MMS系統互相傳送,也就是說MMS的用戶可以自由自在的傳送多媒體簡訊給有MMS手機的親朋好友。MMS多媒體簡訊服務的強大功能還不只於此,當你要傳送的簡訊有了文字與豐富的圖片之後,MMS的SMIL(多媒體同步整合語言)格式可以讓你將所要傳送的文字、圖片、聲音,依你設定的撥放順序及想要的撥放時間來編輯,讓你的多媒體簡訊看起來就如同個人電腦上的PowerPoint簡報檔案一樣精彩。

 

6-1、MMS的應用

 

基本上,MMS的內容應該是沒有極限的,但是,目前第一代支援MMS的手機,最多只能支援50kB大小的MMS,而且目前的MMS只支援文字、影像(目前支援的類型為JPEG、GIF87a、GIF89a、WBMP)及聲音(AMR、有些手機會支援和弦鈴聲)。影片在第一代的MMS是不被支援的。因此,就目前的多媒體簡訊來看,由於大小和類型的限制,只能傳一些最基本的照片、聲音,離沒有極限的內容似乎還頗有一段距離。根據易利信在中國大陸所舉辦的多媒體簡訊應用大賽看來,目前的多媒體簡訊最大的功用還是在發送廣告或是在手機上訂閱一些定期性的刊物,如漫畫、週刊或是股市消息等,這些比較算是靜態的東西。但是,不管多媒體簡訊的內容有多強,多媒體簡訊畢竟也只是簡訊而已,它的功能也就只能是把預先編排好的內容在收到簡訊的人面前展示出來而已。目前多媒體簡訊最多就是能夠做到和電子郵件差不多的功能而已。若是想要做到影音資料傳輸功能、手機上的遊戲、或電子商務等應用,這類比較需要動態的去存取網路上資料的東西,一定得靠額外撰寫的程式才能達到目的。

 

下面是MMS的架構圖,透過藍色部分的MMS Center,MMS才能夠達到即時的在手機間、或是手機和電子郵件(email)間的傳輸。MMS是透過WAP的傳輸協定來傳輸的。

 

6-2、MMS的架構圖

 

手機通訊網路

目前最流行的無線通訊方式為GSM行動通訊系統,但是GSM網路連線的方式是採用Circuit-Switch的方式,和網際網路所採用的Packet-Switch的方式並不相容,因此兩個不同的架構必須分開來獨自運作,再運用特殊的機制連接起來。但是GPRS(General Packet Radio Service)這種新一代的無線通訊技術制定發展之後,將會改變這種獨立運作的情況。GPRS是在現有的GSM網路上,加上幾個數據交換節點,因為數據交換節點具有處理封包的功能,所以使得GSM網路能夠和網際網路互相連接,GSM網路無線傳輸的便利與網際網路資訊的豐富都能彼此共享。GPRS是由歐洲的ETSI協會(European Telecommunication Standard Institute)訂定標準規範,並將標準規範分成許多完成的階段。目前GPRS標準,分成兩個標準階段,第一階段已經於2000/Q1制定完成,第二階段則尚在討論當中。每階段要完成的標準制定舉例如下:

 

u        階段 (Phase 1)

l          GSM網路和IP網路進行單點對單點的資料(data)傳輸。

l          定義GPRS服務所需要的辨識碼 (ID) ,就同GSM網路有IMEI、IMSI 等各種辨識碼。

l          GPRS在傳輸資料時,加強資料封包安全性的特殊演算法(algorithm)。

l          以傳遞的封包資料量來收費的方式。

l          GSM網路上的簡訊服務(SMS)可以利用GPRS網路來傳送。

u        階段二 (Phase 2)

l          GSM網路與網際網路的連線,可以是單點對單點(point-to-point)傳輸及單點對多點(point-to-multipoint)傳輸,如此則電子郵件即可同時發送給很多不同的收件者。

l          定義出當GPRS網路要傳送聲音,影像,或多媒體等服務時,因不同的服務所需要的連線速率與延遲,即連線的連線品質(Quality of Service)。

l          在許多架設有GPRS網路的國家間,做到國際漫遊 (Roaming)的功能。

 

除了標準的制定有階段性外,在GSM網路上發展的GPRS服務,也是採用漸進式的發展步驟,如此則電信營運業者(network operator)、設備及手機廠商、應用軟體系統業者都能共同研究發展,達到將GPRS普及的目的。這些步驟包括電信營運業者取得GPRS的營運執照、將GSM網路升級至GPRS網路、對GPRS網路進行測試,市面上要有手機能支援GPRS的功能,以及系統業者提供更多的GPRS應用服務。

 

2000年以前,GPRS的發展只停留於電信營運業者發展實驗性GPRS網路及取得商業化合約的階段。而根據專家的預估www.mobilegprs.com,未來GPRS的發展可分為以下的幾個時程:

 

u        2000

電信營運業者開始將GPRS的設備架設上至目前的GSM網路,並進行實驗性的GPRS服務測試,此時手機與基地台的連線速率預估約24Kbps。

u        2001

具有基本功能的GPRS手機將上市,不僅能夠用語音通話,還能支援GPRS的封包資料傳輸。電信營運業者正式推出GPRS商業化服務,手機能透過基地台同時傳輸語音與封包資料。手機來傳送封包資料 (data)的方便功能,預估短時間內會吸引大量的使用者,網路上傳輸封包資料的應用服務,也會逐漸蓬勃發展。例如更多樣化的GPRS應用服務、更快的通訊速率、更廣泛的GPRS服務區域與更大網路容量,以及大螢幕並有網路瀏覽器的多功能手機,都將使GPRS服務更為普及。此時手機與基地台的連線速率預估最快約為56kbps。

u        2002

隨著GPRS的應用服務與使用者快速成長,GPRS網路可能將面臨擁塞與飽和,電信營運業者會開始規劃將GPRS升級至第三代行動通訊。此時手機與基地台的連線速率預估約為112kbps。

 

既然利用現有的GSM網路就可以升級至GPRSGPRS網路的架構與運作必定相似於GSM網路系統。要了解GPRS網路,必須先熟悉目前GSM網路如何運作。GSM的網路架構如圖,當手機撥號時,訊號的傳遞是先連上BTS,再繼續傳到BSC以及MSC。MSC主要是做各個網路間交換的功能,將傳送進來的撥號信號交換到另一個MSC或公眾有線電話PSTN,來進行整個連線的建立。GPRS的網路架構是在現有的GSM網路架構上,再增加兩個新的網路設備節點,分別為Serving GPRS Support Node(SGSN)以及Gateway GPRS Support Node(GGSN)。SGSN與GGSN具有封包Packet的處理與傳送功能。

 

GGSN

GPRS新增加的節點GGSN中,第一個G是指Gateway,代表GGSN是GPRS與外界網路(IP)的一個閘道,所以GGSN能將外界網路的封包傳送進GPRS網路,或將GPRS網路內的封包傳出到外界的網際網路上。

 

SGSN

GSM網路中,一個BSC時連接許多BTS,BSC與BTS的所在區域即組成GSM網路的一個服務區域,位於服務區域內的手機使用者都能使用GSM通訊網路。GPRS網路增加的另一個節點SGSN,會設在網路內的各個服務區域內,SGSN負責紀錄在服務區域內有哪些使用者,若是使用者傳送的是屬於封包的資料,經由BSC的判斷,會將封包的資料傳給SGSN,由SGSN做封包的交換與傳輸。

 

對原有GSM的網路設備,例如BTS、BSC、MSC/VLR以及HLR等,都仍然能繼續使用,只要適當的將設備內軟體功能提升,例如BSC內要加入PCU(Packet Control Unit)的功能。GGSN和SGSN既然是能夠進行封包的交換傳輸,所以彼此之間就直接採用IP的這種封包傳輸通訊協定。

 

GPRS網路的架設,並不需要大幅更換現有的GSM網路設備,只要再增加幾個GPRS的網路節點設備,即能在GSM網路上提供GPRS的服務。原有的GSM設備、細胞的規劃與天線的架設,都能延用。如此電信營運業者所需的只是少量的投資,但從GPRS上獲得的效益卻是非常可觀的。GSM網路升級成GPRS後,GPRS能夠更有彈性與效率來使用網路。例如在傳統電話尖峰時刻,GPRS可以彈性的釋放一些資源給傳統的GSM服務來使用,如此電信營運業者就可以根據需求與網路狀況,來調整適當的比例,則整個網路效能就會提高。

 

6-3、GPRS的網路架構

 

Java手機程式

行動通訊的時代即將來臨,通訊相關行業變的前景可期,而除了達成行動通訊的主要工具-手機,其功能越來越強大之外,有更多的廠商相繼投入行動通訊裝置的生產與開發,其平台和作業系統的複雜度比起目前混亂的PDA 有過之而無不及,面對複雜紛亂的平台,一般使用者當然沒什麼影響,但是對於程式開發者來說,這麼多不同的程式發展平台,如果每平台都有自己的程式寫法以及函式庫,光看完頭就昏了要在那麼多平台上開發程式,對程式設計師來說的確是一個很大的挑戰,如果要把所有的時間和精力放在軟體的可用性上,那麼相對地很多時候我們根本沒有那麼多時間撰寫各種平台的程式。要解決這個問題,一般來說程式設計師會選用一個可以跨平台的framework來達成至少source code level的跨平台。利用Java的“write once, run anywhere”特性,我們可以真正達到程式只要寫一次,拿到任何平台上都可以執行(當然前提是必須要該手機廠商提供符合規格的Java Virtual Machine才行)。

 

    Java平台目前最新的版本是Java 2 Platform,這個平台為因應軟硬體服務需求的不同區分為四個版本:

u        Java 2 Platform, Enterprise Edition(J2EE)

主要供企業伺服端應用程式的需求。

u        Java 2 Platform, Standard Edition(J2SE)

主要供一般桌上型電腦應用程式開發的需求。

u        Java 2 Platform, Micro Edition(J2ME)

主要供資訊家電應用程式開發的需求。

u        Java Card 2.1.1 Platform

主要供smart card市場的需求。

 

在過去,手機上程式設計一向是封閉的系統。實驗室所提供的Nokia手機使用Symbian Series 60 (S60)作業系統,提供了兩種自行開發程式的語言──C++和Java。使用C++,可以產生Symbian Series 60平台的執行檔;使用Java則可以產生符合虛擬機器的執行檔。Java提供了在手機上程式設計的新選擇。選擇Java作程式開發有許多優點。第一,Java程式比較容易開發,日後維護也較為容易。第二,許多的程式開發工具、開發環境都是免費,成本較為低廉。實驗室所提供的HTC手機使用Android作業系統,提供了自行開發程式的語言──Java。實驗室所提供的iPhone手機使用Mac OS作業系統,提供了自行開發程式的語言──Objective C。

  

實驗步驟:

 

本實驗的實驗步驟相當彈性,同學們可以自由發揮,主要完成的實驗內容有兩部分:

 

1.      MIDP手機應用程式設計

同學們在閱讀完手機程式設計的相關書籍後(實驗室有提供,或夾帶於網頁中的電子書),首先請先安裝可以開發手機程式的開發工具軟體,如J2ME Wireless Toolkit或JDK。一般來說,開發工具都會提供一個相當於是Hello World!最簡單的應用程式,請同學們詳細討論並自行挑選書中的範例程式兩個,實地演練並完成在手機模擬器上的執行。

2.      撰(改)寫程式{貼圖文字按鍵}or{小算盤}or{其他},並成功執行於手機模擬器上

同學們請挑一個題目來作,功能不需華麗,應用書中提到的相關技術即可。

3.      {BONUS}安裝手機應用程式設計於實機上

請同學們針對各自所選擇的語言,將你們所練習的程式安裝到實機上

 

實驗結報(每人一份):

 

l          每人請告知閱讀資料範圍。

l          每人需提供兩段程式碼練習(Hello World!以外)證明。(圖+程式專案)

l          每人需提供一段程式碼改寫。(圖+程式專案)

l          每人需提供至少一頁讀書內容或讀書心得或程式解說或安裝步驟或資料整理。(需自行撰寫,勿網路剪貼)