[轉]面向物聯網的21個開源軟件項目

 

原文連接:https://my.oschina.net/RainyZou/blog/1605337spring

物聯網市場呈現碎片化、無定形、不斷變化的特色,其性質須要不只僅像日常那樣關注互操做性。開源在這方面表現不俗也就不足爲奇了——客戶猶豫不決,不敢將物聯網的將來寄託在一種可能銷聲匿跡或變得難以定製、互聯的專有平臺上。數據庫

我在本文中介紹了主要的開源軟件項目,專一於面向家庭和工業自動化的開源技術。我忽略了側重垂直領域的與物聯網有關的項目,好比Automotive Grade Linux和Dronecode,還忽視了面向互聯網的開源操做系統發行版,好比Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot、Ubuntu Snappy Core、UCLinux和Zephyr。下次我將介紹硬件項目:從智能家庭集線器,到面向物聯網的開發板,不一而足。編程

下面介紹的21個項目包括Linux基金會管理的兩大項目:AllSeen(AllJoyn)和OCF(IoTivity),以及將物聯網傳感器端點與網關和雲服務鏈接起來的衆多端到端框架。我還介紹了一小批針對物聯網生態系統特定領域的小型項目。咱們本來介紹更多的項目,可是愈來愈難釐清物聯網軟件與普通軟件之間的區別。從嵌入式環境到雲,愈來愈多的項目都帶有物聯網元素。後端

這21個項目都聲稱是開源,不過確保它們徹底名至實歸不在本文的範圍以內。它們都在生態系統中的至少一個部分上運行Linux,大多數全面支持Linux,從開發環境到雲/服務器、網關和傳感器端點部件。絕大多數都有能夠在Linux開發板(好比Raspberry Pi和BeagleBone)上運行的組件,許多支持Arduino。瀏覽器

物聯網領域仍有許多專有技術,尤爲是在自上而下的企業平臺中。不過,連其中一些都提供部分開放的訪問權。好比說,韋裏遜的ThingSpace針對4G智慧城市應用,它有一套免費的開發API支持開發板,儘管核心平臺自己是專有的。有點相似的是,亞馬遜的AWS物聯網套件有一套局部開放的設備SDK和開源入門套件。安全

其餘主要的專有平臺包括蘋果的HomeKit和微軟的Azure物聯網套件。而後是擁有230個成員的Thread Group,該組織監管基於6LoWPAN的對等Thread網絡協議。Thread Group由谷歌的母公司Alphbet旗下的Nest設立,並不提供像AllSeen和OCF那樣的一套全面的開源框架。不過,它與Brillo有關聯,與Weave物聯網通訊協議也有關聯。5月份,Nest發佈了一款名爲OpenThread的開源版Thread(下面有介紹)。服務器

下面是面向物聯網的21個開源軟件項目:網絡

AllSeen Alliance(AllJoyn)架構

由AllSeen聯盟(ASA)監管的AllJoyn互操做系統框架多是市面上採用最普遍的開源物聯網平臺。app

Bug Labs dweet和freeboard

Bug Labs以生產模塊化、基於Linux的Bug硬件裝置起家,但很早之前它就演變成了與硬件無關的企業級物聯網平臺。Bug Labs提供一種「dweet」消息及提醒系統和一款「freeboard」物聯網設計應用軟件。dweet使用HAPI Web API和JSON,有助於發佈和描述數據。freeboard是一種拖放式工具,用於設計物聯網儀表板和可視化元素。

DeviceHive

DataArt的基於AllJoyn的設備管理平臺可在諸多雲服務上運行,好比Azure、AWS、Apache Mesos和OpenStack。 DeviceHive專一於使用ElasticSearch、Apache Spark、Cassandra和Kafka,分析大數據。還有一個網關組件可在運行Ubuntu Snappy Core的任何設備上運行。模塊化網關軟件可與DeviceHive雲軟件和物聯網協議進行聯繫,被部署成Snappy Core服務。

DSA

分佈式服務架構(DSA)便於去中心化的設備互通、邏輯和應用程序。DSA項目正在構建分佈式服務鏈路(DSLinks)庫,以便支持協議轉換、與第三方數據源整合數據。DSA提供一種可擴展的網絡拓撲結構,這種拓撲結構包括在鏈接到分層代理層次體系的物聯網邊緣設備上運行的多個DSLinks。

Eclipse IoT(Kura)

Eclipse基金會的物聯網工做圍繞其基於Java/OSGi的Kura API容器和聚合平臺,支持在服務網關上運行的M2M應用。Kura基於Eurotech的Everywhere Cloud物聯網框架,經常與Apache Camel整合起來,後者是一種基於Java的、基於規則的路由和中介引擎。Eclipse物聯網子項目包括Paho消息傳送協議框架、面向輕量級服務器的Mosquitto MQTT架構和Eclipse SmartHome框架。還有一個基於Java、實現受限制的應用協議(CoAP)的項目,名爲Californium。

Kaa

CyberVision支持的Kaa項目提供了一種可擴展的端到端物聯網框架,它爲雲互聯的龐大物聯網網絡而設計。該平臺包括一種支持REST的服務器功能,可用於服務、分析和數據管理,一般部署成由Apache Zookeeper協調的節點集羣。Kaa的端點SDK支持Java、C++和C開發,負責處理客戶機/服務器通訊、驗證、加密、持久性和數據編排。SDK包括針對特定服務器、支持GUI的模式,這些模式可轉換成物聯網物件綁定。模式治理語義,並抽象一組迥異設備的功能。

Macchina.io

Macchina.io提供了一種「支持Web、模塊化、可擴展的」JavaScript和C++運行時環境,可用於開發在Linux開發板上運行的物聯網網關應用程序。Macchina.io支持一系列普遍的傳感器和鏈接技術,包括Tinkerforge bricklet、XBee ZB傳感器、GPS/GNSS接收器、串行和GPIO聯網設備以及方向感應器。

GE Predix

GE面向工業物聯網的平臺即服務(PaaS)軟件基於Cloud Foundry。它增添了資產管理、設備安全、實時預測分析,並支持不一樣數據的採集、存儲和訪問。GE Predix是GE爲內部運營而開發的,它已成爲最成功的企業物聯網平臺之一,收入大約60億美圓。GE最近與HPE達成了合做夥伴關係,HPE將把Predix整合到本身的服務中。

Home Assistant

這個做爲後起之秀的草根項目提供了一種面向Python的家居自動化方法。

Mainspring

M2MLabs的基於Java的框架針對遠程監控、車隊管理和智能電網等應用領域中的M2M通訊。與許多物聯網框架同樣,Mainspring高度依賴REST Web服務,並提供了設備配置和建模工具。

Node-RED

這種面向Node.js開發人員的可視化佈線工具擁有基於瀏覽器的數據流編輯器,可用於設計物聯網節點當中的數據流。而後,節點能夠迅速部署成運行時環境,並使用JSON來存儲和共享。端點能夠在Linux開發板上運行,支持的雲包括Docker、IBM Bluemix、AWS和Azure。

Open Connectivity Foundation(IoTivity)

英特爾和三星支持的開放互聯聯盟(OIC)組織和UPnP論壇組成的這個組織正在努力成爲物聯網方面領先的開源標準組織。OCF的開源IoTivity項目依賴充分利用的JSON和CoAP。

openHAB

 

OpenIoT

這款基於Java的OpenIoT中間件旨在使用一種公用雲計算交付模式,爲開放、大規模的物聯網應用提供便利。除了表示物聯網物件的本體、語義模型和標註外,該平臺還包括傳感器和傳感器網絡中間件。

OpenRemote

OpenRemote爲家庭和樓宇自動化而設計,它以普遍支持衆多智能設備和網絡規範而出名,好比1-Wire、EnOcean、 xPL、Insteon和X10等規範。規則、腳本和事件都獲得支持,還有基於雲的設計工具,可用於用戶界面、安裝、配置、遠程更新及診斷。

OpenThread

這是Nest最近從基於6LoWPAN的物聯網Thread無線網絡標準分離出來的開源項目,它還獲得了ARM、Microchip旗下的Atmel、Dialog、高通和德州儀器的支持。OpenThread實現了全部Thread網絡層,還實現了Thread的端點設備、路由器、Leader和邊界路由器等角色。

Physical Web/Eddystone

谷歌的Physical Web讓藍牙低能耗(BLE)信標能夠將URL發送到智能手機。它針對谷歌的Eddystone BLE信標通過了優化,這提供了除蘋果的iBeacon以外的一種開放技術。其想法是,行人能夠與任何具備BLE功能的支持性設備(好比汽車停放計時器、標牌或零售產品)聯繫。

PlatformIO

基於Python的PlatformIO包括IDE、項目生成器和基於Web的庫管理器,它是爲訪問來自基於微控制器的Arduino和基於ARM Mbed的端點的數據設計的。它爲200多種板卡提供了預先配置的設置,並與Eclipse、Qt Creator及其餘IDE整合起來。

The Thing System

這種基於Node.js的智能家居「監管」軟件聲稱支持真正的自動化,而不是簡單的通知。其自學習人工智能軟件可處理許多協同式M2M操做,不須要由人干預。缺乏雲組件偏偏提供了更好的安全性、隱私性和控制性。

ThingSpeak

成立五年的ThingSpeak項目專一於傳感器日誌、位置跟蹤、觸發器及提醒以及分析。ThingSpeak用戶可使用用於物聯網分析和可視化的MATLAB版本,不須要向Mathworks購買許可證。

Zetta

Zetta是一種面向服務器的物聯網平臺,利用Node.js、REST和WebSockets構建而成,奉行基於數據流的「響應式編程」開發理念,用Siren超媒體API鏈接起來。設備被抽取成REST API,用雲服務鏈接起來,這些服務包括可視化工具,並支持Splunk之類的機器分析工具。該平臺可將Linux和Arduino開發板之類的端點與Heroku之類的雲平臺鏈接起來,以便構建地理分佈式網絡。

物聯網(IoT)是幫助人工智能(AI)以更好的方式控制和理解事物的將來技術。 咱們收集了一些最有名的物聯網平臺,幫助您以受控方式開發物聯網項目。
物聯網平臺是幫助設置和管理互聯網鏈接設備的組件套件。 一我的能夠從一個系統遠程收集數據,監控和管理全部鏈接互聯網的設備。 物聯網平臺上有不少可用的在線平臺,但爲公司構建物聯網解決方案都依賴於物聯網平臺主機和支持質量。
在這裏,咱們編譯了一些最好的和着名的開源物聯網(IoT)平臺。 大多數這些平臺都提供API來支持Linux開發板,如Raspberry Pi,Arduino和BeagleBone。


Kaa IoT Platform https://www.kaaproject.org/
它是功能豐富的開放和高效的物聯網雲平臺。 任何物聯網公司,物聯網系統集成商或我的均可以避免費實現其智能產品概念。 經過提供服務器和端點SDK組件,Kaa能夠爲鏈接的對象和後端基礎架構提供數據管理。Kaa關鍵物聯網功能:
管理無限數量的鏈接設備創建跨設備互操做性執行A/B服務測試 (隨機將測試用戶羣分爲2部分,用戶羣1使用A方案,用戶羣2使用B方案,通過必定測試時間後,根據收集到的兩方案樣本觀測數據,根據顯著性檢驗結果選取最好方案。)執行實時設備監控執行遠程設備準備和配置收集並分析傳感器數據分析用戶行爲可提供有針對性的通知爲智能產品建立雲服務
SiteWhere: Open Platform for the Internet of Thingshttp://www.sitewhere.org/


Sitewhere的工做架構和整合的東西
它是提供設備數據的攝取,存儲,處理和集成的另外一個開源IoT平臺。 SiteWhere運行在Apache Tomcat提供的核心服務器上。 它提供高度調整的MongoDB和HBase實現。 它能夠輕鬆與黑客板集成。SiteWhere關鍵的物聯網功能:
在單個SiteWhere實例上運行任意數量的IoT應用程序Spring提供了核心配置框架用MQTT,AMQP,Stomp和其餘協議鏈接設備經過自注冊,REST服務或批量添加設備與第三方集成框架(如Mule AnyPoint)集成默認的數據庫存儲是MongoDBEclipse Californium進行CoAP消息傳遞InfluxDB用於事件數據存儲Grafana可視化SiteWhere數據HBase用於非關係數據存儲
ThingSpeak: An open IoT platform with MATLAB analyticshttps://thingspeak.com/
ThingSpeak是物聯網(IoT)平臺,可以讓您在不從Mathworks購買許可證的狀況下分析和可視化MATLAB中的數據。 IT容許您收集和存儲傳感器數據並開發物聯網應用程序。 它適用於Arduino,Particle Photon和Electron,ESP8266 Wifi模塊,BeagleBone Black,Raspberry Pi,移動和網絡應用,Twitter,Twilio和MATLAB,以將傳感器數據傳到ThingSpeak。 ThingSpeak主要關注傳感器記錄,位置跟蹤,觸發和警報以及分析


ThingSpeak開放源碼物聯網平臺關鍵物聯網特性
在私人渠道收集數據與公共頻道共享數據RESTful和MQTT APIMATLAB分析和可視化警報事件調度應用程序集成全球社區DeviceHive: IoT Made Easyhttps://www.devicehive.com/



DeviceHive是另外一種功能豐富的開源IoT平臺,它在Apache 2.0許可下分發。 DeviceHive能夠自由使用和更改。它提供了Docker和Kubernetes部署選項。您能夠下載並使用公共雲和私有云,也能夠將單個虛擬機擴展到企業級羣集。它能夠經過REST API,WebSockets或MQTT鏈接到任何設備或黑客板。你甚至能夠鏈接ESP8266這樣的低端Wi-Fi設備。
DeviceHive開放源代碼物聯網平臺的關鍵特性:
直接與Alexa整合您選擇的可視化儀表板經過運行自定義JavaScript代碼來自定義DeviceHive行爲。它支持大數據解決方案,如ElasticSearch,Apache Spark,Cassandra和Kafka,用於實時和批處理。經過REST API,WebSockets或MQTT鏈接任何設備。它帶有Apache Spark和Spark Streaming支持。支持用各類編程語言編寫的庫,包括Android和iOS庫它容許在設備數據之上運行批量分析和機器學習。
Zetta: API-First Internet of Things Platformhttp://www.zettajs.org/

Zetta是一個基於Node.js構建的面向服務器的開源IoT平臺。 Zetta結合了REST API,WebSockets和反應式編程。 它能夠在單板計算機,我的電腦或雲上運行,而且可以將諸如Linux,BeagleBones,Raspberry Pis,Arduino開發板和PC等不一樣平臺與Heroku等雲平臺鏈接在一塊兒,以建立地理分佈式網絡。 您還能夠將數據傳輸到Splunk等機器分析平臺。Zetta開源的物聯網平臺的關鍵特性:基於Node.js,REST,WebSockets和基於流的「響應式編程」構建。支持普遍的開發板Zetta容許您組裝智能手機應用程序,設備應用程序和雲應用程序
DSA: Open Source Platform & 「Toolkit」 for Internet Of Things Deviceshttp://www.iot-dsa.org/


分佈式服務體系結構(DSA)是一個開源的物聯網平臺,它將結構化和實時數據模型中的各個設備,服務和應用程序統一塊兒來。它有利於分散設備的互通,邏輯和應用程序。 DSA社區構建了一個圖書館分佈式服務連接,容許協議翻譯和數據集成到第三方數據源和從第三方數據源進行數據集成全部DSA模塊都很輕便,能夠將DSBroker,多個DSLink和客戶端Web應用程序鏈接到相同的低功率設備上,例如Raspberry PI,Beaglebone black或任何其餘相似的計算平臺。這個基於NodeAPI,DSLink和DSBroker的開源IoT平臺。計劃爲第三方處理系統提供Analytics(分析)支持的DSA社區包括R Project,RDBMS,JDBC SQL passthrough和預準備語句,Haystack DSLink,Niagara DSLink,OS X DSLink,Windows DSLink和nix DSLink
DSA開源IoT平臺的關鍵特性:
指定M2M受權生命週期公開WebSocket / HTTP端點以訂閱來自代理的節點和值更改實施DSA查詢DSL硬件集成支持:Dreamplug,Beaglebone,Raspberry PI,Android DSLink,OS X DSLink,Windows DSLink和nix DSLink該平臺創建在三個輕量級模塊
Thingsboard.io Open-source IoT Platformhttps://thingsboard.io/

Thingsboard是100%開源的IoT平臺,能夠做爲SaaS或PaaS解決方案託管它。 IT爲您的物聯網項目提供設備管理,數據收集,處理和可視化。 它支持提供設備鏈接的標準協議是MQTT,CoAP和HTTP,並支持雲和本地部署。 它提供了30多個可自定義的小部件,容許您爲大多數物聯網用例構建最終用戶自定義儀表板。
thingsboard.io開源的物聯網平臺主要特色:
實時數據可視化和遠程設備控制自定義儀表板的30個可定製小部件可定製的規則,插件,小部件和傳輸實現容許監視客戶端和提供服務器端設備屬性。支持多租戶安裝即裝即用。支持MQTT和HTTP協議的傳輸加密。失敗的節點能夠在沒有停機的狀況下進行更換
Thinger.io: The Opensource Platform for Internet of thingshttps://thinger.io/
Thinger.io是IoT的開源平臺,可爲鏈接設備或物品提供可擴展的雲基礎架構。 您可使用管理控制檯輕鬆控制它們,或使用其REST API將它們集成到項目邏輯中。 IT支持全部類型的黑客板,如Arduino,ESP8266,Raspberry Pi,Intel Edison。


Thinger.io開源的物聯網平臺主要特色:
實時儀表板Docker和IFTT集成雲準備好了將服務器安裝在您本身的雲中,並使用開放源代碼庫鏈接您的設備。WSo2- Open source platform for Internet of Things and mobile projectshttps://wso2.com/iot

WSo2 Build容許公開API來爲移動應用提供支持,容許用戶監控和控制他們的設備。 您能夠將其與現有的身份系統集成,或使用他們的身份系統。 該物聯網平臺還支持幾乎全部已知的開發板設備,如Raspberry Pi,Arduino Uno等。邊緣計算由WSO2 Siddhi提供支持。
設備通訊支持的協議包括MQTT,HTTP,Websockets和XMPP協議以及用於添加更多協議和數據格式的IoT Server Framework擴展。
WSo2開源的物聯網平臺主要特色:
經過WSO2數據分析服務器(DAS),它支持批量,交互式,實時和預測性分析。基於位置的服務(地理圍欄)和警報做爲可重用的功能MQTT,HTTP,Websockets和XMPP協議爲多個註冊設備配置/取消配置應用程序爲iOS,Android和Windows設備實施自助設備註冊和管理分配和管理設備的應用程序/固件分組,管理和監視鏈接的設備API驅動的設備類型定義查看單個或多個設備的即時可視化統計信息Stats-API編寫您本身的可視化文件預製的普通傳感器圖

開源的物聯網平臺比較表IoT 軟件平臺設備管理?集成安全數據收集協議分析支持可視化?數據庫Kaa IoT PlatformYesPortable SDK available to integate any particular platfrom, REST APILink Encryption (SSL), RSA key 2048 bits,  AES key 256 bitsMQTT, CoAP, XMPP, TCP, HTTP經過Kaa,Apache Cassandra和Apache Zappelin進行實時物聯網數據分析和可視化YesMongoDB, Cassandra, Hadoop, Oracle NoSQLSiteWhereYesREST API, Mule AnyPoint, and moreLink Encryption (SSL), Spring SecurityMQTT, AMQP, Stomp, WebSockets, and direct socket connectionsReal-time analytics (Apache Spark)NoMongoDB, HBase , InfluxDBThingSpeakNoREST and MQTT APIsBasic AuthenticationHTTPMATLAB AnalyticsNoMySQLDeviceHive*Unknown REST AP, MQTT APIsBasic Authentication using JSON Web Tokens (JWT)REST API, WebSockets or MQTTReal-time analytics (Apache Spark)YesPostgreSQL ,SAP Hana DBZettaNoREST APIsBasic AuthenticationHTTPUsing SplunkNoUnknownDistributed Services Architecture (DSA)NOREST APIsBasic AuthenticationHTTPNoNoETSDB – Embedded Time SeriesThingsboard.ioYesREST APIsBasic AuthenticationMQTT, CoAP and HTTPReal time analytics(Apache Spark, Kafka)NoCassandraThinger.ioYesREST APIsLink Encryption (SSL/TLS) and basic authenticationMQTT, CoAP and HTTPYesNoMongodBWSo2YesREST APIsLink Encryption (SSL) and basic authenticationHTTP, WSO2 ESB, MQTTYes, WSO2 Data Analytics ServerYesOracle, PostgreSQL, MySQL, or MS SQL
————————————————版權聲明:本文爲CSDN博主「shnbiot」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/shnbiot/article/details/80432017

 

相關文章
相關標籤/搜索