• 沒有找到結果。

新增連續式淹水感測器狀態管理功能

為了維持系統品質穩定可靠,於汛期能確實送出淹水告警訊息,並 得以適時通知維運單位及早因應,我們建立了連續式淹水感測器狀態監 控機制,如圖 4.1-1 所示;連續式淹水感測器狀態管理模組負責蒐集各個 連續式淹水感測器訊息事件,其訊息事件除了淹水感測器之水情資訊之 外,設備管理模組(DMP Adapter)亦會每隔 15 分鐘傳送 HeartBeat 訊息事 件,而 NB-IoT 連續式淹水感測器也會傳送電池電力訊息事件,如圖 4.1-2 所示,因此,藉由綜合判斷各個訊息事件,連續式淹水感測器狀態管理 模組即可得知目前連續式淹水感測器所處之狀態。

圖 4.1-1 連續式淹水感測器狀態管理架構

圖 4.1-2 NB-IoT 連續式淹水感測器電池電力訊息

我們將狀態細分為十三種,狀態名稱、狀態之意義及其發生之時機 列示於表 4.1-1 及 4.1-2 中,正常狀況下,每隔 15 分鐘會偵測到 Heartbeat 訊息事件、一小時內會偵測到水情資訊事件,因此,若連續 30 分鐘未偵 測到 Heartbeat 訊息、連續兩小時未收到水情訊息,我們即判定連續式淹 水感測器處於離線、失能狀態;而針對太陽能板電池電力滿檔 4.2V、失 能電位 3.47V 之間,我們分成了五種電力等級,如表 4.1-3 所示,分別以 電力 70%、50%、30%、15%作為分界點,當電力剩餘 30%,代表電力不 足,太陽能板須派員維護清潔,若電力剩餘 15%,則代表電力嚴重不足, Heartbeat 訊息

xDSL 網路斷線或

DISABLE(失能) 連續兩小時未收到水情

置之專屬「狀態監控」,我們將「狀態監控」歸類為感測器,如此,即可 透過 RESTful 之 POST 方式,將狀態訊息傳送至「狀態監控」中;然後,

每隔十分鐘處理每個淹水感測器狀態一次,若發現狀態發生變化或相鄰 上次狀態資訊已隔一小時,即會再上傳狀態資訊至「狀態監控」中;狀 態管理模組亦提供補遺功能,網路斷線時暫時紀錄淹水感測器狀態資訊,

俟網路恢復正常,即將狀態資訊補遺至對應之「狀態監控」中。

主動式民眾淹水預警通報系統即可透過 RESTful 之 GET 方式,擷取 每個連續式淹水感測器之狀態訊息。以屏東佳冬機房所轄銅纜連續式淹 水感測器為例,如圖 4.1-3 所示,淹水感測器之 sensorId 為 water_sensor_x (x=1~4),則對應之「狀態監控」sensorId 為 state_x,佳冬機房之 deviceId

= 6374172536、水位計_1 之 sensorId = water_sensor_1,則對應之「狀態 監 控 _1 」 sensorId = state_1 , 其 擷 取 狀 態 之 url 即 為 https://iot.cht.com.tw/iot/v1/device/6374172536/sensor/state_1/rawdata , 擷 取結果之 JSON 格式為

{

"id": "state_1",

"deviceId": "6374172536",

"time": "2019-11-11T12:00:24.089Z", "lat": 2000000,

"value": [ "GOOD"

] }

其中,id 為狀態監控 sensorId、time 為該筆狀態發生之時間(UTC 格

4.1-4 所示。

另外,以大武崙 NB-IoT 連續式淹水感測器為例,如圖 4.1-4 所示,

淹水感測器之 sensorId 為 water,則對應之「狀態監控」sensorId 為 state,

大 武 崙 之 deviceId = 6013131993 , 其 擷 取 狀 態 之 url 即 為 https://iot.cht.com.tw/iot/v1/device/6013131993/sensor/state/rawdata , 擷 取 結果之 JSON 格式為

{

"id": "state",

"deviceId": "6013131993",

"time": "2019-11-11T13:00:20.749Z", "lat": 2000000,

"value": [ "GOOD"

] }

圖 4.1-3 銅纜連續式淹水感測器狀態監控與淹水感測器之關聯

圖 4.1-4 NB-IoT 連續式淹水感測器狀態監控與淹水感測器之關聯

表 4.1-4 連續式淹水感測器狀態與水資源物聯網運作狀態之關聯