本文詳細(xì)介紹了 OpenStack奧斯丁峰會 上主題演講所提及的開源IoT平臺。首先我們會介紹關(guān)于IoT的方法和愿景,隨后會提供簡要的技術(shù)概述并展示兩個使用案例。
物聯(lián)網(wǎng)(IoT)是云計(jì)算領(lǐng)域的“下一件大事”。領(lǐng)先的行業(yè)供應(yīng)商都提供了自己的IoT解決方案,并將其視作自己的業(yè)務(wù)戰(zhàn)略。因此IoT這個詞已經(jīng)被濫用成為描述不同供應(yīng)商專有解決方案的一個新流行詞匯。“IoT”這個詞幾乎可以代表一切,甚至比“云計(jì)算服務(wù)”更加空泛。物聯(lián)網(wǎng)主要圍繞日益增加的計(jì)算機(jī)間通信,可通過用于收集數(shù)據(jù)傳感器的網(wǎng)絡(luò)和連接到云計(jì)算服務(wù)的執(zhí)行程序處理各類信息。這個技術(shù)可以讓我們生活中的一切,從街邊路燈到港口都變得更加“智能”。
我們對IoT的看法與其他供應(yīng)商有所差異。我們會通過相同的方法向客戶提供私有云解決方案,并使用現(xiàn)有的開源項(xiàng)目對云服務(wù)的實(shí)現(xiàn)方式進(jìn)行擴(kuò)展,借此打造通用IoT平臺,以應(yīng)對不同用例的需求。為此我們定義了下列需求:
開源軟件整個平臺必須基于現(xiàn)有的開源解決方案,并且絕對不能只由某一家供應(yīng)商開發(fā)。我們希望使用現(xiàn)有的平臺:OpenStack、Kubernetes、Docker、OpenContrail等。
不依賴具體硬件和供應(yīng)商軟硬件方面不能存在供應(yīng)商鎖定的情況。IoT網(wǎng)關(guān)CPU必須支持x86/64或ARM架構(gòu)。我們不想因?yàn)榘嘿F的專有裝置而被迫只能使用某一供應(yīng)商的產(chǎn)品。
**互操作性**IoT平臺必須是通用的,可以適合不同用例。舉例來說,如果某一IoT網(wǎng)關(guān)可用于統(tǒng)計(jì)街燈數(shù)量,那么也必須能通過相同的方式將其用于智能工廠或工業(yè)4.0應(yīng)用程序中。
因此我們設(shè)計(jì)出涉及OpenStack、Kubernetes、OpenContrail和Docker開源項(xiàng)目的下列高層體系結(jié)構(gòu)。

開源軟件
整個平臺必須基于現(xiàn)有的開源解決方案,并且絕對不能只由某一家供應(yīng)商開發(fā)。我們希望使用現(xiàn)有的平臺:OpenStack、Kubernetes、Docker、OpenContrail等。
不依賴具體硬件和供應(yīng)商
軟硬件方面不能存在供應(yīng)商鎖定的情況。IoT網(wǎng)關(guān)CPU必須支持x86/64或ARM架構(gòu)。我們不想因?yàn)榘嘿F的專有裝置而被迫只能使用某一供應(yīng)商的產(chǎn)品。
互操作性
IoT平臺必須是通用的,可以適合不同用例。舉例來說,如果某一IoT網(wǎng)關(guān)可用于統(tǒng)計(jì)街燈數(shù)量,那么也必須能通過相同的方式將其用于智能工廠或工業(yè)4.0應(yīng)用程序中。
下文技術(shù)概述一節(jié)將詳細(xì)介紹其中的技術(shù)細(xì)節(jié)。首先一起來看看我們構(gòu)建解決方案原型的兩個用例。
智能城市原型
第一個用例是為捷克共和國一個名為皮斯克(Pisek)的小城市構(gòu)建的智能城市項(xiàng)目。智能城市的理念和架構(gòu)需要部署超過3000個端點(diǎn),以及大約300個IoT網(wǎng)關(guān),這些網(wǎng)關(guān)以高可用模式運(yùn)行在Kubernetes驅(qū)動的容器中。該解決方案還包含開放數(shù)據(jù)門戶,并通過數(shù)據(jù)API為第三方公司提供了下列信息:
交通流量、路線、停車位
監(jiān)控和管理能源的使用以實(shí)現(xiàn)節(jié)能
電子商務(wù)、營銷、旅游信息
環(huán)境分析
生活方式、社交服務(wù)、社交網(wǎng)絡(luò)

該解決方案使用基于RaspberryPi 2的IoT網(wǎng)關(guān)。來自網(wǎng)關(guān)的數(shù)據(jù)存儲在Graphite中,通過自行開發(fā)的數(shù)據(jù)挖掘應(yīng)用程序進(jìn)行處理,將結(jié)果顯示在基于Leonardo CMS構(gòu)建的市民門戶網(wǎng)站中。Leonardo CMS是一種Web服務(wù),可以將復(fù)雜的可視化結(jié)果混合顯示在一起呈現(xiàn)任何內(nèi)容。這個開放數(shù)據(jù)門戶可以通過可視化儀表盤或API提供數(shù)據(jù)訪問。
下圖展示了特定時間內(nèi),Kollarova和Zizkova兩條街道十字路口的機(jī)動車和行人通行情況。

若要詳細(xì)了解該項(xiàng)目,建議閱讀奧斯丁SuperUser雜志《更進(jìn)一步,讓城市變得更智能》一文,或觀看 KubeCon 2016 演講。
OpenStack奧斯丁峰會上的智能會議系統(tǒng)
為了證明我們的IoT平臺真正不依賴某種應(yīng)用程序環(huán)境,在OpenStack峰會過程中,我們將智能城市項(xiàng)目中使用的IoT網(wǎng)關(guān)(RaspberryPi 2)帶到了奧斯丁會議中心,通過基于IQRF的網(wǎng)狀網(wǎng)絡(luò)將其與傳感器連接在一起,借此測量濕度、溫度,以及二氧化碳濃度。這個演示證明了IoT網(wǎng)關(guān)可以對IQRF、藍(lán)牙、GPIO,以及任何其他基于Linux平臺的通信標(biāo)準(zhǔn)進(jìn)行管理并收集數(shù)據(jù)。