中小學氣象站搭配之 - IPv6 · 5 公館國小 大安 已停機 35 湖田國小 北投...

38
附件二十七 295 附件二十七、中小學氣象站搭配之 Live E!套件修改規劃書 九十九年度「新一代網際網路協定互通認證計畫」 期中研究報告附件 中小學氣象站搭配之 Live E!套件修改規劃書 中華民國 九十九年五月

Transcript of 中小學氣象站搭配之 - IPv6 · 5 公館國小 大安 已停機 35 湖田國小 北投...

  • 附件二十七

      295

    附件二十七、中小學氣象站搭配之 Live E!套件修改規劃書

    九十九年度「新一代網際網路協定互通認證計畫」 期中研究報告附件

    中小學氣象站搭配之

    Live E!套件修改規劃書

    中華民國 九十九年五月

  • 附件二十七

      296

  • 附件二十七

      

    297

    目次

    前言 ........................................................................................ 298

    Live E!介紹 ............................................................................ 298

    中小學氣象站設備介紹 ........................................................ 300

    系統分析 ................................................................................ 303

    修改規劃 ................................................................................ 305

    成果與結論 ............................................................................ 305

    參考資料 ................................................................................ 307

  • 附件二十七

      

    298

    前言

    推動新一代網路的成功關鍵在於是否可以提供讓企業和個人使用的應用

    服務。過去各個先進國家投資許多經費在 IPv6 關鍵應用的開發,我國在第一期計畫中,也成立六個 IPv6 關鍵應用工作小組,發展網路電話(VoIPv6)、校園應用(Campusv6)、車機應用(Carv6)、個人應用(Personv6)、居家照護應用(Healthcarev6)、生態格網應用(Ecogridv6)。雖然當時在實驗室開發出不少功能完整的 Prototype,但是因為大環境不成熟,無法吸引業者導入商用服務和應用系統。在本計畫時程內,面臨 IPv4 位址枯竭危機的倒數時期,整個大環境已經相當成熟。應用服務分項規劃以「種子計畫」的概念,以兩個階段來發展

    可以真正導入實際服務和商業運轉的應用服務,希望可以達到最高的投資報酬

    率。

    Live E!介紹

    1. Live E! IPv6 數位氣象感測資訊運用:

    1. 目的

    Live E! 是由日本東京大學與日本企業所主導的數位化氣象應用服務平台,擁有完整的 SOA 架構,提供氣象資訊服務,本系統具有階層擴充性,可搭配不同種類的感測器,透過感應裝置收集相關資訊,經由網路

    上傳至相關伺服器,將資訊分享,提供自然科學之研究,或是結合應用服

    務誘發更多的服務。

    IPv6 最佳的運用將會是在感測器上,如何透過有效的環境將資訊分享並誘發新服務運用就是需要努力的方向,本計畫是延續東京大學與

    TWNIC 長期之 Live E!環境觀測計畫,並保持與日本之合作,而本計畫目標為輔導業者開發以台灣產品為主的套件,降低成本,並且導入民間應

    用,最終達到完成台灣環境觀測之運用。

    本計畫 2009 年度的重點成果如下:

    與日方協調 Live E!新一代環境之規格

    測試台灣硬體為主之商業 Live E!套件:測試內容包含取得 IP、設定有線網路、設定無線網路 IEEE802.11a/b/g、創建 6To4 Tunnel、動態DNS 服務、PHP、Live E…等。

    服務系統規劃與測試並確認示範點場地:選擇之民宿包含童話村、北成庄、風箏園、香格里拉休閒農場及香格里拉冬山河渡假飯店。

    整合服務實驗測試:在安裝完氣象站後,我們開始設定資料上傳伺服器、導入 IPv6 與 6to4 Tunnel、修改接收天線,確保資料可以正確的傳送與接收。

  • 附件二十七

      

    299

    2010 年度,本計畫將延續前期成果,進行下列重點工作:

    與台北市教育局、氣象局合作利用 IPv6 氣象感測網路(50 站其中 25站優先導入 Live E!),以期許將環境感測運用於中小學資訊融入自然教學的示範運用。

    透過Live E! IPv6雲端資料介面(IPv6 cloud service-PaaS)與氣象局進行雙向氣象資訊交換。

    將台灣成功商業化 Live E!的架設套件於東京大學 Live E!亞洲區推廣活動中向 Live E!各參與國會員推廣。

    2. 重要性

    強調 IPv6 在感測環境中的優勢運用。

    以此實際運用績效爭取國家電子肌膚相關計畫。

    隨著日本將 Live E!標準化,提供感測資料交換的標準平台。

    3. 國內外有關本委託研究計畫之研究情況

    關於 Live E!之應用

    a. Live E!是透過數位化的氣象站,擁有完整的 SOA 架構,提供氣象資訊服務,本系統具有階層擴充性,可搭配不同種類的氣象感測器,

    透過感應裝置收集相關資訊,經由網路上傳至相關伺服器,將資訊

    分享,提供自然科學之研究,或是結合應用服務誘發更多的服務。

    b. 此氣象站共有五個監測元件:溫度、溼度、壓力、風向風速及雨量。氣象站的資訊是用採用 XML 的語法,再透過 SOAP 轉換,讓即使是在不同平台及應用程式的 Server 跟 Client 也能溝通。

    c. 在傳輸部分 Sensors 系統可以在 IPv4/IPv6 Dual-Stack 網路使用多點傳播運作,使得資訊可以同步的傳送到多個節點,上傳到 Live E!主系統則是透過 IPv6(新世代網路協定)技術達到在不同的系統分享資訊。

    在日方有關 Live E!計畫

    a. 在日方有下列的政府機關或公司有在使用 Live E!相關的計畫或實績

    - 岡山縣倉敷市(政府機關)︰在市地(約 25*25Km 的地區)佈建 30點的 Live E!氣象站,並將氣象資料做為該市的氣象預報使用。

    - 日本氣象網 (公司企業)︰使用 Live E!的氣象資訊作為預報的依據資料,網址為 http://weathernews.jp/。

    b. 在 Live E!後續的計畫與時程:

    - GUTP:Live E!為基礎的環境感測控制計畫(2008~2009/09),參與

  • 附件二十七

      

    300

    廠商包括東芝、山武、橫河電機、P 電工、國際、Ubiteq、CiMX、NEC。

    - FIAP:GUTP 後續計畫使用 Live E!核心架構,增加環境控制功能(2009/09~2009/11)。

    圖 1 Live E!與 FIAP 架構

    中小學氣象站設備介紹

    數位化學習輔具對教師教學及學生學習帶來莫大的助益,且由此衍生進一步

    觀測與探究校園自然環境之長期性、普遍性資料的興趣;為積極實踐資訊科技融

    入自然科學實驗教學之理想,台北市教育局乃規劃於台北市國小校園架設全球首

    創與本市特有之「校園氣象台網絡」。即在市區內不同行政與地理區之校園安置

    「無線氣象台」分別收集該校所在地之雨量、溼度、溫度、風向、風力、噪音…等氣象資料,定時傳輸到校內接收站後,再匯集上傳到「校園氣象台」網站,以

    提供全市各校師生進行有關自然環境之實際情境的了解與相關問題的探究,激勵

  • 附件二十七

      

    301

    全市各校師生進行協同探究的興趣及分享探究的成果。

    校園無線氣象台之建置,目的在提供教師即時、全面且豐富的校園自然環境

    資訊,且可深入應用於中高年級自然科學教學活動中;更提供長期性、全市性之

    校園自然環境資訊,勢必有助於各學校探究式教學活動之實施,提昇資訊科技在

    教育上應用之典範與融入效果。

    本計劃所建置之校園氣象台網站為全球首見,由於所收集之資料為定時自動

    無線傳輸,全面性佈建無線氣象站有助於掌握不同地區之校園氣象與環境概況,

    他不需額外人力,是一效益極高的設計。除了學校師生外,家長或市民亦可隨時

    上網查詢指定校園所在地之氣象資訊,屬一項多功能用途的計畫。

    臺北市校園數位氣象台分佈

    臺北市於92年12月開始,在60所中小學內,建置各校校園數位氣象台,已累積6年的氣象資料庫。

    學校名稱 行政區 位置

    民權國小 松山 平地

    新生國小 大安 平地

    大佳國小 中山 河邊

    河堤國小 中正 河邊

    蓬萊國小 大同 平地

    南港國小 南港 平地

    南湖國小 內湖 平地

    大屯國小 北投 山區

    志清國小 文山 平地

    至善國中 士林 溪邊

    華江國小 萬華 平地

    光復國小 信義 平地5km以內

    一個測站

    【目前各校設站及運作情形】

    編號 學校名稱 行政區 目前狀況 編號 學校名稱 行政區 目前狀況

    1 松山國小 松山 正常 31 文化國小 北投 已停機

    2 民權國小 松山 正常 32 泉源國小 北投 已停機

    3 博愛國小 信義 中繼器影響資

    料傳輸,資料偶

    有漏失 33 洲美國小 北投

    機器老舊偶有

    遺漏資料

    4 新生國小 大安 正常 34市教大附

    小 中正 已停機

  • 附件二十七

      

    302

    5 公館國小 大安 已停機 35 湖田國小 北投因磺氣嚴重,目

    前等待零件維

    6 長安國小 中山 機器老舊偶有

    遺漏資料 36 三民國小 松山 正常

    7 大佳國小 中山 正常 37 健康國小 松山 已停機

    8 永安國小 中山 正常 38 金華國小 大安 已停機

    9 河堤國小 中正 機器老舊偶有

    遺漏資料 39 龍安國小 大安機器老舊偶有

    遺漏資料

    10 忠孝國小 中正 已停機 40 忠義國小 中正 已停機

    11 蓬萊國小 大同 正常 41 國語實小 中正 已停機

    12 大龍國小 大同 正常 42 中正國小 中山 正常

    13 延平國小 大同 正常 43 五常國小 中山 正常

    14 龍山國小 萬華 已停機 44 新興國中 中山機器老舊偶有

    遺漏資料

    15 新和國小 萬華 已停機 45 大同國小 大同 正常

    16 辛亥國小 文山 正常 46 太平國小 大同 正常

    17 木柵國小 文山 已停機 47 明倫國小 大同 正常

    18 景美國小 文山 正常 48 志清國小 文山機器老舊偶有

    遺漏資料

    19 南港國小 南港 正常 49 永建國小 文山機器老舊偶有

    遺漏資料

    20 舊莊國小 南港 機器老舊偶有

    遺漏資料 50 萬芳國小 文山機器老舊偶有

    遺漏資料

    21 南湖國小 內湖 已停機 51 胡適國小 南港機器老舊偶有

    遺漏資料

    22 潭美國小 內湖 正常 52 東新國小 南港 正常

    23 溪山國小 士林 已停機 53 東湖國小 內湖 正常

    24 平等國小 士林 機器老舊偶有

    遺漏資料 54 社子國小 士林機器老舊偶有

    遺漏資料

    25 三玉國小 士林 已停機 55 雨聲國小 士林 已停機

    26 福林國小 士林 正常 56 格致國中 士林 已停機

  • 附件二十七

      

    303

    27 北投國小 北投 已停機 57 至善國中 士林 已停機

    28 大屯國小 北投 正常 58 華江國小 萬華 正常

    29 關渡國小 北投 正常 59 龍山國中 萬華 已停機

    30 逸仙國小 北投 正常 60 光復國小 信義 正常

    **氣象站停機 16 個 **老舊氣象站 13 個

    系統分析

    Live E! 的服務有(1)感測器註冊介面, (2)資料上傳介面與(3) 資料取回介面

  • 附件二十七

      

    304

    Live E! 的服務是建構於叢集式的平台, 他們在網路中是互相重疊覆蓋的. 並且使用上述三項的介面來維護每一個感測節點(Sensor node), 通過這些上傳與下載來取得每個感測器或使用者資料.

    Live E!是透過數位化的氣象站,擁有完整的 SOA 架構,提供氣象資訊服務,本系統具有階層擴充性,可搭配不同種類的氣象感測器,透過感應裝

    置收集相關資訊,經由網路上傳至相關伺服器,將資訊分享,提供自然科

    學之研究,或是結合應用服務誘發更多的服務。

    此氣象站共有五個監測元件:溫度、溼度、壓力、風向風速及雨量。氣象站的資訊是用採用 XML 的語法,再透過 SOAP 轉換,讓即使是在不同平台及應用程式的 Server 跟 Client 也能溝通。

    在傳輸部分 Sensors 系統可以在 IPv4/IPv6 Dual-Stack 網路使用多點傳播運作,使得資訊可以同步的傳送到多個節點,上傳到 Live E!主系統則是透過 IPv6(新世代網路協定)技術達到在不同的系統分享資訊。

    在架構上則是與 DNS 的架構類似

    系統相依關係圖:

    Live E 提供的服務有下列:

    DataUpload200703

    感測資料上傳

    ProfileManagement200703

    感測器設定與註冊服務

    DataProvider200703

    伺服器端感測器資料查詢

  • 附件二十七

      

    305

    修改規劃

    1. 目前中小學氣象伺服器尚無法提供資料給 Live E!伺服器,因此需要先針對學校的氣象伺服器設計一中介軟體(Middleware),並將目前學校的氣象站資料經由 IPv6 連線傳輸至 Live E!伺服器。

    2. 中小學氣象網使用 SOAP 將 Live E!伺服器的氣象資料接收使用。 3. 中介軟體需要可以透過 IPv6 的方式上傳資料,且在 IPv6 無法連線時才能使用

    IPv4 來進行資料上傳。 4. 中介軟體需要能夠修改上傳伺服器位置,感測器 ID,上傳資料種類。 5. 上傳的資料格式需要符合 Live E!系統所要求(格式如附件所述)。 6. 中介軟體需要能在 Windows 平台(XP,Vista,7)順利運行。

    成果與結論

    數位化學習輔具對教師教學及學生學習帶來莫大的助益,且由此衍生進一步

    觀測與探究校園自然環境之長期性、普遍性資料的興趣;為積極實踐資訊科技融

    入自然科學實驗教學之理想,本局乃規劃於本市國小校園架設全球首創與本市特

    有之「校園氣象台網絡」。即在市區內不同行政與地理區之校園安置「無線氣象

    台」分別收集該校所在地之雨量、溼度、溫度、風向、風力、噪音…等氣象資料,定時傳輸到校內接收站後,再匯集上傳到「校園氣象台」網站,以提供全市各校

    師生進行有關自然環境之實際情境的了解與相關問題的探究,激勵全市各校師生

    進行協同探究的興趣及分享探究的成果。

    校園無線氣象台之建置,目的在提供教師即時、全面且豐富的校園自然環境

    資訊,且可深入應用於中高年級自然科學教學活動中;更提供長期性、全市性之

    校園自然環境資訊,勢必有助於各校探究式教學活動之實施,提昇資訊科技在教

    育上應用之典範與融入效果。

    本計劃所建置之校園氣象台網站為全球首見,由於所收集之資料為定時自動

    無線傳輸,全面性佈建無線氣象站有助於掌握不同地區之校園氣象與環境概況,

    他不需額外人力,是一效益極高的設計。除了學校師生外,家長或市民亦可隨時

    上網查詢指定校園所在地之氣象資訊,屬一項多功能用途的計畫。

    本計畫規劃書除配合台北市教育局更新 25 個氣象站支援 Live E!資料架構,並可透過教育部電算中心使台北市教育局、中央氣象局合作,利用 IPv6 氣象感測網路。藉此做為推動資訊交換之雲端資訊界面示範,逐步整合氣象、環境感測

    資訊建構國土電子肌膚感測之運用資料來源。

  • 附件二十七

      

    306

    圖:與技術人員討論 Live E!架構

    圖:Live E!系統與氣象站銜接測試

    圖:氣象站氣象資料截取並顯示

  • 附件二十七

      

    307

    參考資料

    日本 LiveE!計畫網站 http://www.live-e.org/whatsnew/index.html

    2008 年工作坊 http://live-e.naist.jp/les2008/

    2007 年工作坊 http://live-e.naist.jp/les2007/

  • 附件二十七

      

    308

    附件 1. Profile 註冊介面 Profile 註冊介面是配置在 SOAP/XML 的網路服務.我們定義這些名稱與使用方

    式如下: ProfileManagement200703 String getAvailableLocales(); String getProfile(String id); String getProfileAll(String timezone,String locale); String getProfileSchema(); String setProfile(String profile); String updatePassword(String id,String old_passwd, String new_passwd); 如何使用服務: (這個範例是使用 Perl) #!/usr/bin/perl use strict; use warnings; use SOAP::Lite; # sensor profile 格式 xml 標準化 $profile= .... ; # 資料傳輸 my $server = SOAP::Lite -> service(‘http://203.145.207.174/axis/services/ProfileManagement200703?wsdl '); my $res = $server-> setProfile($profile); #後續執行 ...

    這範例是使用 PHP

  • 附件二十七

      

    309

    1.1. String getAvailableLocales(); getAvailableLocales 會回傳系統使用語系資料.

    getAvailableLocales 回傳以下數值. 如果成功, ・回傳可用的語言區域設置 如果發生錯誤則回傳, ERROR_MESSAGE

    ERROR_TYPE 值為下列: • internal: 未知錯誤 >

  • 附件二十七

      

    310

    1.2. String getProfile(String id); getProfile 回傳 sensor_ID 所有的配置資料.

    Id(string):感測器 ID getProfile 回傳以下數值 如果成功:, ・回傳感測器配置資料 如果發生錯誤則回傳, ERROR_MESSAGE

    ERROR_TYPE 值為下列: • sensorNotFound: 你所查詢的 sensor ID 並不存在. • internal: 未知錯誤 > getProfile("niu.edu.tw/VP2/ndhu/"); 結果輸出

  • 附件二十七

      

    311

    1.3. String getProfileAll(String timezone, String locale); getProfileAll 會回傳這部伺服器中所有的配置資料(Profile),並依照時區及語系

    的設定輸出. 這個方式會取得目前所有可以使用的 Sensor ID. 如果只要單一個Sensor ID 的資料,請參照 2.2 getProfile(String id)來處理. timezone (string):時區 locale(String):語系(參照 2:1) getProfileAll 回傳以下數值. 如果成功:, ・列出所有在伺服器中的感測器配置資料。 如果發生錯誤則回傳, ERROR_MESSAGE

    ERROR_TYPE 值為下列: • outOfMaxSize:太多資料(= exceededmaxSensorCollection) • internal: 未知錯誤 getProfileAll("Asia/Taipei","Chinese"); 結果輸出

    ……..(第 2 個感測器配置資料)

  • 附件二十七

      

    312

    1.4. String getProfileSchema(); getProfileSchema 會回傳目前 Live E!的架構格式.每一個感測器的架構都應遵

    照這一個格式來制定. getProfileSchema 回傳以下數值. 如果成功:, ・回傳目前架構格式 如果發生錯誤則回傳, ERROR_MESSAGE

    ERROR_TYPE is, • internal: 未知錯誤

  • 附件二十七

      

    313

    1.5. String setProfile(String profile); setProfile 會將感測器配置資料放進伺服器中 registers the specified sensor profile into the server. 這個動作必須要有密碼認證才能進行,密碼必須經由BASE64 編碼並使用 authorization 這個標籤加入在配置資料中.

    Profile 格式

    ... Repeat of ...

    參數說明

    Data Field Semantics SENSOR_COMBINED_ID 感測器物件識別(ID) SENSOR_ELEMENT_ID 感測器元素識別(ID) BASE64_ENCODED_PASSWD 密碼,必須先經由 base64 編碼. COMBINED_ATTR 一個屬性,是由”名稱 = 變數”的方式每

    一個變數值都必須要依照 2.4 schema來定義. 例如,(1)地理位置值: latitude="35.314" longitude="135.231" 例如,(2)狀態變數: error="overflow"

    ELEMENT_ATTR 一個屬性,是由”名稱 = 變數”的方式每一個變數值都必須要依照 2.4 schema來定義. 例如, (1) 感測器樣式: sensorType=”Temperature” 例如,(2) 感測範圍值

    valueMax=”40.0” valueMin=”-10.0” 例如, (3) 數值計算單位 measurementType=”Celsius”

    屬性多語系支援 我們可以支援多語系的設定,只需要在配置檔中的設定屬性有如: multilanguage=”true”

    即可.屬性名稱在 XML 下如: ATTR=NAME + LANG_CODE.

  • 附件二十七

      

    314

    範例, 在架構格式中的 "address"有定義多語系支援,

    在 "address" 中我們加入 LANG_CODE 如中文是 address_chi 英文是 address_eng. address_cht=” 花蓮縣壽豐鄉志學村大學路二段 1 號”

    address_eng=” 1, Sec. 2, Da Hsueh Rd., Shou-Feng, Hualien, Taiwan, ROC” 語系代碼請參考 getAvailableLocales();

    setProfile 回傳以下數值. 如果成功:, 如果發生錯誤則回傳, ERROR_MESSAGE

    ERROR_TYPE 值為下列: • authentication:認證錯誤 • internal: 未知錯誤 如果發生錯誤則回傳, 而且資料並不會被更新.

  • 附件二十七

      

    315

    附件 2. 資料上傳介面 資料上傳介面使用 SOAP/XML Web 服務. 我們定義這些名稱與使用方式如下:

    DataUpload200703 String uploadElement(String data); // upload by element sensor unit String uploadCombined(String data); // upload by combined sensor unit String uploadCollection(String data); // upload by a collection of combined sensor units 使用方式: (這個範例是使用 Perl) #!/usr/bin/perl use strict; use warnings; use SOAP::Lite; # sensor profile 格式 xml 標準化 $profile= .... ; # 資料傳輸

    my $server = SOAP::Lite -> service(‘http://203.145.207.174/axis/services/DataUpload200703?wsdl ');

    my $res = $server-> setProfile($profile); #後續執行 ...

    這範例是使用 PHP

  • 附件二十七

      

    316

    2.1. String uploadElement(String data); 上傳感測元素的資料. 經收集過且帶有時間標記的感測元素資料,這裡密碼必

    須先經 Base64 編碼, 而且在 XML 標籤的屬性也必須符合架構的規範格式.

    資料格式(uploadElement)

    VALUE ...重複 VALUE ...

    參數說明 Data Field Semantics

    SENSOR_ELEMENT_ID 感測器元素識別(ID) 例如: niu.edu.tw/VP2/ndhu/Temperature

    BASE64_ENCODED_PASSWD 密碼,必須先經由 base64 編碼. VALUE_TAG VALUE_TAG={value|sVAlue}

    value – 須為數字形態 sValue – 須為字元或字串形態

    W3CTIMESTAMP 時間必須符合 W3C 的格式 例如:2009-06-27T00:00:00.0000000+09:00

    VALUE_ATTR 一個屬性,是由”名稱 = 變數”的方式每一個變數值都必須要依照 2.4 schema來定義. 例如,(1)地理位置值: latitude="35.314" longitude="135.231" 例如,(2)狀態變數: error="overflow"

    VALUE 感測值 範例 1: 感測數值上傳

  • 附件二十七

      

    317

    25.6 範例 2: 文字形容上傳 Hot Cool 範例 3: 上傳具有錯誤說明標籤 40.0 39.9

    uploadElement 回傳如下. 如果成功, 如果發生錯誤 ERROR_MESSAGE

    ERROR_TYPE 值為下列:. • authentication: 認證錯誤 • outOfMaxSize: 目 標 的 數 量 數 值 超 過 系 統 限 制 (= exceeded

    maxValueCollectionCount) • internal: 未知錯誤 如果發生任何錯誤,資料不會被更新

  • 附件二十七

      

    318

    2.2. String uploadCombined(String data); 上傳感測物件的資料. 經收集過且帶有時間標記的感測元素資料,這裡密碼必

    須先經 Base64 編碼, 而且在 XML 標籤的屬性也必須符合 sensorGroup 架構的規範格式.

    資料格式(uploadCombined)

    VALUE

    ...重複 VALUE ...

    ...重複 ...

    參數說明 Data Field Semantics

    SENSOR_COMBINED_ID 感測器物件識別(ID) 例如: niu.edu.tw/VP2/ndhu/

    SENSOR_ELEMENT_ID 感測器元素識別(ID) 例如: niu.edu.tw/VP2/ndhu/Temperature

    BASE64_ENCODED_PASSWD 密碼,必須先經由 base64 編碼. VALUE_TAG VALUE_TAG={value|sVAlue}

    value – 須為數字形態 sValue – 須為字元或字串形態

    W3CTIMESTAMP 時間必須符合 W3C 的格式 例如:2007-06-27T00:00:00.0000000+09:00

    VALUE_ATTR 變數值都必須要依照 2.4 schema 來定義. 例如,(1)地理位置值: latitude="35.314" longitude="135.231" 例如,(2)狀態變數: error="overflow"

    VALUE 感測值 uploadCombined 回傳如下. 如果成功,

  • 附件二十七

      

    319

    如果發生錯誤 ERROR_MESSAGE

    ERROR_TYPE 值為下列:. • authentication: 認證錯誤 • outOfMaxSize: 目 標 的 數 量 數 值 超 過 系 統 限 制 (= exceeded

    maxValueCollectionCount) • internal: 未知錯誤 如果發生任何錯誤,資料不會被更新

  • 附件二十七

      

    320

    2.3. String uploadCollection(String data); 將許多的 combined sensor 一次上傳.這裡密碼必須先經 Base64 編碼, 而且在

    認證所在的 XML 標籤修改為 "

  • 附件二十七

      

    321

    例如,(1)地理位置值: latitude="35.314" longitude="135.231" 例如,(2)狀態變數: error="overflow"

    VALUE 感測值 uploadCollection 回傳如下. 如果成功, 如果發生錯誤 ERROR_MESSAGE

    ERROR_TYPE 值為下列:. • authentication: 認證錯誤 • outOfMaxSize: 目 標 的 數 量 數 值 超 過 系 統 限 制 (= exceeded

    maxValueCollectionCount) or too much sensor collections (= exceededmaxSensorCollection)

    • internal: 未知錯誤 如果發生任何錯誤,資料不會被更新

  • 附件二十七

      

    322

    附件 3. 資料取回介面 資料取回介面使用 SOAP/XML Web 服務. 我們定義這些名稱與使用方式如下:

    > DataProvider200901 String isCombined(String id); String getData(String id); String getProfile(String id); String getArchiveData(String id, String start, String end); String getArchiveProfile(String id, String start, String end); 使用方式: (這個範例是使用 Perl) #!/usr/bin/perl use strict; use warnings; use SOAP::Lite; # sensor profile 格式 xml 標準化 $profile= .... ; # 資料傳輸

    my $server = SOAP::Lite -> service(‘http://203.145.207.174/axis/services/DataProvider200901?wsdl '); my $res = $server-> setProfile($profile); #後續執行 ...

    這範例是使用 PHP

  • 附件二十七

      

    323

    3.1. String isCombined(String id); 查詢 ID 是否為 Combined sensor.

    如果是 combined sensor 回傳: 如果是 element sensor 回傳: ERROR_MESSAGE

    ERROR_TYPE 值為下列: • sensorNotFound: 沒有找到任何 Sensor 符合此 ID • internal: 未知錯誤

  • 附件二十七

      

    324

    3.2. String getData(String id); getData 回傳此 ID 取得的最後一筆資料

    getData 回傳以下數值::

    1. 如果是 combined sensor

    VALUE

    ... Repeat of ...

    2. 如果是 element sensor

    VALUE

    參數說明 Data Field Semantics

    SENSOR_COMBINED_ID Identifier (ID) of the combined sensor SENSOR_ELEMENT_ID Identifier (ID) of the element sensor COMBINED_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema for combined sensors. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    ELEMENT_ATTR An attribute, a "name=value" pair, which schema is defined by profile schema for element sensors.

  • 附件二十七

      

    325

    E.g., (1) The type of the element sensor, sensorType=”Temperature”

    E.g., (2) The available observation range, valueMax=”40.0” valueMin=”-10.0”

    E.g., (3) The measurement type measurementType=”Celsius”

    VALUE_TAG VALUE_TAG={value|sVAlue} value – VALUE is numeric type. sValue – VALUE is character string type.

    W3CTIMESTAMP The time that the VALUE was observed in W3C Timestamp format.

    E.g., 2007-06-27T00:00:00.0000000+09:00 VALUE_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    VALUE The value that the sensor observed. 如果發生錯誤則回傳: ERROR_MESSAGE

    ERROR_TYPE 值為下列: • sensorNotFound: 沒有找到任何 Sensor 符合此 ID. • internal: 未知錯誤

  • 附件二十七

      

    326

    3.3. String getProfile(String id); getProfile 回傳此 ID 的設定參數資料(profile).ID 可以為 combined sensor 或

    element sensor.

    getProfile 回傳以下數值:.

    1. 如果是 combined sensor

    ... Repeat of ...

    2. 如果是 element sensor

    參數說明 Data Field Semantics

    SENSOR_COMBINED_ID Identifier (ID) of the combined sensor SENSOR_ELEMENT_ID Identifier (ID) of the element sensor COMBINED_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema for combined sensors. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    ELEMENT_ATTR An attribute, a "name=value" pair, which schema is defined by profile schema for element sensors. E.g., (1) The type of the element sensor,

    sensorType=”Temperature” E.g., (2) The available observation range,

  • 附件二十七

      

    327

    valueMax=”40.0” valueMin=”-10.0” E.g., (3) The measurement type measurementType=”Celsius”

    如果發生錯誤則回傳: ERROR_MESSAGE

    ERROR_TYPE 值為下列: • sensorNotFound: 沒有找到任何 Sensor 符合此 ID. • internal: 未知錯誤

  • 附件二十七

      

    328

    3.4. String getArchiveData(String id, String aggPeriodType, String start, String end);

    getArchiveData 回傳一段時間內 time=[start, end]. 所收集到的資料依照 aggPeriodType 的設定回傳資料. ID 可以為 combined sensor 或 element sensor.. id: ID 可以為 combined sensor 或 element sensor. aggPeriodType: aggregation time unit

    • "aggPeriodNone": raw data • "aggPeriodHourly": hourly aggregated data • "aggPeriodDaily": daily aggregated data • "aggPeriodMonthly": monthly aggregated data

    start: 符合 W3C 規範的時間標記 end: 符合 W3C 規範的時間標記

    getArchiveData 回傳以下數值:.

    1. 如果是 combined sensor and aggPeriodType="aggPeriodNone"

    VALUE

    ... Repeat of ...

    ... Repeat of ...

    2. 如果是 n element sensor and aggPeriodType="aggPeriodNone"

    VALUE

    ... Repeat of ...

    參數說明

  • 附件二十七

      

    329

    Data Field Semantics SENSOR_COMBINED_ID Identifier (ID) of the combined sensor SENSOR_ELEMENT_ID Identifier (ID) of the element sensor COMBINED_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema for combined sensors. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    ELEMENT_ATTR An attribute, a "name=value" pair, which schema is defined by profile schema for element sensors. E.g., (1) The type of the element sensor,

    sensorType=”Temperature” E.g., (2) The available observation range,

    valueMax=”40.0” valueMin=”-10.0” E.g., (3) The measurement type measurementType=”Celsius”

    VALUE_TAG VALUE_TAG={value|sVAlue} value – VALUE is numeric type. sValue – VALUE is character string type.

    W3CTIMESTAMP The time that the VALUE was observed in W3C Timestamp format.

    E.g., 2007-06-27T00:00:00.0000000+09:00 VALUE_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    VALUE The value that the sensor observed. 如果發生錯誤則回傳: ERROR_MESSAGE

    ERROR_TYPE 值為下列:

  • 附件二十七

      

    330

    • out ofMaxValueSize: 目標的數量數值超過系統限制. • sensorNotFound: 沒有找到任何 Sensor 符合此 ID. • internal: 未知錯誤

  • 附件二十七

      

    331

    3.5. String getArchiveProfile (String id, String start, String end); getArchiveProfile 傳回時間 time=[start, end]內感測器的使用紀錄. ID 可以為

    combined sensor 或 element sensor.. id: ID 可以為 combined sensor 或 element sensor. start: 符合 W3C 規範的時間標記 end: 符合 W3C 規範的時間標記

    getArchiveProfile 回傳以下數值:.

    1. 如果是 combined sensor,

    ... Repeat of ...

    ...Repeat of ...

    2. 如果是 element sensor,

    ... Repeat of ...

    參數說明 Data Field Semantics

  • 附件二十七

      

    332

    SENSOR_COMBINED_ID Identifier (ID) of the combined sensor SENSOR_ELEMENT_ID Identifier (ID) of the element sensor COMBINED_ATTR An attribute, a "name=value" pair, which

    schema is defined by profile schema for combined sensors. E.g., (1) The location of the value observed: latitude="35.314" longitude="135.231" E.g., (2) The status of the value observed:error="overflow"

    ELEMENT_ATTR An attribute, a "name=value" pair, which schema is defined by profile schema for element sensors. E.g., (1) The type of the element sensor,

    sensorType=”Temperature” E.g., (2) The available observation range,

    valueMax=”40.0” valueMin=”-10.0” E.g., (3) The measurement type measurementType=”Celsius”

    如果發生錯誤則回傳: ERROR_MESSAGE

    ERROR_TYPE 值為下列: • sensorNotFound: 沒有找到任何 Sensor 符合此 ID. • internal: 未知錯誤