JetLinks 开源物联网平台
JetLinks 基于 Java8、Spring Boot 2.x、WebFlux、Netty、Vert.x、Reactor 等开发,是一个开源的企业级物联网基础开发平台,实现了物联网相关以及相关业务开发的众多基础功能,能帮助你快速建立物联网相关业务系统。
在线完整功能演示地址: https://demo.jetlinks.cn 用户名:test
密码: test123456
测试用户未开放全部权限,建议本地运行社区版体验或者联系商务试用企业版。
核心特性
开放源代码
全部源代码开放,可自由拓展功能,不再受制于人。前后端分离,接口全开放。
统一设备接入,海量设备管理
TCP/UDP/MQTT/HTTP、TLS/DTLS、不同厂商、不同设备、不同报文、统一接入,统一管理。
规则引擎
灵活的规则模型配置,支持多种规则模型以及自定义规则模型。设备告警,场景联动,均由统一的规则引擎管理。
超轻量级基于 SQL 的实时处理引擎 , 让数据处理更简单.
多种数据存储策略
支持灵活的设备数据存储策略,可将不同类型的设备数据存储到不同的地方。
技术栈
- Spring Boot 2.7.x
- Spring WebFlux 响应式 Web 支持
- R2DBC 响应式关系型数据库驱动
- Project Reactor 响应式编程框架
- Netty ,Vert.x 高性能网络编程框架
- ElasticSearch 全文检索,日志,时序数据存储
- Redis 设备配置,状态管理,缓存
- PostgreSQL 业务功能数据管理
- hsweb framework 4 业务功能基础框架
架构
2.1 版本发布
🍏 新功能
- 脚本编辑增加联想功能, 脚本编辑更简单。
- 新增设备透传协议数据解析功能,在线编辑脚本解析设备数据。 查看示例
- 新增通知订阅功能,支持不同角色配置可接收的通知类型,用户自行选择接收通知的方式。订阅管理 我的订阅
- 优化基础配置base-path校验规则,解决部分用户base-path填写错误,导致后续协议包上传保存失败等问题。
完整更新记录
- Bump jsoup from 1.14.3 to 1.15.3 in /jetlinks-components/notify-component/notify-email by @dependabot in #197
- fix(sec): upgrade org.bouncycastle:bcprov-jdk15on to 1.69 by @vvsd in #200
- 解决产品未选择网关时,查询产品配置抛出的NPE by @bestfeng1020 in #202
- 同步协议模块代码 by @bestfeng1020 in #204
- fix-bug by @bestfeng1020 in #206
- Bump commons-text from 1.9 to 1.10.0 by @dependabot in #210
- Bump commons-text from 1.9 to 1.10.0 in /jetlinks-components/network-component/tcp-component by @dependabot in #209
- 代码优化 by @bestfeng1020 in #212
- 重构场景联动 by @bestfeng1020 in #227
- 同步README文档链接 by @kyouji in #230
- 更新2.0版本README by @kyouji in #231
- 添加透传消息转换支持 by @bestfeng1020 in #237
- fix(接口缺失): 添加菜单和权限数据验证接口 by @bestfeng1020 in #245
- fix(阿里云短信): 解决短信模板和标签只能查询第一页数据问题 by @bestfeng1020 in #257
- feat(查询条件): 添加设备查询条件构造器 by @bestfeng1020 in #259
- Bump json from 20180130 to 20230227 by @dependabot in #264
- feat(产品): 根据指定的接入方式获取产品需要的配置定义 by @bestfeng1020 in #266
- fix(网络组件): 设置支持路由设置类型的网络组件可以被复用 by @bestfeng1020 in #273
- feat(通知订阅): 支持告警消息站内信通知 by @bestfeng1020 in #274
- fix(docker镜像版本): 修改前端镜像版本 by @bestfeng1020 in #278
- 修复通过场景联动发送阿里云短信失败问题 by @bestfeng1020 in #279
- 优化重置设备配置信息 by @zeje in #277
- feat(仪表盘): 系统监控添加历史记录支持 by @kyouji in #284
- feat(系统配置): base-path值正确性校验 by @bestfeng1020 in #286
- doc: 修复注释错误 by @zhou-hao in #297
- fix(设备管理): 添加post方式的设备属性列表查询接口 by @bestfeng1020 in #302
- fix(READEME): 修改产品文地址 by @bestfeng1020 in #307
- fix(用户管理): 解决用户管理类型不存在问题 by @bestfeng1020 in #312
- fix(关系): 优化固定值的判断 by @kyouji in #313
- fix(场景联动): 设备触发添加所属产品作为条件 by @kyouji in #314
- feat(系统配置): base-path值正确性校验 by @bestfeng1020 in #318
- build(deps): bump guava from 31.0.1-jre to 32.0.0-jre by @dependabot in #320
- Bump snakeyaml from 1.32 to 2.0 by @dependabot in #253
- fix(系统配置):解决批量保存系统配置可能导致的mysql死锁问题 by @bestfeng1020 in #324
- feat(设备): 导入设备数据,并提供日志下载 by @kyouji in #326
- fix(通知管理): 修复邮件收件方不显示自定义的发件人昵称 by @doveylovey in #327
- fix(系统配置):解决base-path校验可能失效问题 by @bestfeng1020 in #330
- build(deps): bump grpc-protobuf from 1.47.0 to 1.53.0 in /jetlinks-components/configure-component by @dependabot in #331
- fix(文档):修复文案跳转链接错误 by @bestfeng1020 in #332
- fix(场景联动):修复设备选择器条件会无限叠加问题 by @bestfeng1020 in #334
- feat(设备接入网关): 修改MQTT服务网关时,重新加载网络组件 by @kyouji in #336
- fix(通知): 修复获取企业微信部门可能错误问题 by @tancongsir in #351
- doc(基础模块): 修复文档说明错误 by @tancongsir in #359
- fix(设备管理): 优化设备导入校验 by @tancongsir in #354
- refactor(基础模块): 优化excel导入数字类型格式错误提示 by @tancongsir in #356
- perf(设备接入网关): 设备接入网关文案(中文)修改 by @tancongsir in #355
- fix(告警中心): 新增告警配置时默认启用 by @tancongsir in #358
- refactor(认证模块): 加密key校验 by @tancongsir in #364
- fix(设备管理): 修复设备导入空指针异常 by @tancongsir in #362
- fix(设备管理): 删除设备后,解绑子设备 by @tancongsir in #365
- fix(认证模块): 修复更新不存在的角色可能报错问题 by @tancongsir in #368
- feat(服务支持): 添加JetLinks服务器支持说明 by @bestfeng1020 in #369
- feat(服务支持): 添加付费服务支持联系二维码 by @bestfeng1020 in #370
- fix(服务支持): 修改服务支持的联系二维码不显示的问题 by @bestfeng1020 in #374
- feat(通知模块): 重构用户个人通知订阅 by @tancongsir in #376
- fix(服务支持): 修改服务支持的联系二维码不图片分辨率的问题 by @bestfeng1020 in #380
- fix(通知管理): 修复收信人解析为空字符串导致无法发送的问题 by @kyouji in #381
- fix: 重构场景联动,迁移指标函数 by @tancongsir in #384
- fix(产品分类): 修复初始化失败 by @goten7 in #385
- fix(系统配置): 优化base-path请求验证超时提示 by @bestfeng1020 in #383
- feat(readme): DTU接入平台的视频文档说明 by @bestfeng1020 in #386
- fix(设备模块): 解决设备tag没有返回dataType字段 by @tancongsir in #389
- fix(设备模块): 解决修改设备物模型后,设备物模型脱离产品物模型问题 by @tancongsir in #387
- fix(设备模块): 解决tag枚举类型设置无参数问题 by @tancongsir in #393
- fix(场景联动): 解决并行场景告警不触发问题 by @tancongsir in #394
- doc(告警模块): 修改有歧义的字段描述 by @PengyuDeng in #396