自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

七個(gè)簡(jiǎn)單步驟構(gòu)建起智能物聯(lián)網(wǎng)網(wǎng)關(guān)

譯文
安全
今天,我們的目標(biāo)是了解如何構(gòu)建一套智能物聯(lián)網(wǎng)網(wǎng)關(guān)。我們將利用Ansible實(shí)現(xiàn)該網(wǎng)關(guān)的自動(dòng)化配置,當(dāng)然Ansible亦適用于配置管理及應(yīng)用部署。如果大家面對(duì)大量網(wǎng)關(guān)配置與部署工作,那么Ansible絕對(duì)是值得強(qiáng)烈推薦的優(yōu)秀工具。

【51CTO.com快譯】今天,我們的目標(biāo)是了解如何構(gòu)建一套智能物聯(lián)網(wǎng)網(wǎng)關(guān)。我們將利用Ansible實(shí)現(xiàn)該網(wǎng)關(guān)的自動(dòng)化配置,當(dāng)然Ansible亦適用于配置管理及應(yīng)用部署。如果大家面對(duì)大量網(wǎng)關(guān)配置與部署工作,那么Ansible絕對(duì)是值得強(qiáng)烈推薦的優(yōu)秀工具。

[[176507]]

下面來(lái)看此網(wǎng)關(guān)的幾大主要組件:

紅帽企業(yè) Linux:提供企業(yè)級(jí)基礎(chǔ)。

紅帽 JBoss A-MQ: 對(duì)傳感器數(shù)據(jù)進(jìn)行評(píng)判。

紅帽 JBoss Fuse:傳輸傳感器數(shù)據(jù)并將其路由至端點(diǎn)。

紅帽 JBoss BRMS:在邊緣位置實(shí)現(xiàn)實(shí)時(shí)決策制定。

在網(wǎng)關(guān)配置完成后,我們將啟動(dòng)紅帽JBoss Fuse,而后構(gòu)建并部署路由與業(yè)務(wù)規(guī)則服務(wù),從而使其開(kāi)始運(yùn)作。我們隨后會(huì)啟動(dòng)一款傳感器應(yīng)用,其利用MQTT將溫度數(shù)據(jù)發(fā)送至紅帽JBoss A-MQ代理。這些消息會(huì)被轉(zhuǎn)發(fā)至我們此前啟動(dòng)的服務(wù)處。最后,我們將創(chuàng)建業(yè)務(wù)規(guī)則,用于在傳感器值達(dá)到閾值時(shí)觸發(fā)對(duì)應(yīng)操作。

注意:在開(kāi)始之前,大家首先需要在網(wǎng)關(guān)內(nèi)的Downloads文件夾內(nèi)保存一份紅帽JBoss Fuse 6.2.1。大家可以從紅帽客戶門戶站點(diǎn)處下載,亦可通過(guò)紅帽開(kāi)發(fā)者計(jì)劃免費(fèi)獲取。

第一步:利用Ansible準(zhǔn)備主機(jī)系統(tǒng)

在主機(jī)設(shè)備上克隆項(xiàng)目庫(kù)。

打開(kāi)終端并輸入以下命令:

  1. [user@localhost ~]$ git clone -b Virtual-Lab-1-Host https://github.com/RedHat-IoT/Virtual_IoT_Gateway.git 

利用網(wǎng)關(guān)IP地址更新主機(jī)文件[Virtual-IoT-Gateway/Ansible/host],并將該主機(jī)的公鑰存放于遠(yuǎn)程網(wǎng)關(guān)上(Ansible會(huì)利用ssh與遠(yuǎn)程系統(tǒng)進(jìn)行通信)。

更新Ansible playbook BuildGW文件[Virtual-IoT-Gateway/Ansible/BuildGW],將其中的用戶名修改為您網(wǎng)關(guān)的實(shí)際值:user=’user name’

輸入以下命令以啟動(dòng)該Ansible playbook:

  1. [user@localhost ~]$ cd Virtual_IoT_Gateway/Ansible 
  2. [user@localhost ~]$ ansible-playbook BuildGW 

讓Ansible運(yùn)行此playbook中的各項(xiàng)任務(wù)。一旦Ansible完成執(zhí)行,我們即可準(zhǔn)備直接操作此網(wǎng)關(guān)。

第二步:登錄至該網(wǎng)關(guān)

注意:在此套網(wǎng)關(guān)中,我們使用了username = ‘demo-user’與password = ‘change12_me’。

第三步:?jiǎn)?dòng)紅帽JBoss Fuse服務(wù)器

開(kāi)啟新shell,輸入以下命令:

  1. [demo-user@localhost ~]$ cd 
  2. [demo-user@localhost ~]$ cd IoT_Summit_Lab 
  3. [demo-user@iotlab IoT_Summit_Lab]$ ./runJBossFuse.sh 

等待紅帽JBoss Fuse服務(wù)器完成啟動(dòng)流程。

紅帽 JBoss Fuse需要安裝‘camel-mqtt’ OSGi功能以處理MQTT消息。

在‘JBossFuse’命令提示符下輸入以下命令:

  1. JBossFuse:karaf@root> features:install camel-mqtt 

最小化此shell,保持Fuse服務(wù)器在后臺(tái)運(yùn)行。

第四步:構(gòu)建并部署Camel Route

傳感器數(shù)據(jù)將由Camel Route負(fù)責(zé)傳輸及路由?,F(xiàn)在我們需要構(gòu)建紅帽JBoss Fuse項(xiàng)目并將其部署至正在運(yùn)行的Fuse服務(wù)器當(dāng)中。我們將利用其提供的腳本以構(gòu)建并部署此項(xiàng)目。

在終端內(nèi)執(zhí)行以下命令:

  1. [demo-user@iotlab Software_Sensor]$ cd 
  2. [demo-user@iotlab ~]$ cd IoT_Summit_Lab/ 
  3. [demo-user@iotlab 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ù)將通過(guò)以下方式起效:

1. 從Message隊(duì)列中讀取傳感器數(shù)據(jù)。

2. 將傳感器數(shù)據(jù)傳遞至規(guī)則執(zhí)行引擎,并由后者根據(jù)定義規(guī)則觸發(fā)操作。

3. 經(jīng)過(guò)變更的數(shù)據(jù)被放置在另一已定義Message隊(duì)列中。

這里我們將使用微軟Excel決策表來(lái)定義業(yè)務(wù)規(guī)則。下圖所示為一套決策表實(shí)例,其中每一行表代表一條規(guī)則。藍(lán)色的列為“條件(conditions)”,而黃色的列則定義一項(xiàng)“操作(action)”。規(guī)則語(yǔ)法非常簡(jiǎn)單:如果滿足某條件,則執(zhí)行某操作。

這套規(guī)則系統(tǒng)會(huì)從電子表格中讀取規(guī)則,并將其按以上語(yǔ)法進(jìn)行編譯。在本示例中,我們的業(yè)務(wù)規(guī)則電子表格可用于創(chuàng)建新規(guī)則。

下面來(lái)看表格中各列所代表的含義:

Alerting Rule(警告規(guī)則):規(guī)則名稱。此為可選字段,但在調(diào)試中非常有用。

Device Type(設(shè)備類型):傳感器所報(bào)告的設(shè)備類型。

Payload(有效載荷):此規(guī)則需要匹配的數(shù)字范圍。

Result(結(jié)果):由規(guī)則觸發(fā)的操作,即將值更改為0或1。

打開(kāi)示例規(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ī)則添加,接下來(lái)需要構(gòu)建新的服務(wù)版本并加以啟動(dòng)。

在終端內(nèi)執(zhí)行以下命令:

  1. [demo-user@localhost IoT_Summit_Lab]$ cd 
  2. [demo-user@localhost ~]$ cd IoT_Summit_Lab/ 
  3. [demo-user@localhost IoT_Summit_Lab]$ ./runRulesService.sh 

其應(yīng)顯示以下輸出結(jié)果:

  1.  < output truncated > AMQ-Broker tcp://localhost:61616 ready to work
  2. Device-Type = temperature 
  3. Device-ID   = 4711 
  4. Payload     = 70 
  5. Result      = 1 
  6. ---------------------- 
  7. Sending 18.05.2016 10:46:22 766temperature47117000.01 

第七步:測(cè)試規(guī)則服務(wù)

我們通過(guò)軟件傳感器發(fā)送一條測(cè)試消息,從而進(jìn)行服務(wù)測(cè)試。具體步驟如下:

軟件傳感器通過(guò)MQTT發(fā)送一條高值。

路由服務(wù)獲取該值后,將其轉(zhuǎn)換為消息并發(fā)送至AMQP消息隊(duì)列。

業(yè)務(wù)規(guī)則服務(wù)從隊(duì)列中獲取此消息,并在其滯業(yè)務(wù)規(guī)則條件時(shí)將其添加至另一AMQP消息隊(duì)列。

在新終端內(nèi)輸入以下命令:

  1. [demo-user@localhost Desktop]$ cd 
  2. [demo-user@localhost ~]$ cd IoT_Summit_Lab/ 
  3. [demo-user@localhost IoT_Summit_Lab]$ ./runHighSensor.sh 

輸出結(jié)果如下:

  1. Starting the producer to send messages 
  2. Sending '70,0' 
  3. AMQ-Broker tcp://localhost:61616 ready to work
  4. Device-Type = temperature 
  5. Device-ID   = 4711 
  6. Payload     = 70 
  7. Result      = 1 
  8. ---------------------- 
  9. Sending 17.05.2016 15:08:59 265temperature47117000.01 
  10. ---------------------- 

大家也可以利用另一種方法進(jìn)行消息驗(yàn)證,即通過(guò)‘http://localhost:8181’'查看紅帽JBoss Fuse控制臺(tái)。這里的入隊(duì)與出隊(duì)消息數(shù)量應(yīng)該顯示,已經(jīng)有一條消息由message.to.rules’處獲取并被放置在‘message.to.datacenter’當(dāng)中。

注意:Fuse控制臺(tái)的登錄名/密碼為admin/change12_me。

總結(jié)

我們可以利用Ansible并配合紅帽自動(dòng)化工具輕松完成智能物聯(lián)網(wǎng)網(wǎng)關(guān)的構(gòu)建工作。這套企業(yè)級(jí)智能物聯(lián)網(wǎng)網(wǎng)關(guān)基于多項(xiàng)開(kāi)源技術(shù),包括紅帽企業(yè)Linux、紅帽JBoss Fuse、紅帽JBoss BRMS以及紅帽JBoss A-MQ。

這里我們已經(jīng)提供了示例代碼,包括部署路由機(jī)制與業(yè)務(wù)規(guī)則服務(wù)以保證此智能物聯(lián)網(wǎng)網(wǎng)關(guān)開(kāi)始正常運(yùn)作。其中傳感器應(yīng)用負(fù)責(zé)向A-MQ代理發(fā)送溫度數(shù)據(jù)。這些MQTT消息由我們此前啟動(dòng)的服務(wù)進(jìn)行處理。最后,我們創(chuàng)建了業(yè)務(wù)規(guī)則,用于在傳感器值達(dá)到閾值時(shí)觸發(fā)特定操作。

感興趣的朋友可以點(diǎn)擊此處查看GitHub上的物聯(lián)網(wǎng)網(wǎng)關(guān)源代碼及相關(guān)視頻。

原文標(biāo)題:How to Build an Intelligent IoT Gateway in 7 Easy Steps,作者:Ishu Verma

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 51CTO.com
相關(guān)推薦

2020-10-31 21:40:35

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)IOT

2018-06-12 00:07:18

2019-09-10 13:39:38

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)IOT

2022-05-18 17:09:30

物聯(lián)網(wǎng)工業(yè)物聯(lián)網(wǎng)IOT

2020-07-08 07:36:40

物聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2023-09-18 15:36:37

物聯(lián)網(wǎng)物聯(lián)網(wǎng)生態(tài)系統(tǒng)

2021-12-30 21:45:55

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)安全IOT

2022-01-08 21:49:00

物聯(lián)網(wǎng)網(wǎng)關(guān)PLC物聯(lián)網(wǎng)

2020-10-10 16:07:16

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)IOT

2019-11-28 14:11:00

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)IOT

2021-12-02 18:18:21

消費(fèi)網(wǎng)關(guān)工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)

2020-10-11 17:01:18

物聯(lián)網(wǎng)網(wǎng)關(guān)工業(yè)物聯(lián)網(wǎng)物聯(lián)網(wǎng)

2020-05-25 15:50:59

物聯(lián)網(wǎng)物聯(lián)網(wǎng)設(shè)備IOT

2023-10-20 13:43:16

2018-08-30 06:09:24

工業(yè)物聯(lián)網(wǎng)IIoT物聯(lián)網(wǎng)

2020-09-17 07:27:10

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)IOT

2021-09-07 05:52:26

物聯(lián)網(wǎng)網(wǎng)關(guān)工業(yè)物聯(lián)網(wǎng)物聯(lián)網(wǎng)

2019-02-24 21:27:26

物聯(lián)網(wǎng)網(wǎng)關(guān)物聯(lián)網(wǎng)IOT

2023-01-31 15:35:46

物聯(lián)網(wǎng)邊緣計(jì)算工業(yè)物聯(lián)網(wǎng)

2022-11-02 10:59:34

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)