2009年9月7日 星期一

RFID程式注意事項

撰寫RFID程式時
啟動時需要Open comm跟enable發信器
這大家通常會記得

因為若沒有此步驟
將無法讀取

但是後需要加入關閉comm以及disable發信器的語法(列於C1Lib內)
還有Application.Exit();的選項

如此一來才不會影響其他程式使用Reader
在PDA程式中
右上的X鍵並不能關閉應用程式
效果差不多等於將視窗最小化
無法釋出系統資源

2009年9月2日 星期三

RFID電腦設備讀取程式 ver3

這是目前做出來可以透過RFID進行電腦設備讀寫的程式

程式包含六個欄位,
分別由顯示電腦編號的textbox和顯示其它配備資訊的下拉式選單組成。
另外有右上方一個訊息顯示窗,和右下方的讀取集存檔兩個按鍵。




程式啟動後若一切正常,右上方則會顯示就緒訊息,
若系統提示異常,則檢察是否有未關閉的RFID讀取程式。

此時由於系統內並沒有RFID資訊,所以存檔鍵是被鎖定的。
按下讀取鍵,便會開始進行約16秒鐘的讀取,
這段期間若有讀取到RFID tag,則會停止讀取程序,將取得的標籤資訊顯示。
若讀取到的ID內已有訊息則會顯示在欄位上,否則欄位上會出現"待輸入資料"的字樣。

ID欄位請使用PDA的輸入功能輸入電腦編號,其餘欄位則使用下拉式選單提供的選項,
待資訊輸入完畢,則按存檔鍵,存檔成功後會出現提示訊息。

當讀取到已經記錄過的標籤,顯示在欄位中的資料亦可再編輯,同樣在更改完資料後,
使用存檔鍵,若不需更改,則可隨時讀取下一個標籤。

程式使用中可點右上角的X鈕,此程式會在背景待命,若已不使用,則點選menu中的exit,
即可關閉程式。


此程式所紀錄的標籤資訊位於PDA母資料夾"\88manager\record"資料夾中,
每筆檔案的檔名為RFID tag所屬的ID,
其內部則為記載的資料,若要在不同PDA使用此程式,請一併複製"88manager"資料夾到所屬PDA的位置。


2009年8月24日 星期一

讀取程式 精簡版

針對讀取所需要的程式重新寫過,
保留針對當前使用ISO 15693規格的Tag所需要的功能。

Demo程式包含讀取ID 以及測試讀取ID所需要的時間



程式畫面↓









打開程式,將comm打開並enable系統之後,點選Detect即可進行讀取,
這個流程是為了測試用,之後可以整合在系統內不需要多按兩鍵。



下圖為新程式取得的數據,讀取的時間可以降到一秒內,較原廠附屬的測試程式
縮短不少時間。


下一步將整合讀取與測試程式進行實驗。

2009年7月22日 星期三

近期工作計畫

撰寫PDA程式
能夠做到獨立程式,
不需依附原廠搭載的Demo程式。
目的在於對讀取有更直接明確的操作,
並且排除不必要的功能,簡化程式的使用。

接著在功能上,能夠呈現符合實際的工作讀取情境,
建立設備正式使用時的操作模式,並且能夠順利在實驗中取得數據並記錄於檔案,
提供演算法設定參數的依據。

2009年6月10日 星期三

PnpDemo程式閱讀 擷取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月9日 星期二

閱讀"認知障礙者 自動尋徑室內導航系統"報告之心得

在閱讀報告之前,一直無法分辨這個專案和另外一個室內導航機的差別,後來發現是訴求與方式的不同。

同樣是室內導航機,此專案的訴求在於,引入了通用設計的概念,提供選擇的不是既定的路線,而是使用者的特性。該系統能夠依照使用者的障別不同,而去尋找最適合使用者行進的路線,甚至還加入了避開危險路段或是使用者無法行進的路段參考去訂出路線,我想如果再加入系統時間,系統也可以在深夜時段引導女性使用者避開偏僻的區域,非常好的設計。

對應上面的特色,接下來的設計相當高段。該專案所呈現的路徑規劃,並非一開始就有設計人員決定好,再套用預設的導航資訊,而是利用演算法,實際去計算出最適路線,也就是說,沒有任何的路線是先被決定的,每一個使用者每次在任何一個提供服務的區域,都能接受到量身訂作的導航服務,甚至在走失返回的功能中提到的建議,尋徑系統也考量進去了,真的不愧是得獎的作品。

報告中呈現的實驗過程,除了實地去行走測時相當費時費力之外,使用軟體進行模擬、計算與測試的擷圖,只能說是厲害,在閱讀的報告當中,雖然也有程式撰寫的畫面,但在這份報告當中第一次看到Console介面的測試畫面,感覺就是很不一樣。我想有這樣的程式基礎,一定可以設計出良好的操作界面以達成小組所期待的通用設計與簡便好操作的訴求。

該專案在報告完成之前,已經進行了實驗,有這樣的進度組員肯定相當的用心,也因此讀完的感覺這份報告是所有裡面,無論內容或是架構都是完整度最高的一份。看到這裡也深深感覺到這學期我們真的還有許多可以加油的地方。

閱讀"具有"多點出發/走失返回/使命必達"功能的新式認知障礙者室內導航系統"報告之心得

看到這份報告,雖然是第一次看,卻覺得熟悉,我想是因為這份專案所使用的系統,和我們目前在進行之工作辨識系統的母系統"工作提醒系統"採用接近的技術應用,同樣是利用藍牙信標的感測,觸發PDA內建的程式進行輔助。另外,"導航"這項工作對我來說也不陌生,我想是因為我的個人背景有關。

導航在於輔助工作的地位,我一直覺得是在非常高階的。對於一個能力有限的個體,有一個良好的導航系統輔助,除了可以大大提升效率之外,還能有讓使用者感到安心,消除焦慮的功用。導航這個項目中有一項很關鍵的動作在於定位,唯有知道使用者當下的位置,才能做出有效的引導,缺乏了這部分,那僅僅是一份參考資料而已。

利用藍牙信標定義位置的便利性在工作提醒的專案中已經看出其便利性,這個專案延續了這項優勢,同時加入了"多點出發"與"走失返回"的功能,對於文中提到上一代的功能僅有"在出發點就決定路徑然後沿途引導"的裝置,在使用靈活度上大大的提升,但讀到這邊有發現一個小bug。

在第10頁末提到
"以學長姐完成的QR Code認知障礙者路徑指引系統為基礎,與指導學長現有的架構,在老師的指導之下,開始研究如何改善針對各類障礙者使用的室內導航系統。"

隨後在第16頁 第三章開頭的時候卻寫到
"我們將以指導學長延究的藍牙室內導航系統為基礎"

我想或許背景應用程式的設計是一樣的,只是用來定位的信標分別為QR code和藍牙信標,另外一個可能則是我收到的報告並不是最終版本,因為文件尚有一些編修的敘述,不過不影響閱讀。

多點出發從它系統的目的和運行方式,可以看出是一項不小的工程,它必須要考量每一個出發點,同時對應到每一個目的地,才能達到這個目標。另外,走不同的路線,其引導資訊勢必也要非常豐富,再加上多媒體呈現的方式,資料量的控管可能也要列入考量。但可以預見,如果系統完成,對於室內導航的效率是可以肯定的。

最後在走失返回的內容,如果判斷偏離路徑是靠PDA感測到非選定路徑上應有的藍牙信標,而引導返回的動作是帶領使用者返回上一提示點,我想是否有可能在提醒走錯路之後,再配合多點出發的特性,直接在新的藍牙提示點,進行導航即可? 如此一來更可以凸顯多點出發的靈活特性。