news 2026/3/29 13:53:31

多协议支持的物联网平台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多协议支持的物联网平台

物联网平台 - Thinglinks-iot

## 🌟 项目简介

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

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

演示地址

代码地址:https://gitee.com/chinachentao/thinglinks-community
演示使用,请不要暴力测试和修改密码,谢谢。
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!您的支持是我们持续更新的动力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 8:53:47

【Dify性能突围战】:从资源占用到执行效率,全面优化触发器运行表现

第一章:Dify触发器性能优化概述在构建基于事件驱动架构的应用系统时,Dify触发器作为核心组件之一,承担着响应外部事件、激活工作流的关键职责。随着业务复杂度上升和事件频率增长,触发器的性能表现直接影响系统的响应速度与资源利…

作者头像 李华
网站建设 2026/3/14 23:39:58

【DevOps进阶必备技能】:Docker Rollout部署命令全曝光,限时详解

第一章:Docker Rollout部署的核心概念解析Docker Rollout 是一种基于容器化技术实现应用渐进式发布的策略,其核心在于通过控制容器副本的更新节奏,实现服务的平滑升级与回滚。该机制广泛应用于微服务架构中,确保系统在发布过程中保…

作者头像 李华
网站建设 2026/3/29 3:45:53

从入门到精通:Docker HEALTHCHECK指令深度解析,避免服务假死

第一章:Docker HEALTHCHECK指令概述Docker 的 HEALTHCHECK 指令用于定义容器的健康状态检查机制,使系统能够自动判断容器内应用是否正常运行。通过该指令,Docker 会定期执行指定命令,并根据其退出状态码更新容器的健康状态&#x…

作者头像 李华
网站建设 2026/3/27 23:36:30

还在手动部署?Docker Rollout自动化发布,这4条命令你必须掌握

第一章:Docker Rollout自动化发布的核心价值在现代软件交付流程中,Docker Rollout 自动化发布已成为提升部署效率与系统稳定性的关键技术。通过将应用及其依赖打包为标准化容器镜像,并结合自动化发布策略,团队能够实现快速、可重复…

作者头像 李华
网站建设 2026/3/25 9:38:22

Jupyter环境下运行1键推理.sh,轻松启动VibeThinker服务

Jupyter环境下运行1键推理.sh,轻松启动VibeThinker服务 在算法竞赛圈子里,一个越来越真实的问题摆在面前:如何用有限的算力资源,跑得动真正能解题的AI模型?不是聊天、不搞通识问答,而是实打实地推导数学公式…

作者头像 李华