2009年6月28日 星期日

聊聊6/30期末成果發表 準備

輾轉得知,老師覺得期末報告的時間不需要太長,大約三四十分鐘,保留一些時間給與會朋友操作看看PDA,玩玩看硬體,所以我大概構思了一下報告的綱要,其中主要兩個大方向是互相衝突的,所以討論看看哪一個比較妥當。

第一個是比較制式的,概論的:
一、說明我們的專題跟精障服務工作的關係、精神,合作情景,願景。
二、解釋我們目前在做的工作,原理,思考方向,與未來工作。
三、進行這些工作可以學習到哪些項目。
四、硬體操作時間,Q&A



第二個就比較專攻性質的
綱要大概就是把第一項拿掉,二三四項做比較深入的說明,把知道的全托出來,同樣地包括硬體時間跟Q&A。


兩者的差別在於第一種的會比較不深入,但聽起來內容是比較平易近人,怕會有給人閒聊感覺的反效果,第二種的話則是擔心首次接觸的人會很難吸收。

然後我看看可不可以簡單設計一個闖關遊戲,利用做為硬體時間的橋段,藉由遊戲的方式呈現我們製作工作辨識的一個概念。是一個構想,可能也用不上什麼檯面上的演算法,就是呈現一個感覺這樣。

大家討論看看囉

2009年6月12日 星期五

RFID Demo程式閱讀 擷取TagID 6/12更新

目前已經找到了存檔路徑,也成功在資料夾中建立檔案,並且依序讀取資料後加入指定檔案。
但目前僅僅輸出Tag ID,接下來將思考輸出更完整的資料。
目前啟動輸出功能需要由額外按鍵啟動,希望接下來可以將功能整合到原先內建的Detect鍵當中,以簡化流程。

待.txt檔功能完整後,將進行XML檔的嚐試。





ps.希望老師不要把我當掉,才有下學期的努力空間.....

2009年6月10日 星期三

RFID Demo程式閱讀 擷取TagID

本文重點:擷取TagID

此系列工作重點在於理解RFID Reader的應用程式(以下簡稱PnpDemo),熟悉並且能加以修改,加入需要的功能以利工作辨識的進行。PnpDemo能夠讀取、寫入資料於 RFID tag,現階段工作目的為建立讀取過RFID tag之編號的紀錄,首先要建立的功能為擷取RFID tag ID,並且存成檔案。

利用Visual Studio2005可以對PnpDemo的C#專案進行閱讀和編輯。主程式中的許多敘述都以Tag type加以分別撰寫,所以我們可以針對我們工作使用的ISO15693的部分重點閱讀。

針對尋找讀取TagID的部分,並非採用逐行閱讀的方式,既然有了明確的目標,我們從frmMain.cs的設計界面中,先找到了顯示ID的textbox 控制項名稱,再以其屬性"txtTagID.text"去搜尋,我們在frmMain.cs中第153行找到了MyTag.ID。利用加入簡單的 MessageBox做了一個小測試,的確可以提供我們需要的ID參數。

但我們不能直接在frmMain中加入指令索取 MyTag.ID,我想是因為MyTag這個物件是在系統讀取到Tag之後才會建立的,直接由MessageBox存取會造成系統Compile時產生錯誤,因為在那時候MyTag其實是不存在的。因此我們在原本的敘述當中,加入了另外一個變數去存取MyTag.ID,如此一來即使在程式的起始狀態還沒有 MyTag存在,MessageBox指向一個空變數也不會造成Compile的錯誤。

當中MyTag.ID為一個String型別的資料,所以我們在frmMain.cs當中定義一個String 變數,使我們得以存取,並且在測試之後成功顯示。

接下來要做的工作是存成檔案,C#有現成的方法可以將資料存成.txt檔案,日前在電腦上已經做過測試成功,理論上只要套用上去就可以work,但有路徑問題需要克服。

在電腦當中我們已經很習慣型如C:\為開頭的檔案路徑,但在PDA當中,並沒有明顯可見的磁碟機代號的存在,必須加以了解其路徑運作模式,才可以將檔案存在指定的位置。現階段我們欲嘗試的方法,是僅僅在檔案IO的語法上僅指定檔案名稱,在電腦上這樣的動作會使得.txt檔存放在程式的母資料夾。倘若在PDA上也行得通,那即使我們無法指定檔案出現的位置,也能夠取用檔案進行分析,尚稱堪用。

2009年6月1日 星期一

RFID Demo程式閱讀

嚴格來說,這算不上是一篇進度,
但可以說是接下來一個工作的小方向。

在Demo程式的閱讀雖然未有很大的%數,
但其傳遞標籤資料的class和變數不難看出來是寫在哪裡。

能夠得知我們需要擷取的物件變數等參數之後,
建議針對C#語言中的file I/O的語法作研讀,
這是建立辨識資料輸出的必要知識。
接著是判斷數值或字串的相等,搭配判斷式來建立辨識程式的基礎。

以C++為例
判斷數值是否相等
可以用if(i= =j)

但在字串比對上
則要使用
strcmp(a字串,b字串)
strcmp應該是String Compare的意思
當兩字串相等時
strcmp會回傳0;若不相等則會回傳大於0或小於0的數。

另外應該也有回傳系統時間的函數
有利於讓我們以時間進行讀取資料的分類與命名

這兩天應該會生出幾個小程式 當作辨識程式的陽春範例

端午連假回家陪爸媽綁粽子
差點連腦筋一起給綁進去了
收假後是該加班趕進度了...

2009年5月13日 星期三

分工

專題報告的分工目前是

林延駿: 背景 相關應用 演算法 未來工作

胡國治: database 硬體部分



而接下來進度分工....

1.原廠DEMO程式閱讀理解(每週兩次) BOTH
2.資料庫建制(每週一次)胡國治
3.比對演算法(每週兩次)林延駿
4.程式硬體(每週一次) 胡國治為主,我則視情況幫忙協助

2009年5月7日 星期四

RFID 讀取測試一

RFID Tag 讀取測試一
"RFID Reader直接讀取tag標籤"

使用Sirit PnP Rfid Demo應用軟體作為讀取的介面。
該程式在啟動時 PDA需要確實安裝SDIO的讀取元件,
倘若出現錯誤訊息,則將讀取元件重新插緊,通常可以排除狀況。


一進入程式的初始狀態


PDA裝上SDIO的讀取裝置


SDIO的讀取元件


背面



進入程式錯誤時的訊息 重新插入讀取元件即可解決 造成的原因通常是卡片沒有插好



該程式具有Detect、Read、Write三種Function。Detect Function可以讀取16位的Tag ID、Tag type,還擁有Attempt、Reads兩個參數,以及一個開始感應的Detect Button。手邊配置的Tag無論卡式或貼紙式皆能讀出一個16位的Tag ID以及ISO 15693的Tag Type,而Attempt是觸發Detect之後嘗試讀取的次數,reads原本以為是讀取到的標籤數,但後來發現有一張以上的ID重疊,會有讀取上的障礙*,所以暫時還沒試出這個讀數的意義。

讀取到Tag的畫面


Read Function同樣可以讀取到ID與Type的Info.,除此之外還可以讀取到Tag內部儲存的資料(Tag Data),我們拿到的卡片在讀取的時候Data欄是空白的,Tag Data的部分可以在Write Function寫入。在讀取Tag Data的時候,英數半形符號可以順利讀取,全形英數跟繁體中文在讀取的時候皆會以"?"取代,無法正常顯示。

同時輸入中文與半型英數符號 在以Read Tag讀取所得到的畫面


Write Function則是提供PDA可以簡單輸入Tag Data的介面
可以選擇輸入Tag Data的格式,經過嘗試目前只能在ISO 15693的規格下進行寫入以其他規格進行寫入都會得到Write failed的訊息。而在ISO 15693的環境下可以有255個字的輸入,包含中英數的輸入,而寫入成功之後會得到Success的訊息。Tag Data在Write這個Function中,也可以作清除的動作,也就是說Tag Data是可以反覆讀寫的。

無法在此格式下寫入,得到失敗訊息


中英數三種文字都可以順利寫在Tag裡 但PDA不能讀?


--
*:會在系列文"讀取的障礙"中加以說明

2009年5月1日 星期五

972 專題進度





專題報告內容:

一、 背景

二、 相關工作項目(介紹一下 RFID應用)

三、 ProtoType原型機(硬體)

四、 設計(演算法+硬體)”取樣、量化、演算法”

五、 未來展望