完全开源的物联网平台推荐-乐联开源EnjoyIot-支持MQTT,Modbus,Tcp
EnjoyIot物联网功能完善 1.非常好的扩展性,时序数据库可以选择ES,TdEngine等.支持更换消息队列,比如直接适用spring event,也可换成Kafka,RocketMq等,支持水平扩展.4.采用现在流行的技术栈,前端采用Vue3,TS,后端采用Springboot2/3,MybatisPlus,Vertx等。:支持监控设备的上下线,属性值异常,可以通过消息队列或者http通知其
需求
作为一个物联网行业的从业者,从事过单片机到后台的开发,对物联网平台的需求也是非常明确:
1.支持的协议需要足够多,对于MQTT和Modbus这种常见的协议必须及支持,而且容易扩展
2.系统的管理要全面:用户管理,权限管理等缺一不可
3.支持简单灵活的规则引擎:支持监控设备的上下线,属性值异常,可以通过消息队列或者http通知其他业务系统,联动其他设备.
4.代码必须开源:不要各种功能都是商业版本才支持,核心代码根本不开放.
EnjoyIot
基于以上的明确需求,对比JetLink,ThingBoard,Fastbee等一系列JAVA阵营的物联网平台,给大家推荐一款-乐联开源-EnjoyIot开源物联网平台
截止发稿在Gitee已经有2000多Star
演示地址
http://8.134.104.234:20080/index 账号 test/123456
物联网功能
首先是物联网功能很完善,协议接入,规则引擎都有.例如:
1.通过页面配置既可以进行消息转发,设备告警及设备联动控制,
2.即可使用内置的mqtt服务器,也可以接入EMQX,ModbusTcp通过页面配置即可接入
3.文档很完善,实属良心,开源群里也很活跃.文档地址
4.采用现在流行的技术栈,前端采用Vue3,TS,后端采用Springboot2/3,MybatisPlus,Vertx等
5.非常好的扩展性兼容性,时序数据库可以选择ES,TdEngine等.支持更换消息队列,比如直接使用spring event,也可换成Kafka,RocketMq,AKKA等,支持水平扩展.
产品管理
方便的定义各类产品,物模型及各种协议组件,统一产品管理
通过设备详情页,可以读取设备的当前属性值,设置设备的可写属性及调用设备提供的方法
规则引擎
规则引擎可以适配不同应用场景,通过配置规则来执行一些场景应用,来完成某种功能或数据输出转发
比如,我们需要监听设备的上线下线,当设备上下线时,给管理员或者维护人员发送通知
再比如,当设备数据大于某个值时,需要告警,或者将数据转发(可以通过http,kafka,mqtt等方式)到其他平台等等
这时候,通过灵活的规则引擎配置来完成上述的应用场景,方便运维,开发等工作。
具体参考官方教程: 官方教程
协议组件
协议组件是负责解析设备协议的,EnjoyIot协议组件的设计,是我觉得目前这几个平台里最简单,而且具备高扩展能力的.
目前内置了MQTT,Http,Tcp,ModbusTcp的支持.
并且提供了详细的文档: 官方文档-设备接入
ModbusTcp为例:
先配置产品的modbus点位
然后再启用ModbusTcp插件,插件里即可轮询相关点位,上报对应的信息
系统功能
其次,系统管理功能是基于ruoyi框架框架的,基本的java开发者都很熟悉,而且功能很完善
功能 | 描述 |
---|---|
用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 |
在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 |
角色管理 | 角色菜单权限分配,设置角色按钮进行数据范围权限划分 |
菜单管理 | 配置系统菜单、操作权限、按钮权限限制等,本地缓存将提供性能 |
部门管理 | 部门系统组织结构(公司、部门、小组),树结构展现现有数据权限 |
岗位管理 | 配置系统用户所承担的职责 |
租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 |
用户套餐管理 | 配置租户套餐,自定每个租户的套餐、操作、按钮权限 |
字典管理 | 对系统中经常使用的一些数据为固定数据进行维护 |
短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
邮件管理 | 邮箱账单、邮件模板、邮件发送日志,支持所有邮件平台 |
网站消息 | 系统的消息通知,支持站内信模板、站内信消息 |
操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
登陆日志 | 系统登录日志记录查询,包括登录异常 |
错误管理 | 系统所有错误的管理,可在线修改错误提示,无需重启服务 |
通知公告 | 系统通知及公告信息发布维护 |
敏感词 | 配置系统敏感词,支持标签分组 |
应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 |
地区管理 | 展示省份、城市、区县等城市信息,支持 IP 对应城市 |
基础功能
丰富的基础功能,可以方便的二开
功能 | 描述 |
---|---|
代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 |
系统接口 | 基于 Swagger 自动生成相关 RESTful API 接口文档 |
数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 |
表单构建 | 自动生成表单示例的 HTML 代码,支持导出 JSON、Vue 文件 |
配置管理 | 允许系统动态配置参数数量,支持 SpringBoot 加载 |
文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 |
WebSocket | 提供 WebSocket 连接示例,支持一对一、一对多发送方式 |
API 日志 | 包括 RESTful API 访问日志,异常日志两部分,方便排查 API 相关的问题 |
MySQL 监控 | 监视当前数据库连接状态,可以进行分析 SQL 以及系统性能指标 |
Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 |
消息队列 | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 |
链路追踪 | 接入 SkyWalking 组件,实现链路追踪 |
日志中心 | 接入 SkyWalking 组件,实现日志中心 |
服务保障 | 基于 Redis 实现分布式锁、限流功能,满足高并发访问需求 |
监控管理 | 轻量级监控中心,查看远程服务端的日志 |
对比
比较开源版本的内容,而非商业版本
开源平台 | 开源程度 | 学习成本 | 文档完善 | 二开成本 | 系统功能 | 协议支持 |
---|---|---|---|---|---|---|
EnjoyIot | ⭐⭐⭐⭐⭐ | 最低 | ⭐⭐⭐⭐ | 低 | 完善 | Mqtt,Modbus,Http,Tcp |
ThingBoard | ⭐⭐⭐⭐⭐ | 大 | ⭐⭐⭐⭐⭐ | 高 | 完善 | MQTT、CoAP , HTTP |
Jetlinks | ⭐⭐⭐⭐⭐ | 难度稍大 | ⭐⭐⭐⭐⭐ | 较高 | 完善 | Mqtt,Http,Tcp |
除了以上方面,对于扩展性来说,乐联EnjoyIot是里面最好的
更多推荐
所有评论(0)