我們在會議中心三層樓內(nèi)部署了20個(gè)傳感器和20個(gè)路由器,通過一個(gè)IoT網(wǎng)關(guān)接收來自整個(gè)IQRF網(wǎng)狀網(wǎng)絡(luò)的數(shù)據(jù),并將其中繼至一個(gè)專門的時(shí)序數(shù)據(jù)庫,本例中使用的數(shù)據(jù)庫是Graphite。數(shù)據(jù)收集器使用了Docker容器內(nèi)運(yùn)行,通過Kubernetes管理的MQQT-Java網(wǎng)橋。其中最有趣的地方是距離,運(yùn)行Docker容器的Raspberry位于美國奧斯丁的會議中心內(nèi),而虛擬機(jī)運(yùn)行在歐洲的數(shù)據(jù)中心。動(dòng)態(tài)網(wǎng)絡(luò)覆蓋渠道由OpenContrail SDN提供。下文技術(shù)概述一節(jié)還將對該平臺進(jìn)行進(jìn)一步介紹。

下圖展示了傳感器和路由器發(fā)現(xiàn)過程中找到的一個(gè)無線IQRF網(wǎng)狀網(wǎng)絡(luò)。區(qū)域0 - 1覆蓋會議中心一樓,區(qū)域2 - 4覆蓋四樓。

IQRF是一種工作在亞GHz ISM波段的無線網(wǎng)狀網(wǎng)絡(luò)技術(shù),可提供簡單易行的集成能力,良好的互操作性,最多支持240個(gè)躍點(diǎn)的健壯網(wǎng)狀網(wǎng)絡(luò)連接,工作距離可達(dá)數(shù)百米,能耗非常低。
下圖展示了會議中心二樓不同房間的二氧化碳實(shí)時(shí)濃度。歷史圖表顯示了自周一以來的數(shù)值。從中可以直觀了解到主題演講的開始時(shí)間和午飯時(shí)間。

奧斯丁這套平臺的數(shù)據(jù)收集方面,我們使用了下列服務(wù)架構(gòu)。

技術(shù)概述
本節(jié)進(jìn)一步介紹了這個(gè)IoT平臺的一些技術(shù)構(gòu)思。這個(gè)IoT平臺以“通用”為愿景,旨在以安全的方式收集、管理和處理來自數(shù)千個(gè)端點(diǎn)的數(shù)據(jù),并以動(dòng)態(tài)的方式集中管理所有數(shù)據(jù)。
因此整個(gè)體系結(jié)構(gòu)可以分為下列兩大主要部分:
數(shù)據(jù)中心
數(shù)據(jù)中心是整個(gè)IoT平臺的中心管理點(diǎn)。其中包含OpenStack IaaS云,以及伴隨云同時(shí)運(yùn)行的虛擬機(jī)和SDN控制面板。這些計(jì)算機(jī)負(fù)責(zé)了時(shí)序存儲、數(shù)據(jù)處理群集、數(shù)據(jù)API網(wǎng)關(guān)訪問,以及可視化Web服務(wù)等任務(wù)。
網(wǎng)關(guān)
IoT網(wǎng)關(guān)可位于任何目標(biāo)位置,例如街燈、工廠機(jī)械、家用電器中。SDN提供的傳輸層將遠(yuǎn)程IoT網(wǎng)關(guān)與云服務(wù)連接在一起。網(wǎng)關(guān)可支持多平臺,甚至可能混合使用了x86/64和ARM設(shè)備。該技術(shù)可以通過一個(gè)網(wǎng)關(guān)為多個(gè)客戶承載多種傳感器平臺,這一特性是通過微服務(wù)分隔(Docker容器)和Kubernetes對多租戶的支持實(shí)現(xiàn)的。整個(gè)平臺可以提供可伸縮的多租戶環(huán)境,無論多遠(yuǎn)距離的應(yīng)用程序和傳感器都可位于同一個(gè)網(wǎng)絡(luò)中。
下列架構(gòu)圖展示了數(shù)據(jù)中心層和網(wǎng)關(guān)端的相關(guān)組件。下文架構(gòu)詳情一節(jié)提供了進(jìn)一步介紹。

架構(gòu)詳情
架構(gòu)圖展示了整個(gè)IoT平臺在體系結(jié)構(gòu)方面的邏輯視圖。左側(cè)是數(shù)據(jù)中心,右側(cè)是上文提到的網(wǎng)關(guān)。
從下圖可以看到,這里使用OpenStack作為承載所有控制服務(wù)的云,同時(shí)所有大數(shù)據(jù)處理和前端可視化任務(wù)也是在這里進(jìn)行的。網(wǎng)關(guān)使用Kubernetes對服務(wù)進(jìn)行微分隔,為了實(shí)現(xiàn)多租戶功能并確保不同傳感器的安全,這一步是必須的。同時(shí)該平臺還使用OpenContrail將兩端連接在一起,并為Kubernetes POD和OpenStack Project虛擬機(jī)提供網(wǎng)絡(luò)分隔。

上文曾提到過,分隔是通過SDN覆蓋實(shí)現(xiàn)的。這里的重點(diǎn)在于數(shù)據(jù)中心邊緣路由器和IoT網(wǎng)關(guān)之間只存在IP連接。網(wǎng)關(guān)操作系統(tǒng)和數(shù)據(jù)中心邊緣路由器之間的VPN連接可以看作該平臺的最底層,該層之上是SDN,在這里可以通過OpenContrail實(shí)現(xiàn)虛擬機(jī)(OpenStack云)和容器(網(wǎng)關(guān))之間的直接通信。這種方法使得用戶可以自由選擇不同類型的傳感器和執(zhí)行程序,為其設(shè)置權(quán)限,并用安全的方式將其與云中負(fù)責(zé)任務(wù)處理的應(yīng)用程序連接在一起。
數(shù)據(jù)中心包含下列服務(wù):