Mainflux是一個由法國的創(chuàng)業(yè)公司開發(fā)并維護(hù)的安全、可擴(kuò)展的開源物聯(lián)網(wǎng)平臺,使用 Go語言開發(fā)、采用微服務(wù)的框架。Mainflux支持多種接入設(shè)備,包括設(shè)備、用戶、APP;支持多種協(xié)議,包括HTTP、MQTT、WebSocket、CoAP,并支持他們之間的協(xié)議互轉(zhuǎn)。
Mainflux的南向接口連接設(shè)備,北向接口連接應(yīng)用,提供一個完整的從設(shè)備端到平臺到應(yīng)用的解決方案。
01、功能特性
Mainflux 物聯(lián)網(wǎng)平臺包含以下功能特性:
支持多協(xié)議連接及橋接(HTTP, MQTT, WebSocket 和 CoAP)
設(shè)備管理和配置(零接觸配置)
使用 X.509 數(shù)字證書進(jìn)行雙向認(rèn)證
精細(xì)化的訪問權(quán)限控制
支持消息持久化? (Cassandra, InfluxDB, MongoDB, PostgresSQL)
Platform logging and instrumentation support (Grafana, Prometheus and OpenTracing)
平臺支持記錄日志和基礎(chǔ)設(shè)施
使用 Docker 和 Kubernetes 進(jìn)行基于容器的部署
ontainer-based deployment using Docker and Kubernetes
集成 LoRaWAN
CLI
占用內(nèi)存小,執(zhí)行速度快
領(lǐng)域驅(qū)動的設(shè)計架構(gòu),高質(zhì)量的代碼和測試覆蓋率
02、MainFlux 服務(wù)架構(gòu)
Mainflux 物聯(lián)網(wǎng)平臺包含以下服務(wù):
服務(wù) | 描述 |
---|---|
用戶 | 管理平臺的用戶以及有關(guān)用戶和組的身份驗證問題 |
事物 | 管理平臺的事物、渠道以及與事物和渠道相關(guān)的身份驗證問題 |
http 適配器 | 提供HTTP接口,用于通過HTTP發(fā)送消息 |
mqtt 適配器 | 提供 MQTT 和 MQTT over WS 接口,用于通過 MQTT 發(fā)送和接收消息 |
WS-適配器 | 提供WebSocket接口,用于通過WS發(fā)送和接收消息 |
適配器 | 提供CoAP接口,用于通過CoAP發(fā)送和接收消息 |
opcua 適配器 | 提供 OPC-UA 接口,用于通過 OPC-UA 發(fā)送和接收消息 |
lora 適配器 | 提供 LoRa 服務(wù)器轉(zhuǎn)發(fā)器,用于通過 LoRa 發(fā)送和接收消息 |
mainflux-cli | 命令行界面 |
Mainflux 核心模塊
03、邊緣計算網(wǎng)關(guān)
Mainflux IoT 物聯(lián)網(wǎng)平臺提供邊緣網(wǎng)關(guān)設(shè)備管理服務(wù),包含傳感器原始數(shù)據(jù)處理、過濾和存儲功能,減少設(shè)備(傳感器/執(zhí)行器)上云的負(fù)載、降低配置難度。
上圖展示的是運(yùn)行 Agent、Export 和 Mainflux 服務(wù)最小部署的邊緣網(wǎng)關(guān)。
Mainflux 服務(wù)支持設(shè)備管理和 MQTT 協(xié)議,NATS 是中央消息總線,因為它是 Mainflux 中的默認(rèn)消息代理,它也成為其他服務(wù)的中央消息總線,以及任何新的自定義Agent開發(fā)Export的服務(wù),這些服務(wù)可以構(gòu)建為與網(wǎng)關(guān)上具有任何硬件支持接口的設(shè)備,這些服務(wù)會將數(shù)據(jù)發(fā)布到消息代理,Export服務(wù)可以在消息代理中獲取數(shù)據(jù)并將其發(fā)送到云。
04、官網(wǎng)和源碼
官網(wǎng):https://mainflux.com
GitHub:https://github.com/mainflux
開發(fā)文檔:https://docs.mainflux.io