Download presentation
Presentation is loading. Please wait.
Published byBruce O’Neal’ Modified 6年之前
1
第七章、RFID WinCE系統開發 本章針對RFID系統中的行動裝置架構開發方式進行介紹,這裡所指的行動裝置指的是使用Windows Mobile作業系統的個人數位助理PDA或是手機而言,本章內之範例可以在此平台上運作無虞。主要說明使用VS.NET 2008平台開發與RFID結合的Windows Mobile應用系統,本章使用的RFID硬體分為兩大類,一個是CF介面的讀取器,一個則是藍芽介面,兩者皆可以使用SerialPort物件進行資料的存取。
2
大 綱 7-1 行動裝置連線 7-2 CF介面系統開發 7-3 藍芽介面系統開發 7-4 RDA資料交換 7-5 傳送簡訊
大 綱 7-1 行動裝置連線 7-2 CF介面系統開發 7-3 藍芽介面系統開發 7-4 RDA資料交換 7-5 傳送簡訊 7-6 封裝與發佈
3
RFID WinCE系統開發 RFID系統中有些場合例如庫存盤點、博物館導覽或是現場無法配置電腦的場合都適合使用行動裝置來進行作業,只要搭配適當的RFID讀取器就可以作業,此類裝置主要分成外接式與內嵌式 外接式表示使用者已經有行動裝置,只要外接上適合的讀取器就可以作業,有CF(CompactFlash)介面(圖7-1所示)、PCMCIA介面(如圖7-2所示)與藍芽(Bluetooth, BT)介面等幾種外接讀取設備
4
圖7-1、CF介面RFID讀取器
5
圖7-2、PCMCIA介面RFID讀取器
6
RFID WinCE系統開發 內嵌式指的是裝置本身就已經有讀取器,有些甚至同時有條碼掃瞄器與信用卡刷卡機,如圖7-3所示,此些行動裝置多設計有把手,相當適合用於行動或物流盤點使用
7
圖7-3、內嵌讀取器的PDA行動裝置
8
RFID WinCE系統開發 上述的行動裝置包含有「個人數位助理PDA」與「智慧手機」,有了硬體再來就需要有資訊系統來協助資訊的擷取、轉換與傳輸。此些行動裝置常見的作業平台包含有MS WinCE(新一代的系統稱為Windows phone)、Linux、Nokia Symbian與Google Android等,各自的軟體開發工具都不相同,本章主要針對MS WinCE平台的系統開發進行介紹,搭配使用CF與BT介面的RFID讀取器,使用的開發工具則是MS Vistudio.NET 2008
9
行動裝置連線
10
行動裝置連線 要讓搭載WinCE作業系統的行動裝置與電腦連線,需要透過連線軟體ActivSync,連線後才可以進行資料交換與系統安裝或更新,因此本節將說明如何使用ActivSync ActivSync在購買PDA等行動裝置時都會隨機附贈,如果沒有的話,也可以到微軟網站上免費下載來使用
11
行動裝置連線 本書出版時最新的版本是4.5版,下載後的檔案是「ActiveSync_setup-4.5.msi」。使用滑鼠左鍵快按兩下後就可以開啟安裝程序,如圖7-4所示
12
圖7-4、ActivSync連線軟體安裝起始畫面
13
行動裝置連線 接著,請點選「下一步」出現版權宣告文字,請選擇「我接受」,否則將無法繼續安裝程序,如圖7-5,再點選「下一步」
14
圖7-5、ActivSync連線軟體安裝版權宣告畫面
15
行動裝置連線 此時出現「客戶資訊」畫面,您可以輸入自己的「使用者名稱」與「組織」資料,如圖7-6,再點選「下一步」
16
圖7-6、ActivSync連線軟體安裝客戶資訊畫面
17
行動裝置連線 出現安裝「目的資料夾」畫面,預設都是安裝在電腦的C:\Program Files下,您也可以選擇「變更」安裝到其他目錄位置,如圖7-7,再點選「下一步」
18
圖7-7、ActivSync連線軟體安裝位置畫面
19
行動裝置連線 如果設定都正確,將出現如圖7-8的安裝摘要畫面,準備開始進行安裝,請點選「安裝」
安裝過程如圖7-9所示,等待一段時間後,將出現圖7-10的安裝完成畫面,請點選「完成」結束安裝程序
20
圖7-8、ActivSync連線軟體準備開始安裝畫面
21
圖7-9、ActivSync連線軟體安裝完成畫面
22
行動裝置連線 現在可以開始透過ActivSync讓電腦與行動裝置連線並同步,請使用有線將行動裝置與電腦間實際連接上,此時將自動啟動ActivSync,如果連線成功將出現如圖7-10的畫面,可以選擇兩者間的連線關係,此處選用「來賓合作關係」就可以,連線完成後將見到如圖7-11所示的畫面,顯示「已連線」
23
圖7-10、ActivSync連線軟體起始同步畫面
24
圖7-11、ActivSync完成同步後之畫面
25
CF介面系統開發
26
CF介面系統開發 確認PDA與電腦連線並同步後,接著請使用VS.NET 2008建立新專案,專案類型請選擇”智慧型裝置”,如圖7-12所示,並將專案命名為CH7-1
27
圖7-12、VS.NET 2008建立智慧裝置新專案畫面
28
CF介面系統開發 接著,您需要選擇行動裝置平台,如圖7-13所示,有「Pocket PC 2003」、「Windows CE」、「Windows Mobile 5.0 Pocket PC SDK」與「Windows Mobile 5.0 Smartphone SDK」,此處我們選用「Windows Mobile 5.0 Pocket PC SDK」,開發的程式碼可以轉移到Windows CE 5.0以上的作業系統上使用。最後選擇「確定」
29
圖7-13、VS.NET 2008中行動裝置類型選擇畫面
30
CF介面系統開發 其次使用SerialPort物件來與CF介面之RFID讀取器進行資料傳輸作業,如圖7-14所示,請從工具箱中將SerialPort物件拖曳到表單上,物件將出現在畫面下方,如圖7-15所示,同時在表單上佈置兩個Label物件、ㄧ個TextBox與一個Button物件,作為標示與顯示卡號資料之用途,各物件屬性設定如表7-1之說明
31
圖7-14、VS.NET 2008中內含之SerialPort物件
32
圖7-15、PDA讀取RFID讀取器訊號使用者畫面設計
33
表7-1、表單物件屬性說明 編號 物件 物件名稱(Name) 屬性設定 1 Label Label1 Text=CF Reader讀卡範例 Font= Tahoma, 16pt 2 Label2 Text=卡號 3 TextBox TextBox1 將Text屬性清空 4 Button Button1 Text=開啟RFID CF Reader
34
CF介面系統開發 其次如圖7-16所示,請設定CF讀取器在PDA上的連接通訊埠,本例中為COM4,讀者請您依照您設備的不同而修改這個參數,最後就可以開始撰寫連線程式碼
35
圖7-16、設定RFID讀取器通訊埠
36
CF介面系統開發 首先在Button1_Click事件上撰寫利用是SerialPort物件開啟通訊埠COM4的程式,讓PDA與CF讀取器能透過COM4進行通訊 其次,利用SerialPort物件的DataReceived事件接收通訊埠COM4之卡號資料,並將讀取到的卡號指定到TextBox1中顯示
37
CF介面系統開發 撰寫完成上述的讀卡程式碼後,就可以實際將程式發佈到PDA上進行測試,請利用VS.NET 2008執行本專案,在圖7-17選擇部署位置項目中選擇「Windows Mobile 5.0 Pocket PC Device R2」,也就是要將程式實際轉移到PDA上執行,而不是只是使用模擬器Emulator
38
圖7-17、專案執行視窗選擇部署位置畫面
39
CF介面系統開發 程式部署完成後,PDA上將出現如圖7-18的畫面,等待使用者點選「開啟RFID CF Reader」的按鈕,點選後將出現圖7-19的啟動成功畫面。此時可以使用CF讀取器去讀取頻率相同的RFID標籤,就可以看到如圖7-20的畫面,輸入框TextBox1中將出現讀取標籤內的辨識碼
40
圖7-18、專案實際在PDA上執行的起始畫面
41
MessageBox.Show(ex.Message) End Try End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try SerialPort1.Open() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Delegate Sub settextboxtextdelegate(ByVal text As String) Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived Try Dim icoming As String = SerialPort1.ReadLine Me.Invoke(New settextboxtextdelegate(AddressOf settextboxtext), icoming) Catch ex As Exception MessageBox.Show("read error") End Try End Sub Private Sub settextboxtext(ByVal text As String) Me.TextBox1.Text = text
42
Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System
Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Deactivate If SerialPort1.IsOpen Then SerialPort1.Close() End If Me.Close() End Sub
43
圖7-19、CF讀取器成功啟動畫面
44
圖7-20、CF讀取器成功讀取卡號畫面
45
直接連接DB Dim cn As System.Data.SqlClient.SqlConnection
Dim cmd As System.Data.SqlClient.SqlCommand Dim da As System.Data.SqlClient.SqlDataAdapter ' 改變游標 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor ' 建立與SQL Server資料庫的連線 cn = New System.Data.SqlClient.SqlConnection("uid=XXX;pwd=XXX;database=XXX;server=XXX") cmd = New System.Data.SqlClient.SqlCommand("select * from XXX", cn) da = New System.Data.SqlClient.SqlDataAdapter(cmd) ' 加入新的資料表 Dim dt As System.Data.DataTable = New System.Data.DataTable(“XXX") da.Fill(dt) DataGrid1.DataSource = dt ' 恢復游標 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
46
連接DB確認會員 Dim whichtime As Integer = 0
Private Sub settextboxtext(ByVal text As String) If whichtime = 0 Then Me.TextBox1.Text = Mid(text, 2, 8) ' 擷取卡號 whichtime = 1 Else Me.TextBox1.Text = Mid(text, 3, 8) ' 擷取卡號 End If showmember("select * from member where m_rfid='" & TextBox1.Text & "'") End Sub
47
無法直接連線確認,會被SerialPort1_DataReceived攔截
連接DB確認會員 無法直接連線確認,會被SerialPort1_DataReceived攔截 Sub showmember(ByVal sql As String) Dim cn As System.Data.SqlClient.SqlConnection Dim cmd As System.Data.SqlClient.SqlCommand Dim da As System.Data.SqlClient.SqlDataAdapter ' 建立與SQL Server資料庫的連線 cn = New System.Data.SqlClient.SqlConnection("uid=982rfid;pwd=abcdef;database=982RFID;server= ") cmd = New System.Data.SqlClient.SqlCommand(sql, cn) da = New System.Data.SqlClient.SqlDataAdapter(cmd) ' 加入新的資料表 Dim dt As System.Data.DataTable = New System.Data.DataTable("member") da.Fill(dt) DataGrid2.DataSource = dt Label1.Text = DataGrid2.Item(0, 1).ToString cn.Close() End Sub
48
藍芽介面系統開發
49
藍芽介面系統開發 本節介紹使用藍芽介面的讀取器,可以與具備藍芽裝置的手機或是PDA等行動裝置做連接。本節使用的藍芽讀取器如圖7-21(左)所示,我們將透過藍芽讓其與PDA行動裝置連接(圖7-21右)。要完成連結,讀取器與PDA兩者都需要開啟藍芽功能,並正確的設定
50
圖7-21、藍芽介面讀取器(上圖左)與PDA(上圖右)
51
藍芽介面系統開發 首先,介紹PDA裝置上藍芽的設定與開啟方式如圖7-22所示,在WinCE的系統上選擇「開始」,您將看到開始功能選項,請選擇「設定」。接著將出現圖7-23的畫面,請選擇「連線」頁籤
52
圖7-22、設定藍芽連線起始畫面
53
圖7-23、選擇Bluetooth開始進入設定
54
藍芽介面系統開發 「連線」頁籤上有很多選項,我們需要的是「Bluetooth」這個選項,點選後將可以見到圖7-24的畫面。這裡可以選擇「開啟」或「關閉」藍芽功能,請您選擇「開啟」,如圖7-24所示
55
圖7-24、開啟藍芽功能畫面
56
藍芽介面系統開發 「開啟」藍芽功能後就可以開始進行連線的相關設定,請您在圖7-24上選擇「藍芽管理員」,可以見到圖7-25之畫面。包括有之前建立的連線名稱(這裡是HF00001與WM300BT)與作用中的連線。但是我們現在是要建立ㄧ個新的連線連到藍芽讀取器,所以請選擇圖7-25下方的「新增」,來建立一個新的連線
57
圖7-25、藍芽管理員畫面
58
藍芽介面系統開發 建立新的連線中包括很多方式的連接種類,如果不確定,我們可以選擇「查看Bluetooth裝置」,讓系統自己去搜尋周邊範圍內可以連接的裝置,我們要的是藍芽讀取器,如圖7-26
59
圖7-26、新增藍芽連線
60
藍芽介面系統開發 等待一段搜尋時間後可以見到如圖7-27的畫面,系統自動找到周邊可以連結使用的藍芽設備,被標示上問號的圖示就是新找到的裝置,問到代表尚未進一步設定連線參數,但是確定是可以被使用的
61
圖7-27、搜尋RFID藍芽裝置畫面
62
藍芽介面系統開發 請您點選問號圖示中您需要的設備,例如WM300BT,點選後系統會自動與裝置連線並取出其可提供的服務(圖7-28),如果沒有取得服務,將出現圖7-29的畫面,成功取得服務的畫面則是圖7-30
63
圖7-28、擷取RFID藍芽裝置服務畫面
64
圖7-29、RFID藍芽裝置未開啟無法連線之畫面
65
圖7-30、成功取得RFID藍芽裝置服務畫面
66
藍芽介面系統開發 請您點選圖7-30的服務,成功後將出現圖7-31的畫面,就完成PDA端的藍芽開啟與設定作業,選擇「完成」就可以回到圖7-25的畫面,但此時多了一個連線WM300BT,請注意!此時還沒有實際連線,請在WM300BT上點選不放開,將出現彈跳視窗,此時請選擇「連線」(圖7-32),就會啟動實際連線,但請注意,連線設備一定要開啟電源與藍芽,否則將造成連線失敗,如果連線成功,將出現圖7-33的畫面,圖示上會出現綠色的連線箭頭
67
圖7-31、完成與RFID藍芽裝置成功建立連結畫面
68
圖7-32、開始與RFID藍芽裝置建立連線畫面
69
圖7-33、與RFID藍芽裝置成功建立連線畫面
70
藍芽介面系統開發 此時,查看作用中連線,就可以看到剛剛選擇連線的設備WM300BT(圖7-34)
如果想要查看這個作用中的連線使用哪個通訊埠,可以選擇圖7-24中的「一般」頁籤,如圖7-35所示,再選擇「服務」,上方的服務選項內可以看到「序列埠」,點選「序列埠」後再選擇「進階」
71
圖7-34、RFID藍芽裝置作用中畫面
72
圖7-35、查看RFID藍芽裝置使用連接埠畫面
73
藍芽介面系統開發 在「進階」畫面中可以看到PDA與藍芽裝置間是使用COM5做內收資料,使用COM8做外送資料的通訊埠(圖7-36),這兩個位置對於寫通訊程式來說是很重要的,稍後我們將在程式中透過COM8進行藍芽讀取器的資料接收作業
74
圖7-36、RFID藍芽裝置內外使用之連接埠
75
藍芽介面系統開發 其次使用SerialPort物件來與藍芽介面之RFID讀取器進行資料傳輸作業,請從工具箱中將SerialPort物件拖曳到表單上,物件將出現在畫面下方,如圖7-37所示,同時在表單上佈置兩個Button物件、ㄧ個TextBox物件與一個Label物件,作為標示與顯示藍芽讀取器讀取的卡號資料之用途,各物件屬性設定如表7-2之說明,完成後的畫面如圖7-38
76
圖7-37、CH7-2專案中使用SerialPort物件畫面
77
表7-2、CH7-2專案表單物件屬性說明 編號 物件 物件名稱(Name) 屬性設定 1 Label Label1 Text=藍芽讀取器讀卡範例 Font= Tahoma, 16pt 2 Label2 Text=卡號 3 TextBox TextBox1 將Text屬性清空 4 Button Button1 Text=開啟藍芽通訊埠 5 Button2 Text=關閉藍芽通訊埠 6 SerialPort SerialPort1 PortName= COM8
78
圖7-38、CH7-2專案介面
79
藍芽介面系統開發 現在可以將程式發佈到PDA上執行,請確認藍芽讀取器與PDA都有啟動藍芽服務。程式執行起始畫面如圖7-39所示,等候啟動通訊埠 按下「開啟藍芽通訊埠」,成功開啟COM8的畫面如圖7-40
80
圖7-39、CH7-2專案執行起始畫面
81
圖7-40、CH7-2專案成功啟動藍芽通訊埠畫面
82
藍芽介面系統開發 現在,您可以使用藍芽讀取器讀取RFID標籤,標籤卡號將透過藍芽傳回到PDA上的CH7-2專案內,透過SerialPort物件的DataReceived事件進行接收,完成接收的畫面如圖7-41所示
83
圖7-41、CH7-2專案成功接收藍芽通訊埠傳送之卡號資料
84
RDA資料交換
85
RDA資料交換 會選用行動裝置通常看中的就是他的可攜性(Portable),但因為行動裝置(不管是PDA或手機)的記憶容量都有限,除非是擴充記憶卡容量;而且當PDA完全沒有電時,以往紀錄的程式與資料將隨之煙消雲散,所以往往會將資料儲存在資料庫主機上,需要時再透過PDA從主機上下載資料(download),作業完畢後再上傳(upload)到主機上
86
RDA資料交換 為了應付移動需要,且可能沒有網路環境,所以資料庫往往是在PDA上;以WinCE的系統來看,目前常見的有Pocket ACCESS與SQL Server CE兩種資料庫,前者並不支援PDA自動上下傳的功能,後者搭配SQL Server 2000或2005可以透過IIS Server(Internet Information Service)與RDA(Remote Data Access)達成資料自動下載與上傳的作業,本節就針對此架構進行介紹
87
RDA資料交換 要達成這樣的功能,讀者的開發或執行環境需要有表7-3所示的項目,本書光碟內有RDA 3.0(CH7/RDA3)元件,IIS環境則是須要Windows XP Pro/ 2000 Server/ 2003等作業系統版本才支援,安裝與使用方式我們將在後面內容說明
88
SQL Server與SQL Server CE資料上下傳與比對作業
表7-3、RDA環境建置所需資源列表 編號 項目名稱 用途 1 IIS Server 5.0以上 搭配RDA運作 2 RDA 3.0 SQL Server與SQL Server CE資料上下傳與比對作業 3 SQL Server 2000/2005 主機資料庫 4 SQL Server CE 2.0 PDA資料庫
89
RDA資料交換 如果讀者電腦內沒有IIS,您可以從「我的電腦」「管理」「服務及應用程式」查看有沒有安裝,如圖7-42,如果有安裝會在「服務及應用程式」中出現「Internet Information Service」,圖7-42顯示電腦尚未安裝IIS
90
圖7-42、電腦管理畫面
91
RDA資料交換 此處以Windows XP系統為例,介紹IIS的安裝,首先,請放入系統原始光碟,然後選擇「開始」「設定」「控制台」「新增移除程式」「新增移除Windows元件」,出現如圖7-43畫面
92
圖7-43、電腦新增安裝IIS畫面
93
RDA資料交換 請勾選「Internet Information Service (IIS)」,點選「詳細資料」可以看到進一步選項設定,出現如圖7-44畫面 此時,按下「確定」就可以開始安裝,如圖7-45畫面 過程中需要選擇需要的安裝檔案在原始光碟內,如圖7-46畫面
94
圖7-44、電腦新增安裝IIS設定畫面
95
圖7-45、電腦新增安裝IIS過程畫面
96
圖7-46、電腦新增安裝IIS過程畫面II
97
RDA資料交換 安裝檔案選擇畫面如圖7-47 選擇完成之後,可以在繼續安裝過程,如圖7-48 安裝完成畫面如圖7-49
接著我們可以確認「Internet Information Service (IIS)」是否被正常安裝,點選「我的電腦」「管理」,如圖7-50,接著可以看到電腦管理畫面,如圖7-51畫面
98
圖7-47、電腦新增安裝IIS過程畫面III
99
圖7-48、電腦新增安裝IIS完成畫面
100
圖7-49、進入IIS管理畫面
101
圖7-50、啟動IIS畫面
102
圖7-51、IIS正常執行畫面
103
RDA資料交換 請開啟「服務及應用程式」,裡面就可以看到「Internet Information Service」,確認已經完成安裝,如圖7-52畫面 如圖7-53,IIS並未被啟動,如圖7-54,請點選上方的起動按鈕來啟動IIS服務,啟動後畫面如圖7-55所示
104
圖7-52、RDA註冊畫面
105
圖7-53、RDA註冊成功畫面
106
圖7-54、RDA在IIS中註冊成虛擬目錄的畫面
107
圖7-55、IIS註冊成虛擬目錄的歡迎畫面
108
RDA資料交換 至此為止,完成IIS的安裝,接著就可以開始設定RDA3。首先請將光碟中CH7目錄中所附的RDA3目錄複製到讀者的電腦內,假設複製到C:\RDA3中。接著請使用「regsvr32」指令對目錄中的sqlcesa30.dll與sqlcerp30.dll進行註冊
109
RDA資料交換 請選擇「開始」 「執行」,在出現的視窗中輸入regsvr32 c:\RDA3\sqlcesa30.dll,如圖7-56所示,如果沒有錯誤將看到圖7-57的結果,依此步驟請再完成sqlcerp30.dll的註冊,完成後就可以進入下一個階段,設定RDA3搭配IIS運作
110
圖7-56、IIS設定虛擬目錄名稱的畫面
111
圖7-57、選取RDA3真正所在目錄的畫面
112
RDA資料交換 請注意!這個階段是假設您的IIS Server已經安裝並設定完成,同時是可以使用的狀態,如果答案是正確的。接著請進入您的IIS管理畫面,如圖7-58所示,在「預設的網站」中點選右鍵後出現的選單上選擇「新增」「虛擬目錄」,將出現圖7-59的畫面,請直接點選「下ㄧ步」,接著出現圖7-60的畫面,設定虛擬目錄的名稱,在本例中為RDA3
113
圖7-58、將RDA3目錄設定成可執行的畫面
114
圖7-59、RDA3正確執行的畫面
115
表7-4、表單物件屬性說明 編號 物件 物件名稱(Name) 屬性設定 1 DataGrid DataGrid1 2 Button Button1 Text=直接連線 3 Button2 Text=下載 4 Button3 Text=顯示下載的資料庫 5 Button4 Text=修改 6 Button5 Text=回傳
116
圖7-60、RDA表單畫面
117
下載DB(I) Imports System Imports System.Data
Imports System.Data.SqlClient Imports System.Data.Common Imports System.Data.SqlServerCe
118
下載DB(II) Dim rdaOleDbConnectString As String = "Provider=SQLOLEDB;Data Source=xxxxxx;Initial Catalog=xxxx;User Id=xxxx;Password =xxxxx" ' Initialize RDA Object Dim rda As SqlCeRemoteDataAccess = Nothing Try ' Try the Pull Operation If System.IO.File.Exists("\My Documents\rfid.sdf") Then System.IO.File.Delete("\My Documents\rfid.sdf") End If ' 改變游標形狀 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor ' 建立資料庫 Dim eng As SqlCeEngine = New SqlCeEngine("Data Source=\My Documents\rfid.sdf") eng.CreateDatabase() ' 恢復油標形狀 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default MsgBox("資料庫建立成功")
119
下載DB(II) rda = New SqlCeRemoteDataAccess(" "administrator", "", "Data Source=\My Documents\rfid.sdf") rda.Pull(“XXXX", "SELECT * FROM XXX", rdaOleDbConnectString, RdaTrackOption.TrackingOnWithIndexes, "ErrorTable") MsgBox("下載成功") Catch ex As Exception MsgBox(ex.Message.ToString()) Finally rda.Dispose() End Try
120
顯示下載DB Dim dt As System.Data.DataTable = New System.Data.DataTable("a01_user") Dim cn As New System.Data.SqlServerCe.SqlCeConnection Dim cmd As New System.Data.SqlServerCe.SqlCeCommand Dim da As New System.Data.SqlServerCe.SqlCeDataAdapter ' 開啟sdf連線 Try cn = New System.Data.SqlServerCe.SqlCeConnection("Data Source=\My Documents\rfid.sdf") ' 使用command執行sql指令 cmd.CommandText = "SELECT * FROM XXX" cmd.Connection = cn da = New System.Data.SqlServerCe.SqlCeDataAdapter(cmd) da.Fill(dt) ' 在 DataGrid 顯示資料 DataGrid1.Visible = False DataGrid1.DataSource = dt DataGrid1.Visible = True cn.Close() cn = Nothing Catch sqlex As SqlServerCe.SqlCeException MsgBox(sqlex.Message.ToString) Catch ex As Exception MsgBox(ex.Message.ToString) End Try
121
RDA資料交換 完成圖7-60的虛擬目錄名稱設定後請點選「下ㄧ步」,出現圖7-61的畫面,請選取您RDA3真正的所在目錄C:\RDA3,點選「下ㄧ步」後將出現最關鍵性的步驟,如圖7-62所示,預設「執行」是沒有勾選的,請注意此處一定要勾選「執行」,否則將造成RDA無法正常運作,最後選擇「下ㄧ步」完成所有的設定畫面
122
圖7-61、SMS2專案表單畫面
123
圖7-62、SMS2專案加入封裝專案畫面
124
RDA資料交換 如何測試RDA3是否正常運作呢?請讀者開啟瀏覽器,在網址列輸入「
125
圖7-63、SMS2專案加入封裝專案畫面II
126
RDA資料交換 請讀者如圖7-64建立新專案,本專案名稱為CH7-3,讀者可以在光碟CH7目錄中找到,並佈置如圖7-64的表單畫面,畫面上的物件說明如表7-4所示。本範例除了示範透過RDA交換資料外,也示範PDA透過PC直接與SQL Server進行資料連線的作業,請見直接連線按鈕
127
圖7-64、SMS2封裝專案設定畫面
128
表7-4、表單物件屬性說明 編號 物件 物件名稱(Name) 屬性設定 1 DataGrid DataGrid1 2 Button
Text=直接連線 3 Button2 Text=下載 4 Button3 Text=顯示下載的資料庫 5 Button4 Text=修改 6 Button5 Text=回傳
129
傳送簡訊
130
傳送簡訊 本節介紹如何透過WinCE智慧型手機系統發送簡訊(SMS),未來RFID將會搭配手機使用,除了透過RFID讀取器讀取資料外,怎樣將資料透過手機系統作傳送,也是很重要的事
131
傳送簡訊 VB.NET 2008中提供了「Microsoft.WindowsMobile.PocketOutlook」名稱空間,讓使用者可以呼叫「PocketOutlook」來傳送文字簡訊,使用前需要先引用名稱空間,與法如下: Imports Microsoft.WindowsMobile.PocketOutlook
132
傳送簡訊 其次透過「SmsMessage」類別建立簡訊物件,再透過該物件的SEND方法就可以傳送簡訊。當中,需要有電話號碼與簡訊內容,因此我們建立一個名為SMS2的專案,並將表單畫面設計成如圖7-65所示
133
圖7-65、SMS2封裝專案設定畫面
134
傳送簡訊 透過SmsMessage類別建立一個名為VBMobileSMS的物件,該物件需要兩個參數,第一個為電話號碼(Me.TextBox1.Text),第二個為簡訊內容(Me.TextBox2.Text),最後呼叫SEND方法就可以將簡訊發送出去,使用上相當方便
135
封裝與發佈
136
封裝與發佈 本節使用本章的SMS2專案介紹WinCE系統程式的封裝與發佈到裝置上使用的方法,請讀者先開啟SMS2專案。接著選擇「檔案」「加入」「新增專案」,如圖7-66所示
137
圖7-66、SMS2封裝專案內容選擇畫面
138
封裝與發佈 接著將出現專案類型選項,請選擇「其他專案類型」「安裝和部署」「智慧型裝置封包專案」,如圖7-67所示。給定專案名稱為SMS_Setup,存放位置與SMS2專案目錄一起
139
圖7-67、SMS2封裝專案內容選擇畫面
140
封裝與發佈 其次,將出現如圖7-68畫面,您需要將要封裝發佈的內容選入「應用程式資料夾」內
請在「應用程式資料夾」上點選「右鍵」「加入」「檔案」,如圖7-69所示,可以選擇您要封裝的內容 請選擇SMS2\Bin\Debug目錄內的所有檔案內容,最後選擇「開啟」,如圖7-70,結果如圖7-71
141
圖7-68、SMS2封裝專案建立捷徑畫面
142
圖7-69、重新命名捷徑畫面
143
圖7-70、建立特殊資料夾畫面
144
圖7-71、程式集資料夾畫面
145
封裝與發佈 請在SMS2.exe上按右鍵,選擇「建立SMS2.exe的捷徑」,如圖7-72所示
此處,我們將建立的捷徑重新命名成「my_SMS2」,如圖7-73 為了要在「程式集」中看到my_SMS2捷徑,我們先建立這個特殊資料夾,如圖7-74 最後,將my_SMS2捷徑拖入「程式集資料夾」內,如圖7-75
146
圖7-72、建置封裝專案畫面
147
圖7-73、建置完成畫面
148
圖7-74、行動裝置目錄區畫面
149
圖7-75、複製SMS_setup.CAB進入行動裝置目錄區畫面
150
封裝與發佈 現在可以開始建置產生安裝檔(WinCE的安裝檔為CAB檔案格式),如圖7-76
建置完成後,可以在SMS_Setup\Debug目錄內看到SMS_Setup.CAB檔案,如圖7-77所示,最後將此檔案複製到WinCE系統上,點選後就可以安裝執行 首先將行動裝置透過ActiveSync連接電腦,完成後,請透過電腦上的「我的電腦」「行動裝置」,進入行動裝置內的目錄檔案區,如圖7-78所示
151
圖7-76、SMS_setup.CAB於行動裝置目錄區畫面
152
圖7-77、SMS_setup成功安裝畫面
153
圖7-78、SMS_setup執行畫面
154
封裝與發佈 接著,再進入「我的Windows Mobile裝置」,此時,可以將SMS_setup.CAB複製進入進入「我的Windows Mobile裝置」目錄內,如圖7-79所示
155
圖7-79、複製SMS_setup.CAB進入行動裝置目錄區畫面
156
封裝與發佈 接著,請切換到行動裝置上,透過行動裝置上的「檔案總管」開啟其自身的「我的裝置」,可以看到SMS_Setp.CAB,如圖7-80
157
圖7-80、SMS_setup.CAB於行動裝置目錄區畫面
158
封裝與發佈 最後,請點選SMS_Setp.CAB就可以開始安裝,安裝完成後SMS_Setp.CAB會自動消失,我們可以在「程式集」中看到my_sms2的程式,如圖7-81,您可以開始使用,執行畫面如圖7-82
159
圖7-81、SMS_setup成功安裝畫面
160
圖7-82、SMS_setup執行畫面
Similar presentations