1. 程式人生 > >DIY:用開源軟體搭建自己的物聯網

DIY:用開源軟體搭建自己的物聯網

圖片描述
圖片來源:open-stand.org

物聯網(Internet of Things, IoT)是最近被頻頻提及,也湧現出許多的想法。

這個社群持續地在發展,所以需要有一個對大眾開放的物聯網平臺,讓每個人都能來實現自己的想法,讓大家的生活或多或少變得更便捷!!

根據InternetOfThingsWiki.com的訊息,物聯網社群的使用者想要一個開放的消費器件市場,不是被單個零售商所壟斷。另一個原因是培養一個物聯網裝置和應用產品的生態圈,使得它們很容易被整合起來。

圖片描述
圖片來源:internetofthingswiki.com

在我們對開源平臺的細節展開之前,讓我們先弄明白究竟什麼是物聯網平臺

一個物聯網裝置和網內其它裝置和應用產品相連線,用不同的網際網路協議傳輸資訊。

填補感測器裝置和資料網路之間間隙的就是物聯網平臺。這個平臺將資料網路與感測器陣列相連線,並且有多個後端應用來分析成百上千個感測器收集到的資料。

我們來看幾個物聯網平臺的例子,每個人都能用它來整合它們的物聯網應用產品。

ThingSpeak

ThingSpeak是一個通過網際網路http協議儲存和獲取資料的開源物聯網應用產品。ThingSpeak支援感測器日誌生成應用、位置跟蹤應用和更新狀態的物品社交網路。

ThingSpeak於2010年推出,它能夠支援MathWorks公司的Matlab計算軟體。

圖片描述
圖片來源:thingspeak.com

ThingBox —— 一款物聯網開發工具

ThingBox是一款物聯網開發工具,已經安裝並配置了一組軟體,人們只要使用網頁瀏覽器連線各個模組就能實現圖形化地開發任意的應用產品。

圖片描述
圖片來源:thethingbox.io

Eclipse SmartHome —— 家居自動化軟體

Eclipse SmartHome是一個物聯網框架,用於在其之上搭建家居自動化的終端使用者解決方案。

Eclipse SmartHome主要關注與一下領域的服務 ——

圖片描述
圖片來源:eclipse.org/smarthome

The Thing System —— 家居自動化軟體

Thing System是一組用來維護物聯網的軟體和網路協議的組合。這個開源軟體在你的筆記本上就能輕鬆地跑起來,也可以裝在樹莓派之類的微控制器上。

想要獲取此產品的更詳細資訊,可以點選這裡觀看The Thing System聯合創始人的一段採訪。

The Thing System支援許許多多的物品,下圖列出了其中一部分:

圖片描述
圖片來源:thethingsystem.com

這裡有完整的列表。

在我們繼續介紹物聯網平臺之前,讓我們來學一下中介軟體(Middleware)的概念。

中介軟體是使各個不同部件能夠流暢交流的機制。

中介軟體是連線“網際網路”和“物品”的橋樑,它就相當於Internet Of Things裡的那個Of!

接下去讓我們來看看一些物聯網的開源中介軟體。

Kaa(我猜測名字的靈感來源於《奇幻森林》):

Kaa是一款易用的多功能物聯網中介軟體平臺,能用來搭建完整的物聯網設計、相互連線的應用產品和智慧產品。Kaa平臺提供了一個開源的物聯網產品開發工具包,它有著豐富的特性,減少了產品開發的成本和風險,縮短了市場化的時間。

下圖顯示了Kaa的工作狀態:

圖片描述
圖片來源:kaaproject.org

它是如何工作的呢?

Kaa通過提供伺服器和終端SDK組建來管理入網物體和後端架構的資料。SDK被嵌入到入網物體中,並與伺服器進行實時的雙向資料交換。Kaa SDK幾乎能與任何入網裝置或者微晶片整合。

Kaa伺服器提供了超大規模、關鍵的物聯網技術方案需要的所有後端功能。它處理了所有入網裝置的資訊交流,包括資料一致性和安全性,裝置互動性,以及失敗重連。

Kaa伺服器提供了整合資料管理和分析系統的完好介面,和產品定製化服務。它就像後端系統的基礎,使你能夠自由擴充套件,滿足產品的個性化需求。

Device Hive:

Device Hive是一個集成了大量裝置的開源物聯網資料平臺。它受到了DataArt公司(一家世界領先的技術顧問公司)的物聯網研發團隊的支援。

部署操作簡單,既能用於想法驗證,也能用於開發和大規模生產。Device HIve在公有云和私有云上都能執行 —— MicroSoft Azure、Amazon Web Services、Apache Mesos、OpenStack,或是自己的資料中心。

Device Hive雲平臺同時還支援Apache Spark和Spark streaming,也就是說你可以在收集到的資料上做批量分析和機器學習,也可以實時處理事件訊息。

圖片描述
圖片來源: dataart.com

OpenIoT:

OpenIoT是物聯網的一個創新開源平臺,包括了一些獨特的功能,諸如基於雲端計算來組合各種重要的物聯網服務。

諸位優秀的開源貢獻者通力合作,基於雲端計算模型實現了這套大規模智慧物聯網應用產品。

OpenIoT架構的用途在於:

  • 收集和處理世界各個角落感測器的資料,包括物理裝置、感測器處理演算法、社交媒體處理演算法等等;
  • 將各個感測器的資料流匯入雲端計算架構中;
  • 動態發現/查詢感測器以及它們的資料;
  • 組合並傳遞基於大量感測器資料的物聯網服務;
  • 物聯網資料的視覺化展示(表格、圖形等);
  • 優化OpenIoT中介軟體和雲端計算架構的資源。

想了解更多關於OpenIoT的資訊,請戳這裡

除了上述提到的開源物聯網軟體之外,常見的還有IoTSys、OpenRemote、openHAB等等。

另外一些優秀的物聯網作業系統還包括AllJoyn、Raspbian、Spark等。

你還在等什麼呢?趕緊加入物聯網咖。


FROM:  http://geek.csdn.net/news/detail/74542