• 沒有找到結果。

第三章 研究方法

第三節 系統實作

本 研 究 的 RFID 設 備 採 用 Microprogram 微 程 式 資 訊 股 份 有 限 公 司 的 MP-602MUS 讀寫器,並且由讀取器(Reader)與軟體系統設計整合(Middleware &

System Ibtegration)串連而成的架構,其動作原理是由 Reader 發射特定頻率 (13.56MHz)之無線電波,用以晶片內部驅動並將資料傳回,Reader 便可以接收到 資料。透過RFID 標籤貼在物品上,企業只要藉由一部讀取機即可取得該物品的 資訊。當RFID 的資料被自動感應後,後端處理的系統尚可自行設計後續處理的 流程。MP-602MUS 非接觸式讀寫器是採用先進的 Philip/Mifare 非接觸式 IC 卡技 術(內建 PHILIPS P89LPC931 單晶片控制晶片),讀寫卡片操作距離最大可達 60mm。可相容所有的 Philip/Mifare 系列卡片,並符合 ISO/IEC 14443 Type A 標 準。MP-602MUS 讀寫器應用程式設計的開發環境如圖 3-5 所示,其軟體支援部 分則包括高階非接觸式卡片控制指令、高可靠度通訊協定、Win32 開發工具和函 式庫(DLLs)、卡片安全管理工具 Option 以及客製化函式庫(DLLs)Option 等;API 函式庫包含C、VB6 及 DOTNET 等語言。

應用程式 API COM

API

MP-602MUS(Desktop)

Firmware

嵌入式系統Lib(客製化)

API 支援

• WinCE、Win32 作業系統

• C/C++、C#VB6、DOTNET

應用程式 API COM

API

MP-602MUS(Desktop)

Firmware

嵌入式系統Lib(客製化)

API 支援

• WinCE、Win32 作業系統

• C/C++、C#VB6、DOTNET

圖 3-5 開發應用架構圖

另一方面,應用程式開發者只須利用廠商提供之 API 函式庫,便可以直接

Open Reader 建立連線

1. 讀取和記錄下卡片序號 (選擇卡片指令)

2. 驗證所輸入的鍵值是否符合該 Sector 的 Key A/B (載入密碼指令) 3. 指定 Block 讀取或寫入資料 (讀取指令或寫入指令)

圖3-7 個人化使用者設定圖

而本研究只需要讀取卡號,並且不需指定任何Block 和驗證密碼,卡號是允 許讀取的資訊,所以只要使用選擇卡片指令就能傳回卡號。

使用MP-602 或其他 USB 通訊界面之 Reader,之前必須先安裝通訊界面驅 動程式。安裝完成之後,將會在Windows 系統上建立一個虛擬的 Com Port,應 用程式可透過該通訊埠和Reader 取得正常的連線通訊。介面程式部分使用 Open Reader 函式與讀取器建立連線,連線成功之後才可以進行讀寫器或卡片的操作功 能。讀寫器的通訊速率(Baudrate)API 會自動搜尋,若有指定正確的通訊速率,

可加速執行 OpenReader 功能。本研究於程式撰寫時先測試後再指定 COMPort 及Baudrate,另一個原因是這樣可以簡化使用者介面操作。接著使用 Open Card 函式選定卡片,當卡片進入感應範圍內,便可取得卡片序號(數值型態);不過,

結束讀卡時,應要執行Close Card 功能,才能繼續讀取別張卡片。

因此,為了要能持續地自動感應卡片和取得卡片序號的運作,程式必須隨時 隨地都在偵測任何卡片進入感應範圍,而偵測的方法就是使用選擇卡片(Open Card)函式,同時於程式中加上一個 Timer,將 Timer 的 Enabled 屬性改為 False,

並將Interval 屬性改為 2000,表示每兩秒觸發一次 Tick 事件;在 Timer 觸發事件 中撰寫Open Card 函式的程式碼。間距設為兩秒是考慮感應反應時間、專櫃動線 間距及消費者感受。綜合以上研究與實作,其實作的行動載具使用者介面如圖 3-8 所示。

圖3-8 行動端使用者設定圖

本介面程式之執行檔連同廠商的RDINT_Class.dll 一起移植到行動載具,如 NB、EeePC 上,可順利運作。因此,當消費者經過某個專櫃時,行動載具的 Reader 感知到該專櫃的卡片序號,便會以帶參數的方式將卡片序號(若是個人化消費 者,會同時間傳送user id 參數)給後端管理系統,後端管理系統接收參數去查詢 資料庫,將符合條件的專櫃促銷訊息顯示出來,如圖3-9 所示。

圖3-9 促銷網站管理介面圖 二、促銷網站管理

本系統主要分成消費者及專櫃管理者兩個管理介面,以及與行動載具溝通之介面 程式:

1. 消費者管理介面提供消費者註冊為會員;若屬會員,可以登入系統進行個人 化設定,即在網頁的專櫃清單中進行勾選,確定後,該筆清單便會寫入資料 庫或更改資料庫中的偏好資料。當消費者啟動行動載具的Reader 時,若經 過他所勾選的專櫃時,後端管理系統便會依據專櫃的勾選記錄去搜尋資料庫 中的促銷訊息。

2. 專櫃管理者介面提供專櫃管理者註冊為會員;若屬會員,可以登入系統進行 專櫃之促銷訊息或活動訊息,這些訊息會存入資料庫中。

3. 行動載具使用者介面係用 VB2005 .NET 開發,而後端管理系統係用 PHP 程 式開發,兩者間必須建立溝通,有關個人化之流程如圖3-10 所示。行動載 具使用介面程式感知到專櫃的卡號後,以System.Diagnostocs.Process.Start 物件方法呼叫後端管理系統的PHP 溝通介面程式,同時將使用者 ID 及卡號 一併傳送過去,後端管理系統的PHP 溝通介面程式以$_GET[使用者 ID]及

$_GET[卡號]接收參數,並依所收到的參數進行分析以判斷是否顯示促銷訊 息。

資料庫 取得卡號(及客戶id)

$UID=chop($_GET[‘UID’]

$u_id=$_GET[‘u_id’]

依客戶id取得該用戶的Record SELECT * FROM c_user where u_id='$u_id'

then System.Diagnostics.Prosess.Start(http://A.php?UID=卡號)

else System.Diagnostics.Prosess.Start(http://B.php?UID=卡號&u_id=客戶id)

圖3-10 行動載具使用介面與後端管理系統之介面溝通

相關文件