Mainflux IoT:Go语言轻量级开源物联网平台,支持HTTP、MQTT、WebSocket、CoAP协议

Mainflux是一个由法国的创业公司开发并维护的安全、可扩展的开源物联网平台,使用 Go语言开发、采用微服务的框架。Mainflux支持多种接入设备,包括设备、用户、APP;支持多种协议,包括HTTP、MQTT、WebSocket、CoAP,并支持他们之间的协议互转。

Mainflux的南向接口连接设备,北向接口连接应用,提供一个完整的从设备端到平台到应用的解决方案。

01

功能特性

Mainflux 物联网平台包含以下功能特性:

  • 支持多协议连接及桥接(HTTP, MQTT, WebSocket 和 CoAP)

  • 设备管理和配置(零接触配置)

  • 使用 X.509 数字证书进行双向认证

  • 精细化的访问权限控制

  • 支持消息持久化 (Cassandra, InfluxDB, MongoDB, PostgresSQL)

  • Platform logging and instrumentation support (Grafana, Prometheus and OpenTracing)

  • 平台支持记录日志和基础设施

  • 使用 Docker 和 Kubernetes 进行基于容器的部署

  • ontainer-based deployment using Docker and Kubernetes

  • 集成 LoRaWAN

  • SDK

  • CLI

  • 占用内存小,执行速度快

  • 领域驱动的设计架构,高质量的代码和测试覆盖率

02

MainFlux 服务架构

Mainflux 物联网平台包含以下服务:

服务 描述
用户 管理平台的用户以及有关用户和组的身份验证问题
事物 管理平台的事物、渠道以及与事物和渠道相关的身份验证问题
http 适配器 提供HTTP接口,用于通过HTTP发送消息
mqtt 适配器 提供 MQTT 和 MQTT over WS 接口,用于通过 MQTT 发送和接收消息
WS-适配器 提供WebSocket接口,用于通过WS发送和接收消息
适配器 提供CoAP接口,用于通过CoAP发送和接收消息
opcua 适配器 提供 OPC-UA 接口,用于通过 OPC-UA 发送和接收消息
lora 适配器 提供 LoRa 服务器转发器,用于通过 LoRa 发送和接收消息
mainflux-cli 命令行界面

Mainflux 核心模块

03

边缘计算网关

Mainflux IoT 物联网平台提供边缘网关设备管理服务,包含传感器原始数据处理、过滤和存储功能,减少设备(传感器/执行器)上云的负载、降低配置难度。

上图展示的是运行 Agent、Export 和 Mainflux 服务最小部署的边缘网关。

Mainflux 服务支持设备管理和 MQTT 协议,NATS 是中央消息总线,因为它是 Mainflux 中的默认消息代理,它也成为其他服务的中央消息总线,以及任何新的自定义Agent开发Export的服务,这些服务可以构建为与网关上具有任何硬件支持接口的设备,这些服务会将数据发布到消息代理,Export服务可以在消息代理中获取数据并将其发送到云。

04

官网和源码

官网:https://mainflux.com

GitHub:https://github.com/mainflux

开发文档:https://docs.mainflux.io

往期推荐

☞ 十年回望,中国物联网平台消亡史

☞ 2022年 IoT物联网平台趋势: 私有化

☞ 5个值得分享的物联网创业失败教训

☞ 国内 4 大 IoT物联网平台选型对比

☞ 云厂商的 [IoT物联网平台] 不香了吗?

相关推荐
txinyu的博客4 分钟前
HTTP服务实现用户级窗口限流
开发语言·c++·分布式·网络协议·http
西京刀客1 小时前
golang路由与框架选型(对比原生net/http、httprouter、Gin)
http·golang·gin
没有故事的Zhang同学1 小时前
03-📝物联网组网 | 蓝牙通信: 经典蓝牙与低功耗Ble通信、iBeacon技术
物联网
Mr -老鬼1 小时前
Rust与Go:从学习到实战的全方位对比
学习·golang·rust
掘根1 小时前
【仿Muduo库项目】HTTP模块1——Util子模块
网络·网络协议·http
嘿嘿2 小时前
charles iOS 配置证书,抓取https请求
http·测试
Van_Moonlight2 小时前
RN for OpenHarmony 实战 TodoList 项目:已完成未完成数量显示
javascript·开源·harmonyos
御控工业物联网2 小时前
御控远程监控智慧运维系统
运维·物联网·边缘计算·数据采集·远程监控·mqtt协议·工业智能网关
济南壹软网络科技有限公司2 小时前
基于 ThinkPHP 8.1 + Workerman 的全开源商业级游戏陪玩系统技术架构设计
游戏·开源·游戏陪玩·php护航·商业版游戏护航
大厂技术总监下海3 小时前
大数据生态的“主动脉”:RocketMQ 如何无缝桥接 Flink、Spark 与业务系统?
大数据·开源·rocketmq