天天看點

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

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

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

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

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

圖檔來源:internetofthingswiki.com

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

一個物聯網裝置和網内其它裝置和應用産品相連接配接,用不同的網際網路協定傳輸資訊。

填補傳感器裝置和資料網絡之間間隙的就是物聯網平台。這個平台将資料網絡與傳感器陣列相連接配接,并且有多個後端應用來分析成百上千個傳感器收集到的資料。

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

ThingSpeak

ThingSpeak是一個通過網際網路http協定存儲和擷取資料的開源物聯網應用産品。ThingSpeak支援傳感器日志生成應用、位置跟蹤應用和更新狀态的物品社交網絡。

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

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

圖檔來源:thingspeak.com

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

ThingBox是一款物聯網開發工具,已經安裝并配置了一組軟體,人們隻要使用網頁浏覽器連接配接各個子產品就能實作圖形化地開發任意的應用産品。

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

圖檔來源:thethingbox.io

Eclipse SmartHome —— 家居自動化軟體

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

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

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

圖檔來源:eclipse.org/smarthome

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

Thing System是一組用來維護物聯網的軟體和網絡協定的組合。這個開源軟體在你的筆記本上就能輕松地跑起來,也可以裝在樹莓派之類的單片機上。

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

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

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

圖檔來源:thethingsystem.com

這裡有完整的清單。

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

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

中間件是連接配接“網際網路”和“物品”的橋梁,它就相當于Internet Of Things裡的那個Of!

接下去讓我們來看看一些物聯網的開源中間件。

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

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

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

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

圖檔來源:kaaproject.org

它是如何工作的呢?

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

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

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

這個視訊展示了Kaa Smart City搭建的IoT所涵蓋的特性:https://youtu.be/UU0gAcam320

Device Hive:

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

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

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

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

圖檔來源: dataart.com

這個視訊展示了一個使用Device Hive的智能電視的例子:https://youtu.be/h0ZtFJ4ccZk

OpenIoT:

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

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

OpenIoT架構的用途在于:

  • 收集和處理世界各個角落傳感器的資料,包括實體裝置、傳感器處理算法、社交媒體處理算法等等;
  • 将各個傳感器的資料流導入雲計算架構中;
  • 動态發現/查詢傳感器以及它們的資料;
  • 組合并傳遞基于大量傳感器資料的物聯網服務;
  • 物聯網資料的可視化展示(表格、圖形等);
  • 優化OpenIoT中間件和雲計算架構的資源。

這個視訊展示了OpenIoT整合平台的示例:https://youtu.be/ZX6LgzSyThE

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

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

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

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