首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 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

 .Workshop - ITS(GIS Fleet Management) - How-to : Step by step. 

Workshop - ITS (GIS Fleet Management) - How-to : Step by step 

( 以 Java Applet 技術為例的 GIS + Internet 車隊即時監控 ) |  回 Step-by-step 首頁  聯繫資訊  | 


實作步驟 (友善列印版本):

作業項目 步驟目錄
iPush Server 安裝與測試 步驟一:安裝 iPush Server
步驟二:在 iPush Server BackOffice 中新增 Service 與 User 帳號,並測試是否運作正常
安裝 Data Generator 步驟三:下載與安裝 Java Development Kit (JDK)
步驟四:下載與安裝 Data Generator
步驟五:設定與測試 Data Generator
實作 HTML + Java Applet 監控程式 步驟六:準備所需工具
步驟七:編譯 Java Applet 程式
步驟八:編輯 HTML 網頁
步驟九:上傳 HTML,程式與相關檔案
步驟十:執行與觀測結果

  iPush Server 安裝與測試

步驟一 安裝 iPush Server

依據 iPush Server Installation Guide 的說明安裝 iPush Server (在此以安裝 for Windows 2000 的版本為例)。安裝前請記得申請 License Key。

確認 iPush Server 已安裝完成,並可正常執行。

-> iPush Server 安裝程式、Installation Guide、與 License Key 申請,可以登入 ICE Developer Center 進行之。

   
步驟二 在 iPush Server BackOffice 中新增 Service 與 User 帳號,並測試是否運作正常

請參閱 iPush Server Getting Started 文件,或是 iPush Server BackOffice 使用手冊,在 iPush Server BackOffice 中新增一組 Service 與 User 帳號,讓監控程式 (iPush Client AP) 接收即時資料使用。設定資料如下:

Add a new Service:

  • Group: ICE
  • Product: ICE
  • Expiration Date: 依需要自行設定之
  • Limited Connections: 依需要自行設定之,但建議高於 10 以上。

 

 

Add a new User for Java Applet client:

  • Group: ICE
  • Product: ICE
  • User ID: monitor
  • Password: monitor
  • Re-Enter Password: monitor
  • Start Date: 依需要自行設定之,但必須早於今天
  • Expiration Date: 依需要自行設定之
  • Read Permission: ch0 (代表對 Channel ch01~ch05 都有訊息接收的權限)
  • Write Permission: - (代表對任何 Channel,均無送訊息的權限)
  • Concurrent use: 依需要自行設定之,但建議高於 10 以上。
  • 其餘選項,依需要自行設定之。

 

 

另外,再設定另一組 Service 與 User 帳號,讓 Data Generator (這也是一個 iPush Client AP) 餵送即時資料使用。設定資料如下:

  • Group: ICE
  • Product: ICE
  • User ID: datagen
  • Password: datagen
  • Re-Enter Password: datagen
  • Start Date: 依需要自行設定之,但必須早於今天
  • Expiration Date: 依需要自行設定之
  • Read Permission: -  (代表對任何 Channel,均無訊息接收的權限)
  • Write Permission: ch0  (代表對 Channel ch01~ch05 都有餵給訊息的權限)
  • Concurrent use: 1
  • 其餘選項,依需要自行設定之。

 

 

上述 Service 與兩組 User 帳號新增完成後,可以開啟兩個 TestMsgAgent 測試程式,一個扮演監控程式,一個扮演 Data Generator 角色,確認對 iPush Server 的訊息收送無誤。

-> iPush Server Getting Started、iPush Server BackOffice 使用手冊等文件,可以登入 ICE Developer Center 下載之。

-> TestMsgAgent 測試程式可以在 iPush Server 光碟的 VC API 範例程式中找到,或者至 ICE Developer Center 下載。

   

  安裝 Data Generator

步驟三 下載與安裝 Java Runtime Environment (JRE)

我們可以將負責產生即時訊息的 Data Generator,安裝在與 iPush Server 同一台的主機上 (當然,也可以不同)。由於 Data Generator 是以 Java 撰寫,執行時必須要有 JRE 執行環境才行。若已經安裝則可以跳過;若尚未安裝,則可至 Java - J2SE 網站下載並安裝,網址為 http://java.sun.com/j2se/downloads.html

-> 記得在 Windows 的環境變數中加入 JDK 的路徑。

   
步驟四 下載與安裝 Data Generator

點按下列連結,下載 Data Generator 相關程式檔案:

下載後,依原目錄結構,解壓縮至 c:\ 目錄下 (當然,您也可以選擇使用不同的路徑)。

   
步驟五 設定與測試 Data Generator

打開 c:\DataGen\DataGen.properties 檔案 (可以使用記事本開啟編輯之),對應在步驟二新增的 Data Generator Service 與 User 帳號,更改與 iPush Server 連線所需的資訊:

  • ipush,ServerAddress=即您 iPush Server 的 IP 位址
  • ipush.ServerPort=即 iPush Server 的 IP 服務埠號 ( for Windows 2000 版本預設為 8000)
  • ipush.Company (即 Group)=ICE
  • ipush.Product=ICE
  • ipush.Username=datagen
  • ipush.Password=datagen 

其餘選項不變 (使用者可以自行依需要進行變更)

接著,開啟一個 DOS 作業視窗 (命令提示字元),於其中執行 c:\DataGen\datagen.bat,讓 Data Generator 可以根據設定,開始餵給 (Publish) 資料到 iPush Server。執行前請先確認先前安裝的 iPush Server 正常運作中。

你可以開啟一個 TestMsgAgent 測試程式,對應在步驟二新增的監控程式 Service 與 User 帳號,訂閱 ch01, ch02, ch03, ch04, 與 ch05 頻道,看看是否能接收到 Data Generator 所送出的資料。

   

  實作 HTML + Java Applet 監控程式

步驟六 準備所需工具

您所需的工具如下:

  • 一個您慣用的 HTML Editor (如 FrontPage、Dreamweaver、或記事本皆可)。
  • 一張台北市街道圖,您可在此點按下載。< Download:台北市街道圖」>  (285 KB, 由勤崴科技提供)
  • iPush® Java component for fleet demo (iceipush_utils.jar),您必須下載此包含 iPush® Java Package API 的 iceipush_utils.jar 檔案。< Download: iceipush_utils.jar(28 KB) 

將街道圖與 iPush® Java component for fleet demo (iceipush_utils.jar) 存放於 c:\ipushdemo 目錄下 (或可依您的需求另擇目錄存放)。

   
步驟七 編譯 Java Applet 程式

Java Applet 原始碼可由此下載 < Download: demo.java(5 KB) 下載後將此檔案存為 c:\ipushdemo\demo.java

然後我們”開啟命令提示字元” (Command Prompt),在 c:\ipushdemo 路徑下執行以下指令來編譯 demo.java:

c:\ipushdemo>javac –classpath iceipush_utils.jar;. demo.java

若編譯無誤,Java 編譯器會產生兩個 Java Class:CarData.classdemo.class

此 demo.java 的原始碼解釋如下: 

import com.icetech.ipush.*

   使用 iPush® Java API

class CarData

   車機資訊的定義 class,包含 Car ID,Timestamp,座標,時速,車輛顏色等

public void init()

  1. 顯示使用者界面,包括背景街道圖與即時資訊顯示欄位
  2. 使用 iPush.netConnect() 與 iPush® Server 連線
  3. 使用 iPush.SubScribe() 從 iPush® Server 訂閱頻道,在此為”ch01” ~ “ch05”

public void doMessage(byte[ ] ch, int chlen, byte[ ] data, int datalen)

  1. 當車機 (Data Generator) 透過 Channel “ch01” 到 “ch05”傳資訊給 iPush® Server 時,因為有 Subscribe “ch01” 到 “ch05” 的緣故,API 會自動呼叫此 Function,並將相關資訊傳入
  2. 當收到來自車機的資訊時,呼叫 updateCarData(car) 來更新每個車機的目前狀態 (定義於 class CarData),並顯示即時資訊
  3. 在更新完車機目前狀態後,呼叫 repaint(),將所有目前車輛的位置移動到最新位置

您可以視需要自行修改此 Java 原始碼。

步驟八 編輯 HTML 網頁 (以記事本編輯器為例)

打開記事本程式,開新檔案,鍵入下列 HTML 原始碼 (您可以 Copy-Paste 複製之): 

<html>
<head>
<title>艾揚虛擬車隊即時監控</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>
<body>
<p align="center"><font color="#6600FF" size="+1">艾揚虛擬車隊即時監控 -- <font color="#FF0000">範例實作</font> </font><br>
<APPLET CODE="demo.class" width=950 height=600 CODEBASE="." ARCHIVE="iceipush_utils.jar">
   <PARAM NAME = port VALUE ="8000"> 
   <PARAM NAME = company VALUE ="ICE">
   <PARAM NAME = product VALUE ="ICE">
   <PARAM NAME = user VALUE ="monitor">
   <PARAM NAME = password VALUE ="monitor">
   <PARAM NAME = channel VALUE ="ch01-5">
   <PARAM NAME = LUX VALUE ="1213033.8">
   <PARAM NAME = LUY VALUE ="250211.4">
   <PARAM NAME = RDX VALUE ="1213207.6">
   <PARAM NAME = RDY VALUE ="250102.4">
   <PARAM NAME = mapWidth VALUE ="800">
   <PARAM NAME = mapHeight VALUE ="600">
</APPLET>
</p>
</body>
</html>

然後將此檔案存為 c:\ipushdemo\ipush_its.html。這是一個簡單的 HTML 檔案,其中包含一個我們剛剛才編譯完的 Java Applet Class “demo.class”,此 Java Applet Class 有一些參數輸入。其中 ”port”, “company”, “product”, “user”, “password” 為 iPush Server 的連線資訊 (因為 Java Applet 的特性,只能與 Applet 所在的系統連線,故此處不必指定 IP address)。

其他參數解釋如下:

channel: 此 Java Applet 要向 iPush® Server 訂閱 (Subscribe) 的 Channel,在此為 “ch01”~”ch05”

LUX,LUY:背景台北市街道圖最左上角的經緯度座標

RDX,RDY:背景台北市街道圖最右下角的經緯度座標

mapWidth,mapHeight:背景台北市街道圖的寬度和高度

    
步驟九 上傳 HTML,程式與相關檔案

到目前為止,整個系統已設計完成,接下來我們要將所有相關檔案上傳至 Web Server 來執行 (因為 Java Applet 的安全性限制,和網路連線有關的 Java Applet 必須放在 Web Server 上才能執行,而且此 Web Server 和 iPush® Server 必須裝在同一台機器上。此範例實作我們以 Microsoft IIS Server 作為 Web Server (在安裝 iPush® Server for Windows 的過程中,我們已經安裝了 IIS Server)。

接著我們上傳剛才所編輯的 HTML file,編譯過的 Java Applet 與相關檔案 至 IIS Server,我們將所有相關檔案上傳至 IIS Server 的 c:\ipushdemo 目錄下,需要上傳 5 個檔案如下:

ipush_its.htm:即時車隊監控主網頁

demo.class:即時車隊監控的主程式 (Java Applet) 之一

CarData.class:即時車隊監控的主程式 (Java Applet) 之一

iceipush_utils.jar:包含 iPush® Java Package API 的 Library

demo.jpg:台北市街道圖

上傳後請將 c:\ipushdemo 目錄設為 Web 共用 如下:

-> 嫌分段編輯 HTML 檔案太累?好吧,圖方便的您,可以直接下載這整個 ipush_its.txt 檔案回去。下載存檔時,記得將附檔名從 .txt 改成 .htm。< Download: ipush_its.txt > (0.9 KB)

 
步驟十 執行與觀測結果

恭喜您!到目前為止,所有的步驟均已完成,我們來執行看看是否可以正常運作。在執行之前,請記得下列動作是否完成:

  • iPush Server 已經啟動
  • Data Generator 執行中

接下來,請打開 IE 瀏覽器測試一下,看是否可以用 http://your-web-server-ip/ipushdemo/ipush_its.htm 來存取車隊即時監控的網頁,您應該可以看到即時變化的五個車機資訊,與不斷移動的車子標誌了,如下圖所示:

(電子地圖由勤崴科技提供)

以下是放置在艾揚科技網站上的同一執行範例,您可以比對看看:

線上展示:Java Applet 即時車隊監控 - GIS + Internet

(可以同時開啟多個視窗進行監視,而每個監視視窗即佔去一個 Concurrent Connection )

再一次恭喜你成功地完成此範例,並體驗到快速應用 iPush Server 於Internet 即時車隊監控的容易。若是還有任何的問題,歡迎與下列人員聯繫:

技術支援:Tel: +886-2-23961880 Ext. 66  E-Mail: support@icetech.com.tw

夥伴/業務:Tel: +886-2-23961880 Ext. 62  E-Mail: eric@icetech.com.tw

  Demo 範例  |  回 Step-by-step 首頁  |




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

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