news 2026/1/10 12:02:55

支持Modbus的物联网平台

作者头像

张小明

前端开发工程师

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

物联网平台 - 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/1/7 10:19:38

AI如何简化Keycloak集成?5步实现自动化身份验证

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于React的前端应用,集成Keycloak进行用户认证。要求:1) 使用Keycloak JavaScript适配器 2) 实现登录/注销功能 3) 显示用户基本信息 4) 包含权限…

作者头像 李华
网站建设 2026/1/7 10:17:39

项目应用:通过对照表精准匹配实际元件封装

一次做对:用“对照表”打通Proteus设计与实物落地的最后一公里你有没有遇到过这样的情况?电路仿真跑得飞起,波形完美无瑕,信心满满地把PCB送去打样、贴片——结果板子回来一通电,芯片发烫、信号全无。拆下元件一看&…

作者头像 李华
网站建设 2026/1/8 21:10:22

面向工业应用的STLink驱动安装全过程记录示例

工业现场踩过的坑:一次搞定 ST-Link 驱动安装的实战全记录 最近在给产线部署一批新的 STM32 测试工装时,又遇到了那个“老朋友”——ST-LINK 插上电脑后设备管理器里显示“未知设备”。不是没装驱动,而是明明之前能用的环境,换了一…

作者头像 李华
网站建设 2026/1/7 10:14:11

5分钟用AIDL搭建跨进程通信原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个可立即运行的AIDL原型:1. 实现简单的消息传递接口;2. 包含服务端和客户端的最小实现;3. 支持即时消息发送/接收;4. 提供一键…

作者头像 李华
网站建设 2026/1/7 10:13:47

AI助力ERA5气象数据自动化下载与处理

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Python脚本,使用CDS API自动下载ERA5气象数据,并进行初步的数据处理(如格式转换、缺失值填充)。脚本应包含用户输入参数&am…

作者头像 李华