物联网平台 - Thinglinks-iot
🌟 项目简介
一个功能完备、高可扩展的物联网平台,提供完整的设备接入、管理和数据处理解决方案。支持多种网络协议,具备强大的消息解析和实时告警能力,帮助企业快速构建物联网应用。
该项目现已纳入若依项目拓展中

演示地址
演示使用,请不要暴力测试和修改密码,谢谢。
http://47.109.145.72:28082/
账号:admin 密码:admin123
测试方式
MQTT方式:
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. 多协议接入支持
- TCP - 稳定可靠的长连接通信
- MQTT - 轻量级的发布订阅模式
- UDP - 高效的低延迟数据传输
- CoAP - 专为受限设备设计的协议
- HTTP - 标准的RESTful接口
- WebSocket - 实时双向通信
- MODBUS(开发中) - 工业物联网设备协议
3. 智能消息解析
- 协议适配 - 多种数据格式解析(JSON、二进制、自定义)
- 数据转换 - 灵活的数据格式转换和归一化
- 规则引擎 - 可配置的数据处理规则
- 数据转发 - 可配置数据转发到各种消息队列,HTTP接口
4. 实时告警系统
- 阈值告警 - 可配置的数据阈值监控
- 规则引擎 - 灵活的告警规则定义
- 设备联动 - 灵活的设备联动配置,如A设备触发告警、执行B设备指令
- 多通道通知(开发中) - 邮件、短信、Webhook等多种通知方式
- 告警分级 - 多级别告警管理
5. 远程功能下发
- 指令管理 - 统一的指令下发接口
- 自动下发 - 触发告警后自动下发相应指令
- 历史记录 - 手动\告警触发指令执行记录
6、协议开发
协议包在代码同级目录 protocol.zip
开发协议只需要实现对应网络协议的decode和encode方法即可
decode对应设备上行消息协议
encode对应设备指令下发解析
以mqtt-client为例
1、实现MqttClientProtocol的decode方法,并把解析后的消息组装到DecodeMessage类并返回。
2、实现MqttClientProtocol的encode方法,并把解析后的消息组装到EncodeMessage类并返回。
3、打包成jar包上传到平台,并选择对应的协议分类即可。
注意:更新或者新增协议无需重启项目,上传即生效,平台启动之后,后续任何操作都无需再重启平台。
下面是协议中重要的类截图
MqttClientProtocol接口:

MqttClientDeal实现类:

DecodeMessage解析后的消息实体:

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

🏗️ 系统架构

🛠️ 快速开始
1、首页

2、产品管理

3、告警配置

4、实时数据

5、指令下发

6、物模型

7、告警记录

8、其他配置

9、网络组件

10、组件调试

11、协议管理

12、规则引擎-数据转发

12、规则引擎-设备联动

环境要求
JDK >= 1.8
MySQL >= 5.7
Maven >= 3.0
Node >= 12
Redis >= 3
项目地址:https://gitee.com/chinachentao/thinglinks-community
⭐ 支持项目
如果这个项目对您有帮助,请给我们一个 Star!您的支持是我们持续更新的动力。