Files
chill_notes/AI工程/JetLinks物联网平台深度研究.md
2026-06-22 11:30:51 +08:00

161 lines
4.8 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# JetLinks 物联网平台深度研究
> 研究日期2026-06-12
> 来源GitHub 官方仓库 + 官网
## 基本信息
| 项目 | 内容 |
|---|---|
| **GitHub** | https://github.com/jetlinks/jetlinks-community |
| **Stars** | 6.5k ⭐ |
| **Forks** | 1.9k |
| **当前版本** | 2.3(社区版)/ 2.11(分支) |
| **公司** | 重庆,深圳设研发中心 |
| **许可证** | Apache 2.0 |
| **官网** | https://www.jetlinks.cn |
| **文档** | 语雀托管 |
## 技术架构
### 核心技术栈
- **Java 8+**, Spring Boot 2.7.x
- **Spring WebFlux** — 全响应式 Web非传统 Servlet
- **R2DBC** — 响应式关系型数据库驱动
- **Reactor** — 响应式编程框架
- **Netty + Vert.x** — 高性能网络编程
- **PostgreSQL** — 业务数据存储
- **ElasticSearch / TDengine** — 时序数据存储
### 模块结构
```
jetlinks-community
├── jetlinks-components/ # 核心组件层
│ ├── network-component # 网络MQTT/TCP/UDP/CoAP/HTTP
│ ├── protocol-component # 协议适配
│ ├── gateway-component # 消息网关/设备接入
│ ├── rule-engine-component # 规则引擎
│ ├── things-component # 物模型
│ ├── elasticsearch-component # ES 时序存储
│ ├── tdengine-component # TDengine 集成
│ └── notify-component # 通知(短信/邮件)
├── jetlinks-manager/ # 业务管理层
│ ├── authentication-manager # 用户/权限
│ ├── device-manager # 设备管理
│ ├── network-manager # 网络组件管理
│ ├── rule-engine-manager # 规则引擎管理
│ ├── visualization-manager # 数据可视化
│ └── notify-manager # 通知管理
└── simulator/ # 设备模拟器
```
## 核心能力
### 协议支持
| 协议 | 支持 | 水利适用 |
|---|---|---|
| MQTT | ✅ | ⭐⭐⭐⭐⭐ |
| TCP | ✅ | ⭐⭐⭐⭐ |
| UDP | ✅ | ⭐⭐⭐ |
| CoAP | ✅ | ⭐⭐⭐ |
| HTTP | ✅ | ⭐⭐⭐ |
| TLS/DTLS | ✅ | ⭐⭐⭐⭐ |
| Modbus | ⚠️ 需自研 | 需扩展 |
| SL651水文规约 | ❌ 无 | **核心缺口** |
### 物模型管理
- 产品(Product) → 物模型(ThingModel)
- 属性(Properties): 水位、流量、水温、电量
- 功能(Functions): 开闸、关闸、重启
- 事件(Events): 超水位告警、断电告警
- 设备(Device) → 绑定产品 → 继承物模型
- 支持设备影子(离线缓存指令)
### 规则引擎
- 支持多种规则模型(阈值告警、场景联动、自定义)
- **ReactorQL**:用 SQL 描述流式数据处理
- 告警 → 通知(短信/邮件/Webhook
- 联动:水位超限 → 自动开闸
### 数据存储方案
- **PostgreSQL**:设备信息、用户权限、配置等业务数据
- **ElasticSearch**:属性时序数据、设备日志
- **TDengine**(可选):高性能时序写入
## 部署
### Docker 一键部署
```bash
cd docker/run-all
docker-compose up -d
# 访问 http://localhost:9000
```
### 依赖组件
- PostgreSQL
- ElasticSearch或 TDengine
- Redis
- MQTT Broker内置
### 硬件要求
- 最低2C4G开发/测试)
- 生产4C8G 起步,数据量大建议 8C16G
## 社区版 vs 企业版
| 功能 | 社区版 | 企业版 |
|---|---|---|
| 设备接入+管理 | ✅ | ✅ |
| 物模型 | ✅ | ✅ |
| 协议适配 | ✅ | ✅ |
| 规则引擎 | ✅ | ✅ 更强 |
| 数据可视化 | ✅ 基础 | ✅ 高级大屏 |
| 多租户 | ⚠️ 基础 | ✅ 完整 |
| AI 视觉 | ❌ | ✅ |
| 边缘网关 | ❌ | ✅ |
| 源码 | ✅ 全开放 | 需购买 |
## 水利场景评估
### 优势
1. Java 生态,水利行业 Java 开发者多
2. 响应式架构,高并发性能好
3. 协议扩展灵活SL651 可自研接入
4. 中文文档完善(语雀 + QQ 群)
5. 模块化设计,按需裁剪
6. 国产项目,等保合规
### 注意事项
1. **SL651 需自研**:无现成实现
2. **响应式学习曲线**WebFlux + Reactor 有门槛
3. **社区版文档滞后**
4. **GIS 能力弱**:需自己集成地图
5. **前端 Vue 版本较旧**
### 落地路径建议
1. Docker 部署社区版,跑通 MQTT demo
2. 开发 SL651 协议包
3. 对接 TDengine 做时序存储
4. 前端集成 GIS 地图(天地图/高德)
5. 开发水利业务大屏
预估2-3 人团队MVP 约 2-3 个月
## 竞品对比
| 维度 | JetLinks | ThingsBoard | 自研+TDengine |
|---|---|---|---|
| 语言 | Java | Java | 自选 |
| 学习成本 | 中 | 中 | 高 |
| 中文文档 | ⭐⭐⭐⭐⭐ | ⭐⭐ | 自己写 |
| 协议扩展 | 好 | 好 | 完全自由 |
| 二次开发 | 友好 | 一般 | 完全自由 |
| 部署复杂度 | 中 | 中 | 高 |
| 社区规模 | 中(国内) | 大(全球) | 无 |