[[email protected] IoT_Summit_Lab]$ ./runRoutingService.sh
我們可以登錄至JBoss Fuse管理員控制臺(tái)以驗(yàn)證此Camel route是否部署完成。
第五步:創(chuàng)建業(yè)務(wù)規(guī)則
智能物聯(lián)網(wǎng)網(wǎng)關(guān)最為重要的功能之一,是在傳感器數(shù)據(jù)滿足業(yè)務(wù)規(guī)則中設(shè)定的特定條件時(shí)觸發(fā)對(duì)應(yīng)操作。在本章節(jié)中,我們將了解如何創(chuàng)建一項(xiàng)業(yè)務(wù)規(guī)則服務(wù)。此服務(wù)將通過以下方式起效:
1. 從Message隊(duì)列中讀取傳感器數(shù)據(jù)。
2. 將傳感器數(shù)據(jù)傳遞至規(guī)則執(zhí)行引擎,并由后者根據(jù)定義規(guī)則觸發(fā)操作。
3. 經(jīng)過變更的數(shù)據(jù)被放置在另一已定義Message隊(duì)列中。
這里我們將使用微軟Excel決策表來定義業(yè)務(wù)規(guī)則。下圖所示為一套決策表實(shí)例,其中每一行表代表一條規(guī)則。藍(lán)色的列為“條件(conditions)”,而黃色的列則定義一項(xiàng)“操作(action)”。規(guī)則語法非常簡(jiǎn)單:如果滿足某條件,則執(zhí)行某操作。
這套規(guī)則系統(tǒng)會(huì)從電子表格中讀取規(guī)則,并將其按以上語法進(jìn)行編譯。在本示例中,我們的業(yè)務(wù)規(guī)則電子表格可用于創(chuàng)建新規(guī)則。
下面來看表格中各列所代表的含義:
Alerting Rule(警告規(guī)則):規(guī)則名稱。此為可選字段,但在調(diào)試中非常有用。
Device Type(設(shè)備類型):傳感器所報(bào)告的設(shè)備類型。
Payload(有效載荷):此規(guī)則需要匹配的數(shù)字范圍。
Result(結(jié)果):由規(guī)則觸發(fā)的操作,即將值更改為0或1。
打開示例規(guī)則表格:‘DecisionTable.xls.’
填寫以下信息以創(chuàng)建兩項(xiàng)規(guī)則:
規(guī)則一:如果我們讀取到的溫度為0到60之間,則將結(jié)果字段變更為0。
規(guī)則一:如果我們讀取到的溫度為61到100之間,則將結(jié)果字段變更為1。
注意:在第二條規(guī)則Payload列中,在“61”與“100”之間添加一個(gè)空格。
注意:將表格保存為微軟Excel格式。
點(diǎn)擊此處 查看此業(yè)務(wù)規(guī)則服務(wù) 的具體細(xì)節(jié)。
第六步:構(gòu)建并運(yùn)行業(yè)務(wù)規(guī)則服務(wù)
現(xiàn)在我們已經(jīng)完成了規(guī)則添加,接下來需要構(gòu)建新的服務(wù)版本并加以啟動(dòng)。
在終端內(nèi)執(zhí)行以下命令:
[[email protected] IoT_Summit_Lab]$ cd
[[email protected] ~]$ cd IoT_Summit_Lab/
[[email protected]