【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)秀工具。

下面來看此網(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ù),從而使其開始運(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)操作。
注意:在開始之前,大家首先需要在網(wǎng)關(guān)內(nèi)的Downloads文件夾內(nèi)保存一份紅帽JBoss Fuse 6.2.1。大家可以從 紅帽客戶門戶站點(diǎn) 處下載,亦可通過 紅帽開發(fā)者計(jì)劃免費(fèi)獲取。
第一步:利用Ansible準(zhǔn)備主機(jī)系統(tǒng)
在主機(jī)設(shè)備上克隆項(xiàng)目庫。
打開終端并輸入以下命令:
[[email protected] ~]$ 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:
[[email protected] ~]$ cd Virtual_IoT_Gateway/Ansible
[[email protected] ~]$ 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’。
第三步:啟動(dòng)紅帽JBoss Fuse服務(wù)器