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