# Thinglinks-community开源物联网平台
**Repository Path**: Lockers/thinglinks-community
## Basic Information
- **Project Name**: Thinglinks-community开源物联网平台
- **Description**: 一个JAVA开发的功能完备、高可扩展的开源物联网平台,用最少的代码接入设备,集成TCP、MQTT、UDP、CoAP、HTTP、WebSocket、MODBUS等多种网络组件,提供完整的设备接入、管理和数据处理解决方案。具备强大的消息解析、数据转发、规则编排和实时告警能力,帮助企业快速构建物联网应用。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: http://47.109.145.72:28082/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 36
- **Created**: 2026-03-06
- **Last Updated**: 2026-03-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
物联网平台 - Thinglinks-iot
## 🌟 项目简介
一个功能完备、高可扩展的物联网平台,用最少的代码接入设备,基于`Ruoyi-vue`框架,支持`Mysql`和`pgsql`双版本,集成mybatis-plus,集成TCP、MQTT、UDP、CoAP、HTTP、WebSocket、MODBUS等多种网络组件,提供完整的设备接入、管理和数据处理解决方案。具备强大的消息解析、数据转发、规则编排和实时告警能力,帮助企业快速构建物联网应用。
#### 该仓库代码为社区版,将会不定时更新,企业版可通过`文档末尾`联系
## 演示地址
##### 演示使用,请不要暴力测试和修改密码,谢谢。
###### http://47.109.145.72:28082/
###### 账号:admin 密码:admin123
### 使用中如果遇到问题或需要改进的地方,可以加入文档末尾QQ群在群里提问,同时也感谢您宝贵的建议。
## 技术文档
### [官方技术文档](http://47.109.145.72:18000/)
## 最新协议包代码地址
### [协议包代码地址](https://gitee.com/chinachentao/protocol-code)
## 🚀 核心特性
### 1. 设备全生命周期管理
- **状态监控** - 实时设备在线状态跟踪,多种设备在离线判断方式可配置,断开连接/网关管理/心跳机制
- **数据清理** - 设备可单独配置消息保存时间,到期自动删除
- **定位管理** - 设备可配置经纬度坐标以及中文位置,地图上一览设备在离线情况。
- **设备分组** - 可对产品和设备单独分组,更方便设备类别的管理。
### 2. 多协议接入支持
- **TCP** - 稳定可靠的长连接通信
- **MQTT** - 轻量级的发布订阅模式(内置高性能mqtt_broker,可一键开启mqtt服务)
- **UDP** - 高效的低延迟数据传输
- **CoAP** - 专为受限设备设计的协议
- **HTTP** - 标准的RESTful接口
- **WebSocket** - 实时双向通信
- **MODBUS** - 工业物联网设备协议
### 3. 智能消息解析
- **协议适配** - 多种数据格式解析(JSON、二进制、自定义)
- **数据转换** - 灵活的数据格式转换和归一化
- **设备自动注册** - 设备上报消息即可自动注册,无需一个设备一个设备手动添加。
- **规则引擎** - 可视化配置数据处理规则,不再需要修改代码
- **设备联动** - 可视化配置多设备之间告警执行动作
- **数据转发** - 可配置数据和告警转发到各种消息队列,HTTP接口
- **定时执行** - 可视化配置设备自动执行各种指令,动态开关。
- **数据存储** - 支持mysql/postgresql两种数据库,无需改一行代码随意切换。
### 4. 实时告警系统
- **在离线告警** - 多种设备在离线判断方式可配置,断开连接/网关管理/心跳机制都可触发告警。
- **阈值告警** - 可配置的数据阈值监控
- **规则引擎** - 灵活的告警规则定义
- **设备联动** - 灵活的设备联动配置,如A设备触发告警、执行B设备指令
- **多通道通知(开发中)** - 邮件、短信、Webhook等多种通知方式
- **告警分级** - 多级别告警管理
### 5. 视频中心
- **海康平台** - 可配置多个海康平台地址,一键同步所有监控设备。
- **自建平台** - 自己部署本地视频服务,可配置多个自建平台地址,接入GB28181协议,一键同步所有监控设备。
### 6. 远程功能下发
- **指令管理** - 统一的指令下发接口
- **自动下发** - 触发告警后自动下发相应指令
- **历史记录** - 手动\告警触发指令执行记录
### 7、协议开发
#### 协议包在 [协议包代码地址](https://gitee.com/chinachentao/protocol-code)
#### 按照以下方法写完解析代码之后打包成jar包上传到平台
##### 开发协议只需要实现对应网络协议的decode和encode方法即可
decode对应设备上行消息协议
encode对应设备指令下发解析
##### 以mqtt-client为例
1、实现MqttClientProtocol的decode方法,并把解析后的消息组装到DecodeMessage类并返回。
2、实现MqttClientProtocol的encode方法,并把解析后的消息组装到EncodeMessage类并返回。
3、打包成jar包上传到平台,并选择对应的协议分类即可。
#### 注意:更新或者新增协议无需重启项目,上传即生效,平台启动之后,后续任何操作都无需再重启平台。
下面是协议中重要的类截图
MqttClientProtocol接口:

MqttClientDeal实现类:

DecodeMessage解析后的消息实体:

EncodeMessage解析后的指令下发实体:

## 测试方式
### 以MQTT_BROKER组件为例:
#### 1、线上已经开启一个端口,连接即可

#### 2、发送以下消息到任意topic
{
"humidity": 45.7,
"inTemperature": 22.5,
"outTemperature": 31,
"voice": 65.2,
"windSpeed": 13.8,
"deviceSn":"mqtt_001"
}

#### 3、查看对应SN设备数据,消息已经上来

### Websocket方式也是如此:
#### 1、线上已经开启一个ws连接地址: ws://47.109.145.72:10883/test1
#### 2、发送消息
{
"humidity": 45.7,
"inTemperature": 22.5,
"outTemperature": 31,
"voice": 65.2,
"windSpeed": 12.8,
"deviceSn":"WS_DEVICE_001"
}
#### 3、查看WS_DEVICE_001设备数据

#### 4、在历史数据按钮里面能够看到上下线和上报的历史数据

### 其他网络组件也是如此,由于线上环境这两种协议比较方便测试,只添加了这两种数据。
## 🏗️ 系统架构

## 🛠️ 快速开始
#### 1、首页

#### 2、产品管理

#### 3、告警配置

#### 4、实时数据

#### 5、指令下发

#### 6、物模型

#### 7、告警记录

#### 8、其他配置

#### 9、网络组件

#### 10、组件调试

#### 11、协议管理

#### 12、规则引擎-数据转发

#### 13、规则引擎-设备联动

#### 14、规则引擎-定时下发指令

#### 15、设备管理-地图服务

### 环境要求
###### JDK >= 1.8
###### MySQL >= 5.7
###### Maven >= 3.0
###### Node >= 12
###### Redis >= 3
## 📊 社区版 vs 企业版
| 功能特性 | 社区版 | 企业版 |
|--------------------|------------|------------|
| **设备接入** | | |
| 最大设备数量 | 无限制 | 无限制 |
| MQTT_CLIENT | ✅ | ✅ |
| TCP | ✅ | ✅ |
| MQTT_BROKER | ❌ | ✅ |
| HTTP | ❌ | ✅ |
| COAP | ❌ | ✅ |
| UDP | ❌ | ✅ |
| WEBSOCKET | ❌ | ✅ |
| MODBUS | ❌ | ✅ |
| **数据处理** | | |
| 消息解析 | ✅ | ✅ |
| 规则引擎 | ❌ | ✅可视化规则引擎 |
| 设备联动 | ❌ | ✅可视化配置设备联动 |
| **系统功能** | | |
| 实时数据监控 | ✅ | ✅ |
| 设备状态监控方式 | ✅网关、长连接、心跳 | ✅网关、长连接、心跳 |
| 指令下发 | ✅ | ✅ |
| 解析上报下发指令 | ❌ | ✅ |
| 告警配置 | ✅ | ✅ |
| 告警自动执行指令 | ❌ | ✅ |
| 定时执行指令 | ❌ | ✅可视化配置 |
| 地图展示 | ❌ | ✅ |
| 设备自注册 | ❌ | ✅ |
| 设备分组 | ❌ | ✅ |
| **管理功能** | | |
| 若依基础框架全功能 | ✅ | ✅ |
| mybatis-plus代码生成支持 | ✅ | ✅ |
| **服务支持** | | |
| 技术支持 | 社区支持 | 专属技术支持 |
| 更新保障 | ✅ | ✅ |
| 定制开发 | ❌ | ✅ (按需求收费) |
| 协议开发 | ✅ (按需求收费) | ✅ (按需求收费) |
### 安装部署
请参考若依框架安装教程 传送门:https://www.ruoyi.vip/
### 特别鸣谢
本项目基础框架采用 若依框架 https://www.ruoyi.vip/
### 技术交流QQ群
#### 群号:734515931

### 商务合作请联系:邮箱 1738450125@qq.com 或者 加入QQ群联系群主
### ⭐ 支持项目
如果这个项目对您有帮助,请给我们一个 Star!您的支持是我们持续更新的动力。