12個優(yōu)秀開源物聯(lián)網(wǎng)(IOT)平臺項目,啟動智能化項目不用愁!
物聯(lián)網(wǎng)平臺(IOT)是一種用于構建和管理物聯(lián)網(wǎng)解決方案的數(shù)字平臺,是實現(xiàn)萬物互聯(lián)的基礎平臺,也是幫助人工智能以更好的方式控制和理解事物的技術。通過物聯(lián)網(wǎng)平臺可以遠程對接的各種設備,收集設備數(shù)據(jù),并在平臺端監(jiān)控、聯(lián)動、分析和管理所有互聯(lián)網(wǎng)連接的設備,還能為整個系統(tǒng)或者運營提供決策。
物聯(lián)網(wǎng)平臺的核心技術包括:傳感器技術、無線通信技術、云計算技術、大數(shù)據(jù)分析技術等。通過這些技術,物聯(lián)網(wǎng)能夠實現(xiàn)物品之間的智能化和自動化。包括:智能感知、智能控制、智能決策、自動化流程等。
物聯(lián)網(wǎng)平臺的功能在不同領域有不同的作用,根據(jù)商業(yè)目標的不同側重點也不同,但大體的層次架構如下,具體的功能根據(jù)不同行業(yè)要求增減。
物聯(lián)網(wǎng)開發(fā)平臺選型是一個復雜而又重要的決策過程,需要綜合考慮多個因素。包括平臺的可擴展性、靈活性、生態(tài)、成本等許多因素。目前可選擇物聯(lián)網(wǎng)平臺的產品非常多,許多開源項目的表現(xiàn)也非常亮眼。
本文收集了一些最知名的開源物聯(lián)網(wǎng)平臺,這些開源平臺可以幫助您更快啟動開發(fā)物聯(lián)網(wǎng)或者智能化項目。
1.Kaa IoT Platform
官網(wǎng):https://www.kaaiot.com/
GITHUB:https://github.com/kaaproject/kaa
Kaa是個功能豐富、開放高效的物聯(lián)網(wǎng)云平臺??梢曰贙aa隨意實現(xiàn)其智能產品概念。Kaa通過提供服務器和SDK組件,實現(xiàn)了對連接對象和后端基礎設施的數(shù)據(jù)管理。
功能特性:
- 可以管理無限數(shù)量的設備
- 支持跨設備互操作性設置
- 可以執(zhí)行A/B服務測試
- 支持執(zhí)行實時設備監(jiān)控
- 執(zhí)行遠程設備調配和配置
- 支持收集和分析傳感器數(shù)據(jù)
- 支持分析用戶行為并提供有針對性的通知
- 支持為智能產品打造云服務
2.ThingSpeak
官網(wǎng):https://thingspeak.com/
GITHUB:https://github.com/mathworks/thingspeak-arduino
ThingSpeak是一個支持在MATLAB中分析數(shù)據(jù)和實現(xiàn)數(shù)據(jù)可視化的物聯(lián)網(wǎng)平臺。使用ThingSpeak無需從Mathworks購買許可證。它允許您在云中收集和存儲傳感器數(shù)據(jù)并開發(fā)物聯(lián)網(wǎng)應用程序。可以與Arduino、Particle Photon and Electron、ESP8266 Wifi Module、BeagleBone Black、Raspberry Pi、移動設備、Web應用程序、Twitter、Twilio以及MATLAB搭配使用,將傳感器收集的數(shù)據(jù)傳輸?shù)絋hingSpeak。ThingSpeak主要功能包括傳感器記錄、位置跟蹤、觸發(fā)器、警報以及分析等。
功能特性:
- 在私有通道收集數(shù)據(jù)
- 支持與公共渠道共享數(shù)據(jù)
- API支持RESTful和MQTT協(xié)議
- 支持使用MATLAB分析和可視化
- 提供警報功能
- 提供事件調度功能
- 支持應用程序集成
3.DeviceHive
官網(wǎng):https://www.devicehive.com/
GITHUB:https://github.com/devicehive
DeviceHive是另一個功能豐富的開源物聯(lián)網(wǎng)平臺,基于Apache 2.0開源協(xié)議,DeviceHive可以免費使用或者更改。它提供了Docker和Kubernetes部署選項??梢杂糜诠苍坪退接性?,還可以從單個虛擬機擴展到企業(yè)級集群。它可以通過REST API、WebSockets或MQTT連接到任何設備,甚至可以連接ESP8266等低端Wi-Fi設備。
功能特性:
- 可以直接與Alexa集成
- 自定義可視化儀表盤
- 通過運行自定義JavaScript代碼來定義DeviceHive行為。
- 支持用于大數(shù)據(jù)產品集成,如ElasticSearch、Apache Spark、Cassandra、Kafka等,用于數(shù)據(jù)實時或批處理。
- 可通過REST API、WebSockets或MQTT連接任何設備。
- 支持Apache Spark和Spark Streaming。
- 支持各種編程語言,包括Android和iOS庫
- 允許在設備數(shù)據(jù)之上運行批量分析和機器學習
4.Mainflux
官網(wǎng):https://www.mainflux.com/
GITHUB:https://github.com/mainflux/mainflux
Mainflux是一個開源且無專利限制的物聯(lián)網(wǎng)平臺。用戶可以基于它進行開發(fā)以及私有化部署。Mainflux物聯(lián)網(wǎng)平臺使用Go語言開發(fā),并支持在Docker中部署。
功能特性:
- 基于一組微服務的響應和可擴展架構
- 一組干凈的API:HTTP RESTful、MQTT、WebSocket和CoAP
- 一組客戶端SDK庫,適用于多種編程語言的多種硬件平臺,包括:C/C++、JavaScript、Go和Python等
- 支持設備管理和配置以及OTA FW更新
- 通過TLS和DTLS實現(xiàn)高度安全的連接
- 通過已部署的Mainflux身份驗證和授權服務器提供強大安全性,包括基于可自定義API密鑰和作用域JWT的訪問控制方案
- 可以使用Docker鏡像進行部署或者擴展
- 清晰的版本路線圖、廣泛的開發(fā)生態(tài)系統(tǒng)和高技能的開發(fā)人員社區(qū)支持
5.Zetta
官網(wǎng):http://www.zettajs.org/
GITHUB:https://github.com/zettajs/zetta
Zetta是一個基于Node.js的面向服務器的開源物聯(lián)網(wǎng)平臺。它主張API先行,采用REST API、WebSockets和響應式編程。它可以在單板計算機、PC或云上運行,并可以將不同的平臺(如:Linux、BeagleBones、Raspberry Pis、Arduino)與Heroku等云平臺連接在一起,創(chuàng)建分布式網(wǎng)絡。 還可以將數(shù)據(jù)流式傳輸?shù)絊plunk等機器分析平臺。
功能特性:
- 圍繞Node.js,REST,WebSockets和基于流的“反應式編程”構建
- 支持廣泛的終端設備平臺
- 支持整合智能手機應用程序、設備應用程序和云應用程序
6.Thingsboard.io
官網(wǎng):https://thingsboard.io/
GITHUB:https://github.com/thingsboard/thingsboard
Thingsboard是一個完全開源的物聯(lián)網(wǎng)平臺,可以將其作為SaaS或PaaS解決方案托管??蓪崿F(xiàn)物聯(lián)網(wǎng)項目的設備管理、數(shù)據(jù)收集、處理和可視化。支持設備連接標準協(xié)議MQTT、CoAP和HTTP,支持云平臺和本地部署。Thingsboard提供了30多個可定制的小部件,支持大多數(shù)物聯(lián)網(wǎng)場景下的自定義儀表盤。
功能特性:
- 實時數(shù)據(jù)可視化和遠程設備控制。
- 30個可自定義的小部件,用于自定義儀表盤。
- 可自定義的規(guī)則、插件、小部件和傳輸?shù)膶崿F(xiàn)。
- 允許監(jiān)控客戶端和服務端的設備屬性。
- 支持開箱即用的多租戶安裝。
- 支持MQTT和HTTP協(xié)議的傳輸加密。
- 故障節(jié)點可以在不停機的情況下更換。
7.Thinger.io
官網(wǎng):https://thinger.io/
GITHUB:https://github.com/thinger-io
Thinger.io是一個可以為連接設備或事物提供可擴展的云基礎設施物聯(lián)網(wǎng)平臺。平臺提供管理控制臺以輕松控制設備,或者使用REST API將設備集成到項目中。支持絕大部分類型的設備平臺,如:Arduino、ESP8266、Raspberry Pi、Intel Edison等。
功能特性:
- 實時數(shù)據(jù)儀表盤
- 支持基于Docker和IFTT集成部署
- 支持在云中安裝服務器,并使用開源庫連接設備。
8.Node-RED
官網(wǎng):https://nodered.org/
GITHUB:https://github.com/node-red/node-red
Node-RED是一個可視化IOT編程工具,它支持開發(fā)人員以及其他專業(yè)人員利用硬件設備、API和在線服務部署物聯(lián)網(wǎng)和Web應用程序。
Node-Red由IBM開發(fā),提供了可拖拉的操作界面以簡化復雜的配置。Node-Red支持各種系統(tǒng)平臺,如:Raspberry Pi、BeagleBone Black、Arduino、Android等。
與傳統(tǒng)開發(fā)語言(如C#或Java)相比,使用Node-RED的主要好處在于它能夠讓任何人(即使是那些之前沒有編碼知識的人)使用可視化操作(無代碼)來快速組裝強大的應用程序。
此外,由于Node RED項目是由執(zhí)行特定功能的獨立模塊組成的,因此與嘗試手動編譯所有內容相比,所需的調試工作要少得多。
它使用基于Node.js開發(fā)的輕量級驅動,通過Node的包存儲庫提供超過225000個模塊。更驚艷的是,一旦所有組件準備好并連接在一起,只需要幾秒鐘即可完成部署。
9.Arduino IoT Cloud
官網(wǎng):https://docs.arduino.cc/arduino-cloud/getting-started/iot-cloud-getting-started
GITHUB: https://github.com/arduino-libraries/ArduinoIoTCloud
Arduino IoT Cloud的開發(fā)者是Arduino Uno微控制器板背后的團隊。這個項目目的是為開發(fā)人員提供一個集中的地方,以便更輕松,更快速地構建連接的應用程序。不僅可以開發(fā)物聯(lián)網(wǎng)相關的應用程序,而且其IT云還允許用戶管理物聯(lián)網(wǎng)設備,并監(jiān)控多數(shù)據(jù)源。此外,它支持各種傳感器和其他組件,使用戶能夠輕松靈活地創(chuàng)建復雜的IOT項目。
10.WSo2
官網(wǎng):https://wso2.com/iot
GITHUB: https://github.com/wso2
WSo2 通過開放API來支持移動應用程序,允許用戶監(jiān)視和控制他們的設備??梢詫⑵渑c現(xiàn)有的身份系統(tǒng)集成,也可以直接或使用它的身份系統(tǒng)。 這個物聯(lián)網(wǎng)平臺也開箱即用,支持幾乎所有已知的設備系統(tǒng)。它支持MQTT、HTTP、Websockets和XMPP協(xié)議,還支持擴展IoT服務器框架以添加更多協(xié)議和數(shù)據(jù)格式。
功能特性:
- 通過WSO2的數(shù)據(jù)分析服務器(DAS),可支持批量分析、交互式分析、實時分析和預測分析。
- 基于位置的服務(地理圍欄)和警報作為可重復使用的功能。
- 支持MQTT、HTTP、Websockets和XMPP協(xié)議。
- 可以調配/取消調配多個已注冊設備。
- 可以為iOS、Android和Windows設備實施自助設備注冊和管理。
- 分發(fā)和管理各個物聯(lián)網(wǎng)設備的應用程序或硬件。
- 支持分組管理和監(jiān)控連接的設備。
- API驅動的設備類型定義。
- 查看單個或多個設備的實時數(shù)據(jù)統(tǒng)計可視化。
- 提供用于實現(xiàn)可視化Stats-API
- 提供常見傳感器的預定義圖表
11.OpenRemote
官網(wǎng):https://openremote.io/product/
GITHUB: https://github.com/openremote/openremote
Openremote.io是個絕佳的開源物聯(lián)網(wǎng)平臺,使用戶能夠創(chuàng)建自定義應用程序并管理,監(jiān)視和控制連接的設備。這個物聯(lián)網(wǎng)平臺提供了一些設計工具來幫助開發(fā)人員設計智能化應用程序,還提供了用于各種不同類型設備的SDK。
此外,該平臺還提供了一套全面的功能,包括:規(guī)則引擎、設備管理系統(tǒng)和分析功能等。
12.SiteWhere
官網(wǎng):http://www.sitewhere.org/
GITHUB: https://github.com/sitewhere/sitewhere
SiteWhere提供了設備數(shù)據(jù)的提取、存儲、處理和集成等功能。可以運行在Apache Tomcat提供的核心服務器上。它提供了MongoDB和HBase的最佳實現(xiàn)方式,并且可以輕易地與各種物聯(lián)網(wǎng)設備系統(tǒng)集成。
功能特性:
- 可以在單個SiteWhere實例上運行任意數(shù)量的IoT應用程序。
- 提供了Spring框架配置。
- 使用MQTT、AMQP、Stomp等協(xié)議連接設備。
- 通過自助注冊、REST服務或批量添加設備。
- 可以與第三方集成框架集成,如Mule AnyPoint。
- 默認的存儲數(shù)據(jù)庫是MongoDB。
- 使用Eclipse Californium實現(xiàn)CoAP消息傳遞。
- 使用InfluxDB存儲事件數(shù)據(jù)。
- SiteWhere數(shù)據(jù)可視化。
- 支持使用HBase存儲非關系數(shù)據(jù)。