完全开源的ruoyi物联网平台推荐-乐联开源EnjoyIot-支持MQTT,Modbus,Tcp_enjoy-iot
需求
作为一个物联网行业的从业者,从事过单片机到后台的开发,对物联网平台的需求也是非常明确:
1.支持的协议需要足够多,对于MQTT和Modbus这种常见的协议必须及支持,而且容易扩展
2.系统的管理要全面:用户管理,权限管理等缺一不可
3.支持简单灵活的规则引擎:支持监控设备的上下线,属性值异常,可以通过消息队列或者http通知其他业务系统,联动其他设备.
4.代码必须开源:不要各种功能都是商业版本才支持,核心代码根本不开放.
EnjoyIot
基于以上的明确需求,对比JetLink,ThingBoard,Fastbee等一系列JAVA阵营的物联网平台,给大家推荐一款-乐联开源-EnjoyIot开源物联网平台
截止发稿在Gitee已经有2000多Star
演示地址
http://8.134.104.234:20080/index 账号密码
物联网功能
首先是物联网功能很完善,协议接入,规则引擎都有.例如:
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的支持.
并且提供了详细的文档: 官方文档-设备接入
以下都是开源的协议支持,支持Modbus,TCP,Http,MQTT等:
ModbusTcp为例:
先配置产品的modbus点位
然后再启用ModbusTcp插件,插件里即可轮询相关点位,上报对应的信息
系统功能
其次,系统管理功能是基于ruoyi框架框架的,基本的java开发者都很熟悉,而且功能很完善
基础功能
丰富的基础功能,可以方便的二开
对比
比较开源版本的内容,而非商业版本
除了以上方面,对于扩展性来说,乐联EnjoyIot是里面最好的