物联网平台二开

🌟 项目简介

一个功能完备、高可扩展的物联网平台,提供完整的设备接入、管理和数据处理解决方案。支持多种网络协议,具备强大的消息解析和实时告警能力,帮助企业快速构建物联网应用。

该项目现已纳入若依项目拓展中

演示地址

演示使用,请不要暴力测试和修改密码,谢谢。
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、规则引擎-数据转发
13、规则引擎-设备联动
14、规则引擎-定时任务
15、设备管理-地图服务

!

环境要求

JDK >= 1.8
MySQL >= 5.7
Maven >= 3.0
Node >= 12
Redis >= 3

项目地址:https://gitee.com/chinachentao/thinglinks-community

⭐ 支持项目

如果这个项目对您有帮助,请给我们一个 Star!您的支持是我们持续更新的动力。

相关推荐
侠客行03178 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪8 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚10 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
coderzxy11 小时前
mbpoll 交叉编译
物联网
风流倜傥唐伯虎11 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码11 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚11 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂11 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
chian-ocean11 小时前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络
fuquxiaoguang11 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析