802.11 - based

Personal Wireless Communication System

                                                    1.導論

                                                           1.1簡介

                                                           1.2研究動機

                                                    2.架構分析

                                                           2.1架構圖

                                                           2.2架構解說

                                                           2.3 分工說明

                                                    3.實做

                                                           3.1行事曆

                                                                         3.2 Voice mail

                                                               3.2.1功能

                                                               3.2.2實做方法

                                                            3.3Buddy List

                                                                3.3.1功能

                                                                3.3.2實做方法

                                           3.4開發環境

                                                    4.結論

                                                    5.參考資料 

                                                    6.程式碼下載

                                                       

 


1. 導論 

          1.1簡介

                    近年來無線網路成為網路界的新寵兒,相關的應用也陸續的被開發出來。行動式的裝置

             在無線網路架構裡扮演重要的角色,諸如Note  Book、PDA、Mobile   phone等,這些產品目的

             都是提供使用者更方便獲取資訊的管道,達到資訊不離身的目標。

 

 

       1.2研究動機

                     我們發現如果以PDA的可攜性加上無線網路的輔助便可以打造一個無障礙、資訊隨處可

                 得的網路環境,因此本專題以中央大學的校園為目標,企圖開發一個校園無線區域網路,並

             在其中加上行事曆、VOD( voice on demand )、線上ICQ等個人化的資訊服務,提供校內學生一

             個開放的網路環境。

 

 

 


2. 架構分析

        2.1架構圖

                      整個WLAN Access Network的架構上分為五個區塊,分別為Access Control System( AC )、

              Authentication System( AS )、Mobility Management System( AP )、Personal Adaptive Web System

              (WEB)、以及Multimedia System(MS) 等,其中包括認證,控制,多媒體以及網站伺服器。

             其整體架構如下圖:

                                   

 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2架構解說

                      MT: Mobile Terminal,即一般使用者的PDA or NB等攜帶型的裝置。

                      AP : 一般的Mobile Terminal透過Access Point (IEEE 802.11b)或者GPRS連上網路,

                                AP  team在此時取得使用者連線方式,若使用者是透過Access Point上網,則

                                依據AP提供的資料計算出使用者目前的大概位置。

                      AC: 本身是一DHCP server,當client一連上網路後都會先被導到AC,並做認證的

                                動作(認證的機制由AS提供),將通過認證的client導到Web system。

                      AS: 主要提供加密認證的功能,同時也具有accounting的機制。

                      Web: 將通過AC的client導到個人首頁

                      MS: 提供使用者Video on demand的服務

 

 

 

 

        2.3分工說明

                      我們這一組所負責的是Personal Adaptive Web System,提供個人化的資訊服務,包括

                       一般的Web service(最新消息、個人行事曆、以及Voice mail等)以及使用者定位服務

                      (user location),除此之外,還會由Multimedia team的影音串流(media stream)用來提供

                      使用者VOD的視訊服務,前面提到的使用者定位服務也是由AP team的實做成果整合

                      而來,所以總括來說HLR  Web System是結合各組成果並提供使用者一個多功能的使

                      用環境。

 

 

 

 


3. 實作

        實做方面我們將 Web System的功能略分為幾大項,再根據這幾項功能依序實做:

        1. 行事曆:提供線上行事曆,讓使用者能隨時安排行程。

        2. Voice mail:期望能達到語音留言的目的,讓使用者隨時隨地接收到發送者的訊息。

        3. Buddy list:即線上好友列表,具有類似icq的傳訊功能,並結合AP team 的location機制,

                             顯示好友目前位置。

        整個web system的架構可以下圖表示

           

 

 

 

        3.1行事曆

            我們將行事曆的功能區分為今日行程、一週行程、每月行程、顯示月曆、以及新增行程四項,

            並將原有的行事曆系統改為符合PDA方便瀏覽的形式。

            以pocket pc模擬器瀏覽的結果如下:

                    (一)web首頁

                                       

 

 

                    (二)行事曆

                    (行事曆首頁)                                                                (今日行程)

                                                

 

   (一週行程)                                                                     (每月行程)

                                        

 

(顯示月曆)                                                                        (新增行程)

                                    

 

 

 

 

 

        3.2 Voice mail

                3.2.1功能 :

                我們所預期達到的目標是讓使用者在瀏覽網頁的同時可以傳送語音mail至server,然後再由server

                送mail給收信者,例如A使用者在某個教室留言給使用者B,當B走進該教室時,server便會將留言

                傳送給B。(因為Wince的PocketIE並沒有提供我們外掛元件的功能,因此我們必須另外再做一個類

                似IE的HTML browser,並在上面開發voice mail的功能(上傳語音檔案等))。

 

                3.2.2實做方法:

                Voice  Mail的流程圖如下:

               

               

                

                server部分:

                我們在VB上用Winsock來接收client端的連線,當client傳送檔案到server時,server紀錄此時client所

                在位置,連同檔案存入DB,當收信者check DB時,即可檢查是否有語音留言。

                client部分:

                在wince上用Winsock傳送語音檔案,但是因為wince上的Winsock不支援binary data的傳送,因此我

                們必須再將語音檔案使用base64的加密,使得加密過後的文字檔可以Winsock正常收送。

                    遭遇的困難:

                1. 如同之前所說,一開始嘗試的時候發現wince的開發工具--eVB的winsock元件並不支援二進位資

                    料的傳送,所以我們才考慮用加密成文字檔的方法來做。

                 2. 後來在做的時候因為必須對檔案作binary的存取( 加密時需對每一個byte做處理 ),而又發現eVB

                    的file control控制元件不支援對二進位資料的存取。

                3. 所以又嘗試直接使用Windows API來做檔案的存取,但是仍遭遇類似的問題。

                未來改進的部分:

                1. 除了解決上述的問題外,還要實做收信者接收的部分。

                2. Automation,做到使用者一錄音就自動送信和發信給收信者。

                3. 結合Buddy list的功能(後述)。

                部分成果如下頁

 

                (簡易的HTML browser)                                                (瀏覽網頁的畫面)

                                    

 

               (檔案上傳的介面)                                                        (選取檔案)

                                   

 

 

        3.3Buddy List

                3.3.1功能 :

                提供使用者線上好友名單,具備和ICQ相似功能的訊息傳遞功能,並和AP team的

                Location功能整合,顯示線上好友目前所在大約位置 。

 

                

                3.3.2實做方法:

                流程圖如下 : 

               

 

                說明 :

                網頁語言我們以ASP為主,在和其它team連結的部分,為了方便存取AP team的MySQL

                所以便以PHP撰寫,我們經由向AS team抓取使用者,利用取得的使用者IP位置,再向

                AP team取得User Location。

                也就是當使用者連至AC server通過認證後,AC會給使用者一IP,此時取得使用者ID與

                IP的對應資料,接著去query AP team的Location DB( 使用者ID與Location的對應資料 ),

                才能取得目前使用者的位置。

 

                未來改進方向:

                1. 實做整合AP team的Location功能,顯示使用者的位置。

                2. 增加新的功能,如傳送Message。

 

                部分成果如下 :

                我們以ASP搭配 MS SQL實作Buddy List的功能,以PacketPC模擬器瀏覽的結果如下:

            (新增好友)                                                                    (好友名單、好友位置)

                                    

            

 

        3.4開發環境

            開發平台:Microsoft Windows XP

            開發語言:Visual Basic 6.0(server)、embedded Visual Basic 3.0(client)、ASP(行事曆)

            執行平台:Microsoft Windows XP(server)、Microsoft Pocket PC 2002(client)

 

 

 

 


4. 結論

                因為是學生第一次接觸到PDA方面的程式設計,著實花了一番功夫去熟悉開發的工具,而由於時間

        不足所以選擇開發速度較快的eVB而沒有使用eVC,不過雖然是開發較方便的eVB,卻也遇上了不少困難

        ,例如winsock不支援二進位資料的傳送,所以還去參考了rfc與base64相關的資料,並努力將它實做出來。

        另外,這個專題是多個組合作共同完成的,所以在後期要結合在一起的時候,才真正感覺到團體合作的

        重要性,學習如何溝通協調,並解決發現的問題,也算是這個專題的另一個收穫。

 

 

 

 


5. 參考資料

        李永隆, “Windows CE程式設計實務”, 眳p

        王國榮, “Active Serve Pages網頁製作教本”, 旗標

        RFC 1521 “Mechanisms for Specifying and Describing the Format of Internet Message Bodies”

         李永隆, “深入PDA程式設計”, 文魁

        楊先民, “實戰Pocket PC程式設計”, 學貫

 

 

 

 


6. 程式碼下載

        1. serve端程式碼

         2. client端程式碼