首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 ICE Developer Center Site Map          [搜尋]
ICE Developer Center Overview Register Training LearningSpace Workshop ICE Messaging Express MOM Glossary
Member Login Download GetLicense Support Profile iReal Program Logout

 .艾揚即時訊息技術電子週報 < ICE Messaging Weekly >. 

第 72 期 出刊日期:2004.05.18 本報內容由 艾揚科技 (ICE Technology Corp.) 提供

嵌入式裝置的遠端監控程式開發 ── 在 Pocket PC、Excel、C# 上開發 iPush® Embedded 客戶端

本期內容大綱

 
[編輯手扎] ICE Messaging Editor's Note  郭漢丞   

向「元件化」看齊

不久前 IBM 舉辦了「讓世界看到台灣軟體」座談會,邀請到資策會副執行長黃國俊、資訊軟體協會秘書長張國鴻、行政院研考會資訊處副處長何全德、資策會電子商務研究所主任粱中平等政府和業界代表與會,把「垂直分工,水平整合」策略,累積元件化的開發能力,增加產業的競爭優勢,提高解決方案輸出比例等等訴求,視 做台灣軟體業者邁向國際舞台致勝的關鍵。

或許是這類會議總得呼些口號,所以還是看得到譬如「增加產業競爭力」之類的用語,不過實質內容倒增加了一些,譬如累積元件化的開發能力,國內軟體產業經過這麼多年的發展,終究還是有進步,越來越貼近實際的市場運作。

「元件化」到底是個怎樣的東西?簡單的講,就是希望大家分頭製作專精的軟體「零組件」,組合起來就能應付各式各樣的應用,那麼軟體廠商就可以專心發展自我的核心價值,減少業者重複的研發投資。看起來好處多多,實際上卻是相當不容易達成。譬如汽車工業,要叫國際大廠合作生產各種「通用」的元件,然後彼此可以互通,大家只要專心經營品牌,骨子裡東西卻完全「相通」,恐怕是件匪夷所思的發展趨勢。我們可以看到少部分「通用」元件,譬如 Bosch 的變速箱就經常在雙 B 的車上見到,但是好車的定義卻不是由變速箱決定

回歸前面關於「元件化」的定義,重點應該擺在產品的「核心價值」上面,全球最流行的 Windows 發展至今,不知道已經收納了多少「元件」,但是它的核心價值沒有改變,就是提供消費者穩定易用的作業系統。軟體業者也應該找出競爭的利基所在,所以歸根就底,其實業者還是應該反求諸己,先找出自己的核心價值,發展具有「利用價值」的「元件」,這樣才能在「垂直分工、水平整合」的大方向裡面,找到自我定位的價值。

艾揚呢?很清楚,我們就是 Real-time messaging 的 Guru,要找「即時」的訊息傳遞元件,又要快速部署應用系統,可以使用 iPush® API + iPush® Server!

 
[訊息論壇] ICE Messaging Forum   塗能宇

<實作篇> 嵌入式裝置的遠端監控程式開發 ── 在 Pocket PC、Excel、C# 上開發 iPush® Embedded 客戶端

收到「即時」資料後,該怎麼辦呢?所謂的「即時」資料,都只會出現在某一個「瞬間」。也就是說若不進行處裡,您只要眼睛眨一眨,資料就 bye bye 了。所以如何將收到的資料,盡量做「不同」 的有效應用,就變得非常重要,否則再多的即時「資料」,也很難變成足以幫助判斷與決策的「資訊」。

如果讀者不健忘,上一期我們提到早先為了蒐集資料要跋山涉水,或是使用數據機也要提心吊膽的故事。但事情當然不是這樣就完了,通常資料蒐集完後還有一堆事情要做。例如用 Excel 進行分析啦、放到資料庫啦,還有經常需要彙整後,傳送給其他單位做研究或是參考。

嵌入式裝置能正常工作雖然重要,但資料的紀錄及進階分析工作也不可少。這時候,負責儀器的人,就開始資料的層層移交程序。這一些動作說起來只有兩三句話,但是實際做起來常常少則幾小時,多則可能需要好幾個工作天。

資料只不過是一堆數字,如果沒把它整理分析,或是套進數值模式跟歷史資料比對一下,看看與預測的誤差或是迴歸分析結果是不是差太多。 否則到底要如何找出是儀器需要重新調整,還是真的只是因為老天爺心情不好的緣故而導致。

所以,最理想的狀況,就是不同的應用程式或是使用者都能「隨時」、「同時」得到自己所需的資料,然後根據個別的需要進行資料的處理。例如:警示、 資料分析、即時預測、備分到資料庫等,這一些可能對傳統嵌入式裝置很難做到,但是對於裝有本來就提供即時、多點服務的  iPush® Embedded 的 PC-based PLC Controller 來說,做起來真是輕鬆愉快。

對傳統嵌入式裝置來說,通常同時僅能容許一個連線。也就是說,當某一個人正在監看控制器資料的時候,可能其他人就連不進來了。對於比較新式的 PC-based 控制器來說,上面 雖然可能有 Web 伺服器,解決了資料監看的問題,但是卻隱藏著安全性問題。此外,連線數一高,服務效能也會隨之降低。

iPush® Embedded 本來就是為了服務多客戶端所設計的,所以做起多類型客戶端的服務,完全沒有這些困擾。

在上一期我們已經實作了一個 iPush® Embedded 的 VB 客戶端範例,本期我們將延伸上期的內容,並將重心移到不同 種類客戶端 ── Pocket PC、Excel、C# 的資料展現方式上。

由於內容較多,我們僅提示重點過程,詳細實作內容,讀者可以利用本文最後之連結下載範例程式自行研究。若還有進一步的問題,歡迎利用本電子報的討論功能來進行心得交流。

電腦的硬體製造技術在這幾十年,可以說是獲得了長足的發展。教科書中,以前一間房子大小的硬體功能,還不如現在一手可以掌握的 PDA,甚至是行動電話中的功能。PDA 跟古老的機器比,能力當然強很多,要是跟現在的桌上型電腦比,在特定用途上,若只是看看文件或電子書、寫寫電子郵件,其實也是綽綽有餘的。

現在看起來理所當然的事,以前可是花大把銀子也不見得做得到。像是利用掌上型電腦收集遠端裝置的資料,常需要依賴系統廠商提供專屬的「整體」軟硬體搭配,才能夠達到要求。現在只要利用 iPush® Embedded 提供的 Windows CE ActiveX 元件 (API),加上 eVB (eMbedded Visual Basic),馬上就讓到處買得到的 Pocket PC 搖身一變,成為既省錢,又方便的隨身資料接收器。

接下來,我們簡要示範如何利用在 Pocket PC 上開發 iPush® Embedded 應用程式。在這邊,筆者將以手邊的 iPAQ 3870 為例,用 eVB 寫一個與上一期範例程式擁有相同外觀及功能的客戶端程式。

eVB 是微軟提供的免費開發工具,您可以在微軟的網站 http://www.microsoft.com/downloads/,找到 evt2002web_min.exe,下載並進行安裝。

同時,筆者也已經為 iPAQ 3870 安裝好適合其使用的 Windows CE / StrongARMv4  iPush® ActiveX Control 元件 (iPushXCE.ocx)。在此我們且略過 ActiveX Control 的佈署程序。

首先,我們先啟動 eMbedded Visual Basic 3.0,然後開始實作相關的程式內容:

圖一、eMbedded Visual Basic 3.0,看起來和 Visual Basic 幾乎一樣的嵌入式軟體開發環境

接下來就是引用 iPushXCE.ocx 與 iceHMsg.ocx 這兩個 API 函式庫。不過因為開發與測試環境還是在 PC 上,所以我們在這邊引用的會是 x86 版本的元件:

圖二、引用 iPush® API for Windows CE,因開發環境所致,所以用的是在 PC 上執行的 x86 版本

接下來,我們進入表單設計的部分。我們將 iPushXCE.ocx 與 iceHMsg.ocx 這兩個iPush® 元件加入表單中,然後沿用上一期範例的命名方式,將它們分別命名為 iPushX1 及 iceHmsg,以簡化修改相關程式碼。

圖三、使用與上一期相同的表單元件命名方式

接下來,就是移植程式碼的程序了,這一個步驟一點都不麻煩,只消使用 "複製" 和 "貼上" 就可以完成大部分的工作。

請將上一期的程式碼複製到如下的 eVB 表單中:

圖四、複製到 eVB 表單中的原始程式碼

由於 eVB 並不支援一些原有的 VB 函式,所以程式必須要在兩個地方稍做修改:

  • 將取 txtPort.text 值的 Val 函式取消。

  • 將不支援的字串轉換 Str() 函式改為 CStr()。

圖五、將 VB 使用的 Str() 函式修改為 CStr()

在完成引用元件、設計表單、複製程式碼、修改使用函式後,程式幾乎就已經完成了。接下來就是將程式編譯成可在 Pocket PC 上執行的 .vb 檔。請選擇 [File] 功能表上的「Make iPushCE_Weekly_CE.vb」命令:

圖六、編譯成可在 Pocket PC 上執行的 vb 格式檔案

最後用微軟提供的資料同步工具 ActiveSync 將編譯好的程式,複製到 Pocket PC 的資料夾中:

圖七、利用 ActiveSync 將程式部署到 Pocket PC 中
(其實只需要複製 iPushCE_Weekly_CE.vb 檔即可)

最後,我們就可以直接在 Pocket PC 上,點按執行,看到除了 Size 縮小,但幾乎和上一期功能一模一樣的 iPush® 客戶端程式,不同的是它的「重量」只有幾百公克。我們就這樣把原來拿來看電子書、記行事曆的 PDA,變成一個可以隨身帶著走的 iPush® Embedded 資料收集器了:

圖八、在 iPAQ 上實機執行的 iPushCE_Weekly_CE.vb,來自 iPush® Embedded 的即時資訊可以走到哪收到哪

對很多使用者來說,數字永遠比不上會動的圖表,或是五顏六色的圖形變化來得容易了解或是具有說服力。圖表除了好看之外,其實也是拿來比較歷史資料或是預測趨勢的好工具,尤其是連續或周期性的資料,把即時資料拿來跟歷史資料一比較,馬上就可以看到預估與實際的誤差,然後可以做進一步的分析修正。當然,這也有可能是嵌入式裝置出問題前,你所能知道的最後警告。

Excel 有非常強大的資料分析能力,也搭配了不錯的圖表功能。加上它的 VBA (Visual Basic for Application) 功能,提供了一個類似 Visual Basic 的開發環境。對於程式開發人員來說,除了顯示的畫面由 Visual Basic 的表單,變成 Excel 一格格的資料表外,其他的幾乎和 Visual Basic 一樣,所以設計起來非常方便。

在下面的例子中,我們將示範如何在 Excel 中,接收來自 iPush® Embedded 的資料,並將顯示在圖表中。

在開啟 Excel 後,我們第一步還是先進行表單的設計及將 iPush® ActiveX Control元件加入到 Excel 工作表中。

請選擇 [檢視] 功能表中的 [工具列] / [控制工具箱],然後按下 [其他控制項] 鈕,將 iPushX 及 IceHMsg 這兩個控制項加入表單中。然後,將控制項分別命名為 iPushX1 (來自 iPushX)、iceHMsgIn (來自 IceHMsg)、iceHMsgOut (來自 IceHMsg):

圖九、選擇 [工具列] 中的 [控制工具箱]
圖十、將 iPushX 及 IceHMsg 控制項加入表單中
圖十一、將控制項加入表單中。請注意必須在設計模式,才能看到這些控制項的顯示

在 Excel 中,我們省去了在 Visual Basic中,畫文字方塊及標籤的步驟,直接用 Excel 工作表中的儲存格,來做即時資料接收顯示與資料輸入的工具。

在這裡,我們使用:

  • IP 位址輸入 (IP):Sheet1.Cells(3, 5)

  • 連記埠號 (Port):Sheet1.Cells(4, 5)

  • 使用者名稱 (User Name):Sheet1.Cells(5, 5)

  • 密碼 (Password):Sheet1.Cells(6, 5)

  • 類比輸出:Sheet1.Cells(4, 2)

  • 類比輸入:Sheet1.Cells(6, 2)

  • 連線資訊顯示:Sheet1.Cells(1, 2)

  • 系統資訊顯示:Sheet1.Cells(2, 2)

而命令按鈕的控制項名稱,也請套用與上一期 VB 範例相同的名稱,這樣可以減少修改程式碼的負擔。

請選擇 [工具] 功能表中的 [巨集] / [Visual Basic 編輯器],進入 Excel 的 VBA 編輯環境。將上一期程式碼有關輸入資訊的部分,以及資料顯示的部分,由文字方塊換成試算表中的儲存格,如下圖所示:

圖十二、將連線資訊換成用 Sheet1.Cells 的資訊輸入
圖十三、輸出的資料換成由 Sheet1.Cells (6,2) 來輸出
表單修改完成後,我們還要套用 Excel 的圖表功能。請點按執行 [一般] 工具列中的 [圖表精靈],在圖表類型中選擇「直條圖」,然後按 [下一步] 鈕,設定資料範圍:
圖十四、在 [圖表精靈] 中選擇直條圖
圖十五、將資料範圍設定為 " =iPush_Embedded_Excel_Sample!$B$4:$B$6 " 後,按 [下一步] 鈕

最後按「完成」鈕,調整版面的配置,即可看到類似下圖的結果:

圖十六、可隨即時資料接收變化的動態展示 Excel 畫面

由於圖表的內容是與收到的即時資料相關,所以可以看到動態的資料展現效果。當然若有迴歸分析的需要,可以先將即時資料內容與歷史資料運算後,再輸出到圖表中。

雖然說傳統工業控制或是遠端資料擷取用到 C# 或是 Java 等新式語言的機會相對沒有那麼高,但是若您有興趣,我們也準備好了一個 C# 的範例,裡面的語法與程式設計邏輯和 Visual Basic 其實都差不多。

若您安裝了 Visual Studio .NET 或是 Borland 的 C# Builder,可以參考我們提供的程式內容 (副檔名為 .cs 的檔案)。

最後,我們來總結看看本期與上期完成的四個範例執行畫面:

圖十七、上一期的 Visual Basic 範例畫面 (左上)、C# 範例畫面 (右上)
、Excel 範例畫面 (下)
圖十八、本期前面的 Pocket PC 範例

這些範例,都是用來示範 iPush® Embedded 對於遠距、多點、不同監控程式執行平台、即時資料擷取的強大能力。若是您有興趣,歡迎在電子報討論區提出您的意見,與我們交流您的想法,或是到 ICE Developer Center,取得關於 iPush® 的技術文件與應用指南。

  • 完整範例程式碼與執行檔下載 >> Download ! (Zip, 204 KB)



1 2 3 4 5 6 7 8 9 10
有點重要  
非常重要

 


[訊息先生信箱] Ask Mr. Message    Mr. Message  


<Developer Louis 來信詢問>

請問 iPush® Server Cluster V2  與 Cluster Gold V2 兩者的差異為何?

<Mr. Message 的答覆>

Louis 您好,感謝您來信詢問。

若您曾經注意過「iPush® Server V2 各版本模組比較表」(可參考 iPush Server V2 產品介紹主頁),就會發覺 iPush® Server Cluster V2  與 Cluster Gold V2 唯一的差異,就是 Full Connection Redundancy 這一個特性。

根據艾揚科技在 Datasheet 中的解釋,所謂的 Full Connection Redundancy,是指在叢集部署備援使用者認證主機 (Auth. Center 或 AC Server) 的情況下,只要還有任一台認證主機可以正常運作,系統保證可以完全服務至叢集授權的使用者連線數。

也就是說,iPush® Server Cluster V2  與 Cluster Gold V2 之間,並非 API 不同,也不是 Server 技術有所高低,而只是授權模式的不同,在系統保證的使用者最高連線數上,做差異化的部署。更實際來說,差異化的部署,會表現在整組 iPush® 叢集的 Server License Keys 發給上,而非存在兩組不同的執行程式。

那麼哪種資訊服務適用 iPush® Server Cluster V2,哪種資訊服務適用 Cluster Gold V2 呢?這完全取決於部署者對使用者承諾的 SLA (Service Level Agreement) 到達何種程度而定。

如果部署者給予使用者的服務承諾,是只要系統中任一 iPush® Server 還正常運作著,就必須能夠提供資訊服務給叢集所有的授權使用者連線數,那麼就應該部署 Cluster Gold 授權;但若可服務的授權使用者連線數,可以因叢集中一或多部 iPush® Server 停止服務而降低,那麼只要採行 Cluster 授權即可。   

歡迎來函詢問 Mr. Message 任何與訊息有關的技術、產品、應用、實作、商務問題,Mr. Message 必將竭誠答覆。

 go top

[艾揚快訊] ICE Express   ICE Developer Center  


<快訊一> 

WinHEC 2004 台北場 5/26 開鑼,iPush® Embedded 會場現身 (05.18)

全球電腦硬體產業最重要的技術盛會 ── WinHEC 2004 (Windows Hardware Engineering Conference 2004) 台北研討會,即將於 5 月 26 日至 27 日在台北國際會議中心舉行。會中將揭露微軟公司最新的技術趨勢,以及 Windows 下一世代作業系統平台的最新進展與發展產品開發藍圖。

艾揚科技與重要策略夥伴 ── 泓格科技股份有限公司均為微軟嵌入式系統夥伴計畫 (Windows Embedded Partnership Program) 的成員,泓格科技將以銀級贊助商的身分參與盛會,會中將展示基於 Windows CE .NET 作業平台的嵌入式控制器 WinCon-8000, 其內建有艾揚科技的 iPush® Embedded for Controller 系統軟體,賦予嵌入式控制器主動即時數據推播的能力,同時確保遠距、多點數據採集、傳輸的效能與安全性。屆時歡迎大家前往參觀指教。

活動網址:http://www.microsoft.com/taiwan/events/winhec/cht/default.htm

go top

<快訊二>

Computex Taipei 6/1 開跑,iPush® Embedded 會場現身 (05.18)

揮別 SARS 和總統大選的陰影,本屆 Computex Taipei 將如期於 6 月 1 日至 5 日假台北世貿展覽館舉行,盛況空前。

艾揚科技之重要策略夥伴 ── 泓格科技將在世貿二館 E096、E097 場地展出,重點在於嵌入式系統與 Internet 的整合、嵌入式作業系統與應用設備無縫結合之重大突破。除首次展出以 Xscale 處理器為核心的嵌入式產品,著重於強大的通訊能力與影像功能外,在去年獨領風騷的 WinCE-based 嵌入式控制器 WinCon-8000、遠距即時訊息解決方案、與搭配之工業 I/O 解決方案,亦為展出之重心。

在如何同時解決遠距與即時性這兩個問題上,泓格科技選擇與全球即時大量訊息領導廠商艾揚科技結盟,取得艾揚科技的遠距即時訊息平台 iPush® Server Embedded Edition (簡稱 iPush® Embedded) 授權,賦予 WinCon-8000 即時訊息主動交換的能力,使其具有新世代工業控制器必備的網路即時訊息基礎架構,不僅在傳統的工業控制領域如智慧型工控設備,有極為廣泛的應用空間,而且在需要使用高性能、專用化嵌入式系統的醫療保健類電子設備,以及在車載盒、智慧交通等領域的應用,也呈現出前所未有的生機。本次 Computex 展場上,艾揚科技的 iPush® Embedded 將隨著 WinCon-8000 展出,屆時歡迎各界先進蒞臨指教。

活動網址:http://www.icpdas.com.tw/training/banner_c.htm

go top

<快訊三>

泓格科技推廣嵌入式應用,艾揚科技即時訊息技術拔刀助陣,6/4 協辦參與「深耕 PC-BASED 應用,台灣廠商挑戰全球自動化發展之機會」研討會 (05.18)

泓格科技以「深耕 PC-BASED 應用,台灣廠商挑戰全球自動化發展之機會」為題舉辦的探索嵌入式系統應用研討會,將於 6 月 4 日下午 1 點假台北世貿一館第 5 會議室舉行。

會中將分別以「嵌入式控制器與產業自動化產品的最佳整合」、「ICP DAS 嵌入式產品的發展藍圖與策略」、「Windows CE .NET 嵌入式工業用控制器 ── WinCon-8000」、「產業自動化的提升關鍵 ── 即時/遠距/多點的嵌入式訊息技術」為題,帶領與會者一窺泓格科技致力發展的高性能嵌入式系統,以及在工業自動化、高科技數位裝置新應用、以及產業動態的最新趨勢。

身為泓格科技重要的策略夥伴,艾揚科技責無旁貸的拔刀助陣,由陳育杰資深協理主講「產業自動化的提升關鍵 ── 即時/遠距/多點的嵌入式訊息技術」,帶領與會者一覽遠距即時訊息平台 iPush® Embedded for Controller 的奧妙,以及如何將即時訊息主動交換的能力整合進 WinCon-8000,使其具有新世代工業控制器必備的網路即時訊息基礎架構。

同時,配合中心端 IPC 等級的 iPush® Server,如何達成由現場到控制室、企業資訊系統一氣呵成的訊息供應鏈。艾揚科技以活動協辦單位的身分,歡迎大家踴躍參加,並不吝給予批評指教!

活動網址:http://www.icpdas.com.tw/training/banner_c.htm


上一期精采內容:嵌入式裝置的遠端監控程式開發 ── 使用 iPush Embedded


若您覺得本期內容值得參考,請轉寄給認識的朋友或同事,為國內的訊息技術社群發展盡一份力。感謝您。 

免費試用 iPush Server,請連結 ICE Developer Center 網站:http://www.icetech.com.tw/icedc,進行 Register → Login → GetLicense → Download 作業即可。

訂閱與取消訂閱本電子週報,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

查閱本電子週報舊有出刊內容,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

 

回艾揚即時訊息技術電子週報主頁 | 上一期

Copyright 2002-2004, 艾揚科技股份有限公司版權所有;歡迎轉寄。
關於電子報發送有任何問題,或是欲轉載內容,請連絡 icedc@icetech.com.tw
台北市 100 羅斯福路二段 9 號 12 樓之 1 ,TEL: +886-2-2396-1880,FAX: +886-2-2396-1881

Unsubscribe >>
欲取消訂閱艾揚即時訊息技術電子週報 (ICE Messaging Weekly),請 Mail 至 icedc@icetech.com.tw
主旨註明:取消訂閱艾揚即時訊息技術電子週報 即可。



艾揚科技股份有限公司  台北市 103 承德路二段 81 號 15 樓之 1   電話:+886-2-25586101   傳真:+886-2-25586102

Copyright © 2002-2008 ICE Technology Corporation. All Rights Reserved.